006.day03

1.设置代码补全功能

2.设置反编译器

  1)Help——Eclipse Marketplace

 

  2)输入 Decompiler 搜索并安装此插件

  4)根据提示无脑下一步,安装好,重启后(如果还是无法编译,需要把默认打开class文件的方式修改一下

3.装箱拆箱
 int与integer区别
  1、Integer是int的包装类,int则是java的一种基本数据类型
  2、Integer变量必须实例化后才能使用,而int变量不需要
  3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值
  4、Integer的默认值是null,int的默认值是0
 延伸
  1)初始值 int是0而integer是null  
  2)int a = 2;与integer b = 2;//true 
  3)int a = 2;integer a = new integer(2);//true Integer变量和int变量比较时,只要两个变量的值是相等的,则结果为true(因为包装类Integer和基本数据类型int比较时,java会自动拆包装为int,然后进行比较,实际上就变为两个int变量的比较)
  4)integer a = new integer(2);与integer b = new integer(2);//false 由于Integer变量实际上是对Integer对象的引用,所以两个通过new生成的Integer变量永远是不相等的(因为new生成的是两个对象,其内存地址不同)。
  5)integer a = 2;integer b = 2;//true
     integer a = 150;integer b = 150;//true 对于两个非new生成的Integer对象,进行比较时,如果两个变量的值在区间-128到127之间,则比较结果为true,如果两个变量的值不在此区间,则比较结果为false(java在编译的时候 Integer a = 2; 被翻译成-> Integer a = Integer.valueOf(100);如果在-128~127范围内则属于java常量池中的对象,如果值相同则指向同一个地址,不同则不同的地址;如果超过范围则new一个新对象)
  6)integer b = 2;integer a = new integer(2);//false 非new生成的Integer变量和new Integer()生成的变量比较时,结果为false。(因为非new生成的Integer变量指向的是java常量池中的对象,而new Integer()生成的变量指向堆中新建的对象,两者在内存中的地址不同)

扫描二维码关注公众号,回复: 2187780 查看本文章

4.递归求和

  斐波那契数列:1 1 2 3 5 8 13 22 除了第一.二项每一项都等于前两项之和

    public static int feiBo(int a){

      if(a == 1 || a == 2){//前两项都等于1

        return 1;

      }

      return feiBo(a - 1) + feiBo(a - 2);

    }

  阶乘

  public static int ch(int a) {
      if (a == 1) {
         return 1;
       }
        return a * ch(a - 1);
      }

5.方法重载

  1.参数个数不同,参数类型不同,返回值类型可以不同
       2.方法的重载与多态无关

6.写代码要考虑系统性

  可用性,完备性(用选项限定),容错性(异常处理机制),复用性(方法封装),扩展性(方法封装)

7.小乌龟

  

猜你喜欢

转载自www.cnblogs.com/yokii/p/9319730.html
006