编程语言
首页 > 编程语言> > 尚硅谷Java基础笔记——2. Java基本语法(下)·程序流程控制

尚硅谷Java基础笔记——2. Java基本语法(下)·程序流程控制

作者:互联网

2. Java基本语法(下):程序流程控制

2.5 程序流程控制

2.5.1 顺序结构

2.5.2 if-else

/*
分支结构中的if-else(条件判断结构)

一、三种结构

第一种:
if(条件表达式){
	执行表达式
}

第二种:二选一
if(条件表达式){
	执行表达式1
}else{
	执行表达式2
}

第三种:n选一
if(条件表达式){
	执行表达式1
}else if(条件表达式){
	执行表达式2
}else if(条件表达式){
	执行表达式3
}
...
else{
	执行表达式n
}

*/
class IfTest{
	public static void main(String[] args) {
		
		//举例1
		int heartBeats = 79;
		if(heartBeats < 60 || heartBeats > 100){
		System.out.println("需要做进一步检查");
		}
		System.out.println("检查结束");
	
		//举例2
		int age = 23;
		if (age < 18){
			System.out.println("你还可以看动画片");
		}else{
			System.out.println("你可以看小电影了");
			}
		
		//举例3
		if(age < 0){
			System.out.println("您输入的数据非法");
		}else if(age < 18){
			System.out.println("青少年时期");
		}else if(age < 35){
			System.out.println("青壮年时期");
		}else if(age < 60){
			System.out.println("中年");
		}else if(age < 120){
			System.out.println("老年时期");
		}else{
			System.out.println("你要成仙~~");
		}
	}
}

2.5.3 使用Scannner从键盘获取多种类型数据

如何从键盘获取不同类型的变量,需要使用Scanner类
具体实现步骤

  1. 导包:import java.util.Scanner;
  2. Scanner的实例化: Scanner scan = new Scanner (System.in);
  3. 调用Scanner类的相关方法(next() / nextXxx()),来获取指定类型的变量

注意
需要根据相应的方法,来输入指定类型的值。如果输入数据类型与要求类型不匹配时,会报异常:InputMisMatchException
导致程序终止

import java.util.Scanner;
class ScannerTest{

	public static void main(String[] args){

		Scanner scan = new Scanner (System.in);

		System.out.println("请输入你的姓名:");
		String name = scan.next();
		System.out.println(name);

		System.out.println("请输入你的芳龄:");
		int age = scan.nextInt();
		System.out.println(age);

		System.out.println("请输入你的体重:");
		double weight = scan.nextDouble();
		System.out.println(weight);

		System.out.println("你是否相中我了呢?(true/false)");
		boolean isLove = scan.nextBoolean();
		System.out.println(isLove);

		//对于char型的获取,Scanner没有提供相关的方法,只能获取一个字符串
		System.out.println("请输入你的性别:(男/女)");
		String gender = scan.next();//"男"
		char genderChar = gender.charAt(0);//获取索引为0位置上的字符
		System.out.println(genderChar);
	
	}

}

test 1

岳小鹏参加Java考试,他和父亲岳不群达成承诺:
如果:
成绩为100分时,奖励一辆BMW;
成绩为(80,99]时,奖励一台iphone xs max;
当成绩为[60,80]时,奖励一个 iPad;
其它时,什么奖励也没有。
请从键盘输入岳小鹏的期末成绩,并加以判断

说明

  1. else 结构是可选的。
  2. 针对于条件表达式:
    • 如果多个条件表达式之间是互斥关系,哪个判断和执行语句声明在上在下均可。
    • 如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。
    • 如果多个表达式有包含关系,通常情况下,需要将范围小的声明在范围大的上面。否则,范围小的就没机会执行了。
import java.util.Scanner;
class IfTest{

	public static void main(String[] args){
		Scanner scan = new Scanner (System.in);

		System.out.println("请输入岳小鹏期末成绩:(0-100)");
		int score = scan.nextInt();

		if(score == 100){
			System.out.println("奖励一辆BMW");
		}else if(score > 80 && score <= 99){
			System.out.println("奖励一台iphone xs max");
		}else if(score >= 60 && score <= 80){
			System.out.println("奖励一个ipad");
		}else{
			System.out.println("啥子都木有喔");
		}
	}
}

test 2

编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,
对它们进行排序(使用 if-else if-else),并且从小到大输出。

import java.util.Scanner;
class IfTest2 {
	public static void main(String[] args) {
	Scanner scanner = new Scanner(System.in);

	System.out.println("请输入第一个整数:");
	int num1 = scanner.nextInt();
	System.out.println("请输入第二个整数:");
	int num2 = scanner.nextInt();
	System.out.println("请输入第三个整数:");
	int num3 = scanner.nextInt();

	if(num1 >= num2){
		if(num3 >= num1){
		System.out.println(num2 + "," + num1 + "," + num3);
		}else if(num2 >= num3){
		System.out.println(num3 + "," + num2 + "," + num1);
		}else{
		System.out.println(num2 + "," + num3 + "," + num1);
		}
	}else{
		if(num3 >= num2){
		System.out.println(num1 + "," + num2 + "," + num3);
		}else if(num1 >= num3){
		System.out.println(num3 + "," + num1 + "," + num2);
		}else{
		System.out.println(num1 + "," + num3 + "," + num2);
		}
	}		
	}

练习

/*
class IfExer {
	public static void main(String[] args) {
		int x = 4;
		int y = 1;
		if (x > 2) {
			if (y > 2) 
				System.out.println(x + y);
			System.out.println("atguigu");
		} else
			System.out.println("x is " + x);

	}
} //atguigu
*/
class IfExer {
	public static void main(String[] args) {
		int x = 4;
		int y = 1;
		if (x > 2)
			if (y > 2) 
				System.out.println(x + y);
			//System.out.println("atguigu");
		 else//就近原则
			System.out.println("x is " + x);

	}
}//x is 4

如何获取一个随机数 10 - 99 random[0.0,1.0)

double value = (int)(Math.random() * 90 + 10);

公式:[a,b] : (int)(Math.random() * (b - a + 1) + a)

判断字符串:

![1656663338294](../../Pictures/Camera Roll/判断字符串.png)

2.5.3 分支语句2:switch - case结构

分支结构之二:switch-case

1.格式
switch(表达式){
case 常量1:
执行语句1;
//break;
case 常量2:
执行语句2;
//break;

...

default:
执行语句n;
//break;

}

2.说明:
① 根据switch表达式中的值,依次匹配各个擦色中的常量,一旦匹配成功,则进入相应case结构中,调用其执行语句。
当调用完执行语句后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾结束为止

② break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构。
*/

class SwitchCaseTest{
	public static void main(String[] args) {
		
		int number = 2;
		switch(number){
		
		case 0:
			System.out.println("zero");
			break;
		case 1:
			System.out.println("one");
			break;
		case 2:
			System.out.println("two");
			break;
		case 3:
			System.out.println("three");
			break;
		default:
			System.out.println("other");

		}
	}
}

标签:Java,Scanner,int,System,程序流程,else,println,硅谷,out
来源: https://www.cnblogs.com/lujing304/p/16485162.html