程序的流程控制
1. 顺序结构
2. 选择结构
3. 循环结构
选择结构
y = x>0 ? x : -x;
if(x==1)
{
if(y==1)
{
System.out.println("x==1,y==1");
}
else
{
System.out.println("x==1,y!=1");
}
}
else
if(y==1)
System.out.println("x!=1,y==1");
else
System.out.println("x!=1,y!=1");
switch 中的 case 标记,顺序向下执行直到碰到 break
switch 语句接受 int , byte , char , short
switch(x)
{
case 1:
System.out.println("switch1");
break;
case 2:
case 3:
System.out.println("switch 2 , 3");//多个条件执行相同代码
default:
System.out.println("other");
break;//可有可无
}
int x=1;
switch(x<3);//空语句
{
System.out.println(x++);
}
循环结构
int x=System.in.read();
while(x!='q')
{
System.out.println((char)x);//a==>97 13 10
x=System.in.read();
}
do
{
x=System.in.read();//try{}catch(Exception ex){}
System.out.println((char)x);
}
while(x!=q)
for(表达式1;表达式2 ;表达式3) 语句
for(int x=1;x<10;x++)
{
System.out.println("x="+x);
} 等效于
int x=1;
for(;x<10;x++)
{
System.out.println("x="+x);
} 等效于
int x=1;
for(;x<10;)
{
System.out.println("x="+x);
x++;
} 等效于
int x=1;
for(;;)
{
if(x >= 10)
break;
System.out.println("x="+x);
x++;
}等效于
int x=0;
for(;;){
if(x<10)
System.out.println(x);
else
break;
x++;
}
break语句可以中止循环中的子语句和switch语句。一个无标号的break语句会把控制传给当前(最内)循环(while , do , for或Switch)的下一条语句。如果有标号,控制会被传递给当前方法中的带有这一标号的语句。如:
st:while(true)
{
while(true)
{
break st;
}
}
说明:不提倡使用标号,可以为外层循环设一标志变量
continue语句只能出现在循环语句(while,do,for)的子语句块中,无标号的continue语句的作用是跳过当前循环的剩余语句块,接着执行下一次循环。 用continue语句的
打印出 0到10之间的所有奇数的程序例子。
for(int i=0;i<10;i++)
{
if(i%2==0)
continue;
System.out.println(i);
}