若将一个float 值与一个double值相乘,结果就是 double;如将一个 int和一个 long 值相加,则结果为long。
Ulcer(溃疡) Unary:一元 + - + + - [[ 其余的 ]]
Addicts(患者) Arithmetic(shift);算术(和移位) * / % + - << >>
Really(特别) Relational:关系 > < >= <= == !=
Like(喜欢) Logical(bitwise):逻辑(和按位) && || & | ^
C Conditional(ternary):条件(三元) A>B ? X:Y
A Lot Assignment:赋值 =(以及复合赋值,如*=)
当造型成一种较小的类型时,必须留意“缩小转换”的后果。否则会在造型过程中不知不觉地丢失信息。
for(int i = 1, j = i + 10; i < 5;
i++, j = i * 2) {
87
System.out.println("i= " + i + " j= " + j);
}
for循环里的逗号运算符
public class LabeledFor {
public static void main(String[] args) {
int i = 0;
outer:// Can't have statements here
for(; true ;) { // infinite loop
inner:// Can't have statements here
for(; i < 10; i++) {
prt("i = " + i);
if(i == 2) {
prt("continue");
continue;
}
if(i == 3) {
prt("break");
i++; // Otherwise i never
// gets incremented.
break;
}
if(i == 7) {
prt("continue outer");
i++; // Otherwise i never
// gets incremented.
continue outer;
}
if(i == 8) {
prt("break outer");
break outer;
}
for(int k = 0; k < 5; k++) {
if(k == 3) {
prt("continue inner");
continue inner;
}
}
}
}
// Can't break or continue
// to labels here
}
static void prt(String s) {
System.out.println(s);
}
}
上述代码来自think in Java,标签一般放在for循环的开始,然后break+标签是跳出当前的循环并且回到标签的位置,但是不再进入循环,break是终止此次循环,for()中的i++是不会执行的,continue+标签是中断本次循环,跳转到标签的位置继续循环。break和continue中断的都是当前for循环。