学习第三章的笔记如下:

三.第三章 控制程序流程

        讲一下自己的一些体会理解:

(1)优先级:我们只要记住加括号就好了,其他复杂的优先级记不住,而且不加

括号写出来的代码很难理解,复杂,容易出错。

A=X+Y-2/2+Z;

A=X+(Y-2)/(2+Z);

(2)赋值:对一个对象进行操作的时候,我们操做的是它的句柄,如果我们把这个句

柄赋值给另一个句柄,其实就是把把句柄复制一遍,他们操纵的对象是一样的。同

个对象有两个句柄在操纵,说明我们可以起别名。在方法调用或赋值中会涉及到别

名的处理。

(3)在检查对象是否相等的时候用equals(),自己建的类就要重写equals(),

否则默认比较句柄是否相等。

(4)在java中不能把正数当作是true,负数当作是false,可以通过比较运算符得

到boolean值。

(5)在处理一个逻辑表达式的时候,当前面判断的结果能决定整个逻辑表达式的值

时,后面的判断就不会执行,这样能提高系统的性能。

if((1>0)||(1<0)||(1==0))//先判断1大于0为true,整个逻辑表达式的值就为true,不用进行后面的判断

(6)移位运算符:“有符号“情况下,当进行右移位的时候,如果值为正,则在高

位插入0,若值为负,则插入1。还有”无符号“右移位运算符”>>>“无论正负,

高位都插入0。

(7)逗号运算符:在for循环里面用,在控制表达式初始化和步进控制部分,可以使

用逗号分隔语句,这样的话这些语句就可以独立执行。

for(int i=0,j=1;i<10;i++,j++){}



(8)1.393e-47f 表示的是 1.393*10的-47次方

(9)对主类型在进行任何算术或按位运算,只要比 int ,都会被转换成int,此时再把

运算结果赋值给较小的类型,就需要 使用”造型“。从较大的类型转化为小的类型时,

因为会丢失数据,所以必须用“造型”来提醒我们会丢失数据。 java强大就强大在这

里,能主动帮你减少编码出错。

(10)java中没有sizeof,size()的应用是“移植”。java 里面的主类型大小固定

不变,所以说java是与平台无关的语言。char 的大小为两个字节,因为java使用

unicode编码。

(11)无限循环语句有两种表达方式:1.while(true){}      2.for(;;){}

(12)标签只能在循环语句之前使用,配合break,continue 使用,可以跳出内

循环到外循环。例如:

label1:
外部循环{
内部循环{
//...
break; //1
//...
continue; //2
//...
continue label1; //3
//...
break label1; //4
}
}

(12)开关(switch),case的语句块没有加上break,程序会继续判断后面的case

可以利用这个特点进行分类处理。