一、if条件语句

if(布尔表达式){

     语句序列

}

if(条件表达式1){

    语句序列1

else if (条件表达式2){

   语句序列2

二、switch多分支语句

if(表达式)

case 常量值1:

语句块1

break;

case 常量值2:

语句块2

break;

。。。

case 常量值n:

语句块n

break;

default:

语句块n+1;

break;

default语句是以上条件均不是时执行

case 后的常量可以是整型,字符型和字符串类型

必须各不相同,而且只能是整数,不能是实数,例如case1.1是不可以的

三、循环语句

1、while

while(条件表达式){

执行语句

切记while(条件表达式)后不可以加;,否则程序会认为要执行一条空的语句从而陷入无限循环,而编译又不会报错

2、do...while

do{

执行语句

while(条件表达式);

3、for

for(表达式1;表达式2;表达式3){

语句序列

表达式1:初始化表达式,负责完成变量的初始化

表达式2:循环条件表达式,值为boolean型的表达式,指定循环条件

表达式3:循环后操作表达式,负责休整变量,改变循环条件

在编程中,有时会使用for循环的特殊语法格式来实现无限循环

for(;;){

...

}

对于这种无限循环可以通过break语句来跳出循环

for(;;){

if(x < 20){

x++;

break;

}

foreach语句

是for的特殊简化版本

for(元素变量:遍历对象obj){

引用了x的java语句;

三、循环控制

1、break

使用break可以跳出switch结构。同样可以使用在循环中

while(。。。){

。。。

break;

。。。

do{

。。。

break;

。。。

}while(。。。);

for

。。。

break;

。。。

 

如果遇到循环嵌套的情况,break语句只会使程序流程跳出包含它的最内层的循环结构,只跳出一层循环

另外,java提供了“标签”的功能,用以跳出外层循环

例如

Loop:for(int i = 0;i < 3;i++){   //在for循环前用标签标记

   for(int j =0;j < 6;j++){

    if (j = 4){

      break Loop;   //跳出Loop标签标记的循环体

}

}

}

 

2、continue

continue是break的补充。continue不是立刻跳出循环体,而是跳过本次循环,重新开始循环,用法和break一样,用一个例子即可理解

输出1~20之间的奇数

public class ContinueTest{

          public static void main(String args[]){

                   for(int i = 0;i < 20;i++){

                       if(i % 2 == 0){

                          continue;

                       }

                      System.out.println(i);

        }

输出结果为:

1

3

。。。

19

同样与break一样,continue也可以使用标签Loop跳出外循环

四、练习

1.编写Java程序,实现判断变量x是奇数还是偶数

public class No1 {
	static int a;
	public static void main(String[] args) {
		int x = 45;
		if(x % 2 == 0){
			System.out.println("偶数");
		}
		if(x % 2 == 1){
			System.out.println("奇数");
		}
	}
}

2.编写Java程序,应用for打印菱形

public class No2 {
static int lineNum = 7;//赋值菱形行数,必须为奇数
public static void main(String args[]) {
	int Maxline  = (lineNum+ 1)/ 2;//以7行菱形为例,则有四行是逐渐增多
	for(int i = 1;i <= Maxline;i++){
		for(int space = 1;space <= Maxline - i;space++){
			System.out.print(" ");
		}
		for(int star = 1;star <= (2*i)-1;star++ ){
			System.out.print("*");
		}
		System.out.println();
	}
	int Minline = lineNum - Maxline;//有三行逐渐减少
	for(int i = 1;i <= Minline;i++){
		for(int space = 1;space <= i;space++){
			System.out.print(" ");
		}
		for(int star = 1;star <= lineNum -(2*i);star++){
			System.out.print("*");
		}
		System.out.println();
	}
}
}

3.编写Java程序,使用while循环语句计算1+1/2!+1/3!+...1/20!之和

public class No3 {
public static void main(String[] args) {
	double sum = 0,a = 1;
	int i =1;
	while(i < 20){
		sum = sum + a;
		i++;
		a = a*(1.0/i);
	}
	
	System.out.println(sum);
}
}