《java JDK7 学习笔记》之类和对象

1、在java中,要产生对象必须先定义类,类是对象的设计图,对象是类的实例。类定义时使用class关键词,建立实例对象要使用new关键词。以类名声明的变量,称为参考名称、参考变量或直接叫参考。

2、想在建立对象时想要一并进行某个初始流程,像是指定数据成员值,可以定义构造函数。构造函数是与类名称同名而且没有返回值的方法。参数名称与对象数据成员同名时,可以在数据成员前使用this关键字来区别。

3、java.util.Scanner的nextInt()方法会在标准输入中查找是否有输入的字符,以空格或换行分隔,有的话会尝试将之剖析为int类型;其他还有nextByte()、nextShort()、nextLong()、nextFloat()、nextDouble()、nextBoolean()等方法。如果直接去上一个字符串(以空格或换行分隔),则使用next();如果想取得用户输入的整行文字,则使用nextLine()(以换行分隔)。

4、java包括其他程序语言遵守IEEE 754浮点数运算规范,使用分数与指数来表示浮点数。如果要求精确度,那就要小心使用浮点数,而且别用==直接比较浮点数的运算结果。可以使用java.math.BigDecimal类得到想要的精确度。

5、=是用在指定参考名称参考某个对象,而==是用在比较两个参考名称是否参考的是同一对象。

6、想要像操作对象一样来操作基本类型,可以使用Byte、Short、Character、Integer、Long、Float、Double等类来打包基本类型,这些类就是所谓的打包器(基本类型的包装类)。除了使用new创建基本类型打包器之外,从J2SE 5.0之后提供了自动装箱功能。自动装箱功能与自动拆箱功能实际上是编译程序提供了方便。

7、数组在java中就是对象,索引从0开始,存取超出索引范围,就会抛出ArrayIndexOutOfBoundsException错误。自JDK5之后,有了更方便的增强式for循环,可用于循环取得数组元素。使用new建立数组后,每个索引元素会有默认值,基本类型的默认值为0,引用类型(类类型)的默认值为null。在java中数组一旦建立,长度就固定了。

8、无论是System.arraycopy()还是Array.copyOf()用在类类型声明的数组时,都是执行浅层复制,也就是说复制的都是对象的引用。

9、字符串的本质是打包字符数组的对象,是java.lang.String类的实例。在启动JVM并制定执行类时,可以一并制定命令行自变量,会收集为String数组,有main()中的args参考。

10、以“”包括的字符串,只要内容相同(序列、大小写相同),无论是程序中出现几次,JVM都只会创建一个String实例,并在字符串池中维护。如果想要比较字符串的实际内容是否相同,不要使用==,要使用equals()。

11、字符串对象一旦建立,就无法更改对象中的任何内容,对象上没有任何方法可以更改字符串的内容。使用+连接字符会生成新的String实例,不要将+用在重复性的连接场合。

12、使用javac指令编译程序时,如果没有指定-encoding选项时,会使用操作系统默认的字符编码。

 

课后练习题:

1、int x=100;  int  y=100;

    Integer wx=x; Integer wy=y;

    System.out.println(x == y);

    System.out.println(wx == wy);

  在JDK5以上的环境编译与执行,显示结果为:true,true。

 

2、 int x=200;  int  y=200;

     Integer wx=x; Integer wy=y;

     System.out.println(x == wx);

     System.out.println(y == wy);

   在JDK5以上的环境编译与执行,显示结果为:true,true。

 

3、int x=300;  int  y=300;

     Integer wx=x; Integer wy=y;

     System.out.println(wx.equals(x));

     System.out.println(wy.equals(y));

   在JDK5以上的环境编译与执行,显示结果为:true,true。

 

4、int[] arr1 = {1,2,3};

    int[] arr2 = arr1;

    arr2[1] = 20;

    System.out.println(arr1[1]);

    输出结果为 20;

 

5、int[] arr1 = {1,2,3};

    int[] arr2 = new int[arr1.length];

    arr2 = arr1;

    for(int value : arr2){

         System.out.printf(“%d”,value);

    }

    执行后输出1 2 3。

 

6、String[] Strs = new String[5];

    以上语句会产生0个String实例。

 

7、String[] strs = {“java”,”java”,”java”,”java”,”java”};

    以上语句会产生1个String实例。

 

8、String[][] strs = new String[3][2];

    以上语句会产生0个String实例。

 

9、String[][] strs = {

           {“java”,”java”,”java”},

           {“java”,”java”,”java”,”java”}

   };

   System.out.println(strs.length);

   System.out.println(strs[0].length);

   System.out.println(strs[1].length);

   执行输出后会显示2 3 4。

 

10、String[][] strs = {

           {“java”,”java”,”java”},

           {“java”,”java”,”java”,”java”}

      };

     for(String[] row : strs ){

           for(String str : row){

                ……

           }

     }

posted @ 2016-12-19 17:09  王鸿云  阅读(319)  评论(0编辑  收藏  举报