ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-07-16 20:33:39  阅读:175  来源: 互联网

标签:Java Scanner int System 程序流程 else println 硅谷 out


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有