第三章:控制程序流程(控制才不至于程序成傻瓜)

3.1 java运算符

几乎所有的运算符都只能操作主类型,=,==,!=除外。String支持+ ,+=。

3.1.2赋值

左面=右面

右面无论变量,表达式,常数,只要能够产生一个值得,左面必须变量,它有物理空间。

%模运算符号,取余数。

/ 取 值

3.1.5 关系运算符

==,!=比较的是对象的内存地址是否相当,而不是对象内容是否相等

对象的equals()方法比较对象内容是否相等。

但是equals的默认行为是比较句柄,所以除非自己的类覆盖了equals(),否则不会比较内容。java的很多类都实现了equals(),所以比较对象内容。java.object的equal方法比较的是句柄。

短路:对于逻辑表达式,只要执行了一部分能够明确判断表达式的值,就不必要全部执行下去了。

3.1.7移位运算符

<<,>>,>>>移位运算符号,进行移位前,char,byte,short会进行自动转化为int,只有右侧的5位低位才会被用到。

3.1.10java中用到逗号的唯一场所就是for 循环。 +号操作字符串,会把加法中的所有变量变成字符串。

例如:int x=0,y=1,z=2.  String sring="x,y,z";System.out.println(string+x+y+z);这个计算结果可以把x,y,z转化为对应的字符。

3.11两个足够大的int执行乘法运算的时候,结果就会溢出,而且不会从编译器受到出错提示(这个可以作为软件测试的bug引入点)

例子:int i=0x7ffffff;//max of int

            int bigger=i*4;

            System.out.println(s);

输出结果:-4

3.2.2return

static int test2(int testval){

if(testval>target)

return -1;

if(testval<target)

return +1;

return 0;

3.2.5for(初始表达式;布尔表达式;步进)

下面一个例子表示在时间未到设定的时间到达之前:一直做某事情。

for(;Runtime.gettime()<theSettime;)

    {   ajfkaljfafl;

         asdjas

}

3.2.5 逗号运算符

java中唯一使用到逗号的只有for循环。可以在for语句中的初始表达式,步进表达式中,使用一系列逗号。

for(int i=1,j=i+10;i<5;i++,j=i*2)

3.2.6 中断和继续

任何循环主题中,可以使用break,continue,break用于强行退出循环,contimue用于停止执行当前的反复,回到循环起始、

3.2.7  switch(int 或者char)

switch(整数选择因子){

case 整数值1:语句;break;

case 整数2:语句:break;

default:语句;break;//编程风格考虑,加上break;

}

 float 或者double造型成int 或者char后,总是去掉小数部分。

Math.random()-->{0,1) 能够得到万物起始点0、

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章