java之旅(5)基本概念(下)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

测试对象的相等性:虽然==和!=能用于所有对象,但得出的结果却未必是你想要的。除了原始数据类型外,

==和!=用在两个对象间都比较的是两个对象的reference,而我们一般要比较的却是对象的内容,我们可以

使用equals()方法,但该方法在object基类缺省行为还是比较对象的reference,所以在比较自己创建的类的对象

时,应该自己实现该方法。好在绝大多数java类库的类都实现了该方法,我们只管用就好了。

短接,位运算符,移位运算符,三元运算符( ? :),逗号运算符(java里只有在FOR循环里有应用),string

的+运算符(自动转换后相加)。

常见的使用运算符中的错误:while( x = y) {//do something},哦,在c++里会不小心犯的错误,java里却不会

出现,因为java里的boolean 是false和true,而不是0 和非0;

类型转换:宽位值转换为窄位值时,java要求你进行明确的显示转换否则产生异常,因此避免了意外出错。

java没有sizeof(),曾经在《c++高质量编程》里被大段讲过的东西终于一下子被咔喳了,真爽。

控制语句:if else; for ; while ; do while; for (只有for语句才有在“控制表达式”里定义变量的能力,千万别在

其他选择语句或循环语句里这么做。虽然可以定义变量,但也只能是同一个类型而已); break (跳出当前循环)

; continue(立即进入下一轮循环); while(true)==for(;;) ; switch case;

goto后来者:C++程序员在编程时因为担心goto的副作用,都很谨慎的使用它,或者干脆不用,但有时它也会有

很好的效果在适当的地方,(不过我至今还没用到)java终于摒弃了这把双刃剑,同时提供了另一个类似的功能

的东东,以便能在适当的地方起些适当的作用。label.

///////////////////////////////

label1:

outer-iteration

{

inner-iteration

{

//......

break; //案例1

//......

continue; //案例2

//......

continue label1; //案例3

//......

break label1; //案例4

//......

}

}

/////////////////////////////////

在案例1中break中断了内部循环,退到了外部循环。案例2中continue仍在内部循环。案例3中continue到label1

处,重新开始循环。案例4退到label1处,但是这次再不进入循环了(不可思议)。

以上规则同样适用于while循环。

ok,今天到这里,明天学习隐藏实现,对象的初始化和清理。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航