JAVA基础(六)—— Java控制语句结构

一、顺序结构

按照正常的语句顺序从上往下执行。

二、 分支结构

1、 if分支
(1)if单分支
① if分支的第一种情况,只有一条路可走。
② 语法:

 if(判断语句){
 	当判断语句结果为true,执行该代码。
 }

(2) if…else分支
① if分支的第二种情况,有两条路可以走。
② 语法:

if(判断语句){
	当判断语句结果为true的时候,执行该代码
}else{
	当判断语句结果为false的时候,执行该代码
}

(3) if…else嵌套分支
① if分支的第三种情况,有多条路可以走。
② 语法:

if(判断语句1){
	当判断语句1返回为true的时候,执行该代码
} else if(判断语句2){
	当判断语句2返回为true的时候,执行该代码
}else if(判断语句3){
	当判断语句3返回为true的时候,执行该代码
} 
...... 
else{
	当前面所有判断语句都为false的时候,执行该语句
}

③ Demo:根据年龄判断所属成长阶段

public class Demo{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int age = sc.nextInt();
		if(age >= 0 && age < 6) {
			System.out.println("儿童");
		}else if(age >= 6 && age < 12) {
			System.out.println("少年");
		}else if(age >= 12 && age < 18) {
			System.out.println("青少年");
		}else if(age >= 18 && age < 30) {
			System.out.println("成年");
		}else if(age >= 30 && age < 40) {
			System.out.println("中年");
		}else if(age >= 40 && age < 60) {
			System.out.println("中老年");
		}else if(age >= 60 && age < 135) {
			System.out.println("老年");
		}else {
			System.out.println("年龄不合法");
		}
	}
}

④ 补充:键盘输入方法

import java.util.Scanner;
public class Test4{
	public static void main(String[ ]args){
		Scanner scanner = new Scanner(System.in);
		int age = scanner.nextInt();
		double weight = scanner.nextDouble();
		String name = scanner.next();
		System.out.println("age = "+age);
		System.out.println("weight = "+weight);
		System.out.println("name = "+name);
	}
}

2、switch分支
(1)switch(值或者变量)
(2)语法:

switch(值或者变量){
	case 值1:当传入的值和值1相等的时候,执行该代码;
	break;
	case 值2:当传入的值和值2相等的时候,执行该代码;
	break;
	case 值3:当传入的值和值3相等的时候,执行该代码;
	break;
	......  
	default:当前面所有的值都不满足条件的时候,执行该代码;
}

(3)break的作用:当找到正确的匹配时,执行完之后,则结束整个switch。
(4)switch(值或者变量),“值或变量”在JDK版本1.7之前不可以是字符串,1.7版本之后可以是字符串。
(5)Demo

三、循环结构

1、for循环
(1)语法:

for(初始化变量;判断语句;改变变量的值){
	需要重复执行的代码;
}

(2)Demo:计算1-100的累加和

public class Demo{
	public static void main(String[] args) {
		int sum = 0;
		for(int i = 0; i <= 100; i++) {
			sum = sum + i;
		}
		System.out.println("1-100的累加和为:" + sum);
	}
}

2、while循环
(1)语法:

初始化变量值;
while(判断语句){
	循环执行的代码;
	改变变量的值;
}

(2)Demo:计算1-100的累加和

public class Demo{
	public static void main(String[] args) {
		int i = 1;
		int sum = 0;
		while(i <= 100) {
			sum = sum + i;
			i++;
		}
		System.out.println("1-100的累加和为:" + sum);
	}
}

3、do…while循环
语法:

初始化变量值;
do{
	循环执行的代码;
	改变变量的值;
}while(判断语句);

(2)Demo:计算1-100的累加和

public class Demo{
	public static void main(String[] args) {
		int i = 1;
		int sum = 0;
		do{
			sum = sum + i;
			i++;
		}while(i <= 100) ;
		System.out.println("1-100的累加和为:" + sum);
	}
}

4、注
(1)while与do…while的区别:
前者先判断条件再执行,后者先执行一次,再判断条件。
(2)break和continue的区别:
用一个例子来说明:循环打印输出1-20的整数

public class Demo{
	public static void main(String[] args) {
		//continue的作用
		System.out.println("continue打印输出的结果为:");
		for(int i = 0; i <= 20; i++) {
			if(i == 10) {
				continue;
			}
			System.out.print(i + " ");
		}
		//break的作用
		System.out.println("\n\nbreak打印输出的结果为:");
		for(int i = 0; i <= 20; i++) {
			if(i == 10) {
				break;
			}
			System.out.print(i + " ");
		}
	}
}

得到如下结果:

continue打印输出的结果为:
0 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 20 

break打印输出的结果为:
0 1 2 3 4 5 6 7 8 9 

可以得知:
① continue:使用continue,当循环到i = 10的时候,会跳过本次打印输出,但是不会影响下面的循环,后面只要满足条件还会继续打印输出。所有continue是跳过本次循环,只要条件满足则继续执行下一次循环,并不会影响循环次数。
② break:使用break,当循环到i = 10的时候,会结束整个循环过程。所以break是结束整个循环,就算条件满足也不再往下进行。

猜你喜欢

转载自blog.csdn.net/weixin_43592512/article/details/89643755