if-else
if-else语句需要注意的是{}
的问题,if后面如果只有一条执行语句的话是可以省略花括号的,但是建议加上。如果没有花括号的话else会和最近的if相匹配。
如:
if (a>b)
if (a>c)
System.out.print(c)
else System.out.print(a)
此时的else会和第二和if相匹配
switch
switch语句需要注意的是break的问题,如果没有break的话,那么case匹配到的之后的语句都会一次执行。switch中的case相当于if,如果没有匹配到,那么继续向下匹配知道匹配成功就不再比较了,而是会连续执行下去,直到遇到break。
switch的条件支持的数据类型有byte,short,char,int,枚举类型和String类型
共6种。
switch(number)
{
case 0:
System.out.print("zero");
case 1:
System.out.print("one");
case 2:
System.out.prit("two");
default:
System.out.print("other");
}
for
for循环:
for (1;2;3){4}
执行的顺序:
1–>2–>4–>3–>2–>4–>3
tips:
for( ; ; )和while(true)等效
while
while循环的条件只能是boolean类型。
while循环:
1;
while(2){
3;
4;
}
执行的顺序:
1–>2–>4–>3–>2–>4–>3
do-while
do-while至少会执行一次循环体。
1;
do{
3;
4;
}while(2);
执行顺序:
1–>3–>4–>2–>3–>4–2-->3–>4
带标签的break和continue
比起c++,java种增加了带标签的break和continue中断循环:
label:for( ; ; ; )
{
for ( ; ; ; )
{
break label;
}
}