第三章 控制程序流程
3.1 别名问题
例:Apple apple1=new Apple();
Apple apple2=apple1;
apple1.sum=1;
则apple2.sum==1成立,因为apple1和apple2指向同一个内存对象
3.2 比较两个引用是否相等
==要求两个引用内容相同,且指向相同
equal要求两个引用内容相同
3.2 短路问题
一旦逻辑表达式的值确定,则后面的运算可以不用做从而提升性能
例:test(0)&&test(1)&&test(2),倘若test(0)恒为true,test(1)恒为false,则test(3)可以不用运算从而提升性能
3.3 字符串操作符+
例:System.out.println(x+s); //int x;String s则编译器会自动将x转换成String类型
3.4 类型转换操作符()
java编译器会自动将小的数据类型转化为大的数据类型;当大类型强制转换为小类型时,数据可能会丢失
3.5 多路选择器
例:switch(表达式){
case value1:sentences 1;break;
case value1:sentences 1;break;
case value1:sentences 1;break;
case value1:sentences 1;break;
default:sentence n;
}
例:Apple apple1=new Apple();
Apple apple2=apple1;
apple1.sum=1;
则apple2.sum==1成立,因为apple1和apple2指向同一个内存对象
3.2 比较两个引用是否相等
==要求两个引用内容相同,且指向相同
equal要求两个引用内容相同
3.2 短路问题
一旦逻辑表达式的值确定,则后面的运算可以不用做从而提升性能
例:test(0)&&test(1)&&test(2),倘若test(0)恒为true,test(1)恒为false,则test(3)可以不用运算从而提升性能
3.3 字符串操作符+
例:System.out.println(x+s); //int x;String s则编译器会自动将x转换成String类型
3.4 类型转换操作符()
java编译器会自动将小的数据类型转化为大的数据类型;当大类型强制转换为小类型时,数据可能会丢失
3.5 多路选择器
例:switch(表达式){
case value1:sentences 1;break;
case value1:sentences 1;break;
case value1:sentences 1;break;
case value1:sentences 1;break;
default:sentence n;
}