《Java核心技术》复习笔记 - 第三章 Java基本的程序设计结构

时间:2022-12-28 14:01:33
 

《Java核心技术》复习笔记-第三章 Java基本的程序设计结构

1. 源代码的文件名必须与共有类的名字相同,并用.java作为扩展名。

2. Java是一种强类型语言,java中一共有八种基本类型(primitive type),4种整形(byte,short,int,long),2种浮点型(float,double),1种用于表示Unicode编码的字符单元的字符类型char和用于表示真值的boolean类型。四种整形所占字节分别为1byte,2byte,4byte,8byte,在java中,整形的范围与运行java代码的机器无关,在C/C++中,int表示的整形与目标机器相关。float占4byte,double占8byte。boolean类型只有两个值:true和false,并且整型值和布尔值之间不能进行相互转换。注意java中没有任何无符号类型(unsigned type)。

3. Unicode字符早已超65536个,因而16bit的char类型不能满足描述所有Unicode字符的需求了。代码点code point是指一个编码表中的某个字符对应的代码值。在Unicode标准中,代码点采用十六进制书写,并加上前缀U+,例如U+0041就是字母A的代码点。Unicode代码点可以分为17个代码级别code plane。第一个代码级别称为基本的多语言级别,代码点从U+0000到U+FFFF,其中包括了经典的Unicode代码;其余的16个附加级别,代码点从U+10000到U+10FFFF,其中包括了一些辅助字符。UTF-16编码采用不同长度的编码表示所有的Unicode代码点,在基本的多语言级别中,每个字符用16位表示,通常被称为代码单元code unit;而辅助字符字符采用一对连续的代码单元进行编码。在Java中,char类型用UTF-16编码描述一个代码单元。

4. Java中声明一个变量后,必须用赋值语句对变量进行显示初始化,使用未初始化的变量,编译器将报错。Java中并不区分变量的声明和定义,final关键字用来声明常量。

5. >>>为逻辑右移,即用0填充高位,>>为算术右移,用符号位填充高位。没有<<<运算。

6. Java中的字符串为不可变字符串,原始字符串放置在堆中,所有引用对象都放置在堆中。不可变字符串的优点是,编译器可以让字符串共享。注意字符串拼接(+)的效率问题。注意,只有字符串常量是共享的,而+或substring等操作产生的结果并不是共享的,对于字符串的比较请使用equal()方法,不要使用==。

7. 输入Scanner in = new Scanner(System.in);输出用System.out

8. Swith语句中case标签必须是整数或枚举常量。

9. Java中可以使用大数值类,BigDecimal和BigInteger.

10. 数组为引用类型,int[] a , int a[] 都是声明一个数组引用变量,必须用初始化。如 a = new int[100], 创建数组对象同时初始化int [] a = {1,2,3};在java中允许数组长度为0,new int[0],数组长度为0与null不同。数组拷贝使用Arrays.copyOf(type[] a, int length),返回副本对象的引用。可以使用for(type a: type[])对数组进行遍历。

11. Java中程序名并没有存储在命令行参数args数组中,如Message -h hello word中agrs[0]为-h。

12. Java中没有多维数组,只有一维数组,多维数组被解释为“数组的数组”,并且多维数组可以是不规则的,即每个一维数组大小可以不同。