Java控制语句-Java300集笔记整理

目录

1. 条件判断语句

1.1 if单分支结构

1.2 if-else双分支结构

1.3 if-else if-else多分枝结构

1.4 switch语句

2. 循环语句

2.1 while循环

2.2 do-while循环

2.3 for循环

2.4 嵌套循环

3. break语句和continue语句

4. 综合练习-一个年薪计算器


主要逻辑:

  • 顺序结构,先执行a,再执行b的逻辑

  • 条件判断结构,如果...则...

  • 循环结构,如果...则重复执行...

1. 条件判断语句

1.1 if单分支结构

语法结构

if(布尔表达式){
	语句块
}

流程图

举例

/*
 * 测试if语句,简单掷骰子
 */
public class Testif01 {
	public static void main(String[] args) {
		double d = Math.random(); //Math.random()生成[0,1)随机数
		int a = 1+(int)(Math.random()*6);   //生成[0,6)之间随机整数
		System.out.println(a);
		if(a<3) {
			System.out.println("小");
		}
		if(a==3) {
			System.out.println("中");
		}
		if(a>3) {
			System.out.println("大");
		}		
	}
}

1.2 if-else双分支结构

语法结构

if(布尔表达式){
	语句块1
}else{
	语句块2
}

流程图

举例

public class Testif02 {
	public static void main(String[] args) {
		double r = Math.random()*4;
		double area = Math.PI*r*r;
		double circle = 2*Math.PI*r;
		
		if(area>=circle) {
			System.out.println("面积大于等于周长");
		}else {
			System.out.println("面积小于周长");
		}
	}
}

1.3 if-else if-else多分枝结构

语法结构

if(布尔表达式1){
	语句块1;
}else if(布尔表达式2){
	语句块2;
}......
else if(布尔表达式n){
	语句块n;
}else{
	语句块n+1;
}

流程图

举例

public class Testif03 {
	public static void main(String[] args) {
		int age = (int)(100*Math.random());
		System.out.println("年龄:"+age+",属于");
		
		if(age<15) {
			System.out.println("儿童");
		}else if(age<30) {
			System.out.println("青年");
		}else if(age<45) {
			System.out.println("中年");
		}else {
			System.out.println("懒得敲了");
		}
	}
}

1.4 switch语句

多值情况适合用switch语句

语法结构

switch(表达式){
	case 值1:
		语句序列1;
		[break];
	case 值2:
		语句序列2;
		[break];
		......  ...
	[default:
		默认语句;]
}

流程图

举例

public class Testif04 {
	public static void main(String[] args) {
		int grade = 1;
		if(grade==1) {
			System.out.println("一年级");
		}else if(grade==2) {
			System.out.println("二年级");
		}else {
			System.out.println("不想敲了");
		}
		switch(grade) {
			case 1:
				System.out.println("一年级");
				break;
			case 2:
				System.out.println("二年级");
				break;
			default:
				System.out.println("不想敲了");
				break;
		}
	}
}

2. 循环语句

  • 当型:while和for

  • 直到型:do-while循环

2.1 while循环

语法结构

while(布尔表达式){
	循环体;
}

流程图

举例

public class Testwhile {
	public static void main(String[] args) {
		int a = 1;
		while(a<=3) {
			System.out.println("I love U");
			a ++;
		}
	}
}

2.2 do-while循环

基本不用,过过过

2.3 for循环

语法结构

for(初始表达式;布尔表达式;迭代因子){
	循环体;
}

本质和while循环一模一样

public class Testfor {
	public static void main(String[] args) {
		int a = 1;
		while(a<=3) {
			System.out.println("I love U");
			a ++;
		}
		for(int i=1;i<=3;i++) {
			System.out.println("I love U"+i);
		}
        //打印a-z
        char index = 'a';
        for(int i=0;i<26;i++){
        	char index_print = (char)(index+i);
            System.out.println(index_print);
        }
	}
}

2.4 嵌套循环

在循环里面嵌套循环

举例

public class Testloop {
	public static void main(String[] args) {
		for(int i=0;i<=5;i++) {
			for(int j=0;j<5;j++) {
				System.out.println(i);
			}
		}
	}
}

打印个9*9乘法表

public class Test99 {
	public static void main(String[] args) {
		for(int i=1;i<=9;i++) {
			for(int j=1;j<=i;j++) {
				System.out.print(j+"*"+i+"="+i*j+"\t");
			}
			System.out.println();
		}
	}
}

3. break语句和continue语句

break用于强制退出循环,不执行循环中剩余的语句,continue用于跳到下一次循环,不执行循环中剩余的语句。

break简单案例

public class breakandcontinue {
	public static void main(String[] args) {
		int count = 0; //计数器
		while(true) {
			count++;
			int i =(int)(Math.random()*100);
			if(i==88) {
				break;
			}
		}
		System.out.println(count);
	}
}

continue简单案例

//把100-150之间不能被3整除的数输出,并且每行输出5个
public class breakandcontinue {
	public static void main(String[] args) {
		int count = 0;
		for(int i=0;i<150;i++) {
			if(i%3==0) {
				continue;
			}
			System.out.print(i+"、");
			count++;
			if(count%5==0) {
				System.out.println();
			}
		}
	}
}

4. 综合练习-一个年薪计算器

要求

  • 通过键盘输入用户的月薪,每年是几个月薪水

  • 输出用户年薪

  • 输出一行文字:如果年薪超过10万,恭喜你超越90%,如果年薪超过20万,恭喜你超过98%

  • 直到键盘输入”exit“,则推出程序(使用break)

  • 输入中途,键盘输入"next",则这个用户退出计算不显示"恭喜...",直接算下一个用户年薪

代码

import java.util.*;

public class salaryComputing {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		while(true) {
			System.out.println("next下一个,exit退出计算");
			System.out.println("请输入月薪:");
			int monthSalary = scanner.nextInt();
			
			System.out.println("请输入一年多少个月");
			int month = scanner.nextInt();
			int yearSalary = monthSalary*month;
			scanner.nextLine();
			System.out.println("请输入命令,exit或next,其他任意字符继续执行");
			String command = scanner.nextLine();
			if("exit".equals(command)) {
				System.out.println("退出程序");
				break;
			}else if("next".equals(command)) {
				System.out.println("重新输入新命令");
			}
			if(yearSalary>100000&&yearSalary<200000) {
				System.out.println("恭喜你超过90%");
			}else if(yearSalary>200000) {
				System.out.println("恭喜你超过90%");
			}
			System.out.println("年薪是:"+yearSalary);
		}
	}
}

猜你喜欢

转载自blog.csdn.net/lipengfei0427/article/details/121342679
今日推荐