Day4:分支结构
1. 代码运行过程中的常见结构
顺序结构:代码从上到小,从左到右执行
分支结构:代码满足不同的条件,执行不同的结果
循环结构:代码中存在需要多次执行的情况
2. 分支结构
2.1 if分支结构
if分支结构中只能处理条件满足的情况,条件不满足没有任何语句执行
if (/*条件判断*/) {
//语句体
}
/*
判断一个年份是不是闰年
能被4整除但是不能被100整除,或者能被400整除
*/
class Demo5 {
public static void main(String[] args) {
// 年份是一个整数,这里使用int类型
int year = 2009;
/*
year % 4 == 0 && year % 100 != 0 || year % 400 == 0
*/
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
System.out.println("是闰年");
}
}
}
2.2 if else 分支结构
if else分支结构:首先判断if条件,条件判断为true,执行true语句体;否则,执行false语句体
if (/*条件*/) {
// true语句体
} else {
// else语句体
}
/*
3. 判断一个年份是不是闰年
能被4整除但是不能被100整除,或者能被400整除
*/
class Demo5 {
public static void main(String[] args) {
// 年份是一个整数,这里使用int类型
int year = 2009;
/*
year % 4 == 0 && year % 100 != 0 || year % 400 == 0
*/
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
System.out.println("是闰年");
} else {
System.out.println("不是闰年");
}
}
}
2.3 if else if 分支结构
从上到下依次匹配条件,匹配成功后,开始执行对应代码块,代码块执行成功后跳出分支结构;没有匹配成功,就开始执行else代码块,执行成功后跳出分支结构
if(/*条件1*/) {
// 处理方式1
} else if (/*条件2*/) {
// 处理方式2
} else if (/*条件3*/) {
// 处理方式3
} else if(/*条件4*/) {
// 处理方式4
} else {
// 处理方式5
}
/**
用户输入一个【整数】,判断当前用户的游戏段位是什么
【考虑用户输入合法性问题】
小于等于1000,青桐
1000 - 1200 白银
1200 - 1400 黄金
1400 - 1600 白金
1600 - 1800 钻石
1800 - 2000 大师
2000以上 王者
*/
import java.util.Scanner;
class LevelJudge {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入经验值(整数),用以判断游戏段位:");
int level = input.nextInt();
if( level < 0 ) {
System.out.println("输入不合法");
System.exit(0);
}
System.out.println("段位:");
if( level <= 1000) {
System.out.println("青铜");
} else if( level <= 1200) {
System.out.println("白银");
} else if( level <= 1400) {
System.out.println("黄金");
} else if( level <= 1600) {
System.out.println("白金");
} else if( level <= 1800) {
System.out.println("钻石");
} else if( level <= 2000) {
System.out.println("大师");
} else {
System.out.println("王者");
}
}
}
【补充知识Scanner】
Scanner是java从控制台录入数据的方式,c存在一定弊端,只要求了解一些必要方法
Scanner是使用流程
1. Java本身是没有Scanner方法,这里需要导包
方式:import java.util.scanner;(放在第一个class上一行)
2.创建一个Scanner对象
方式:Scanner sc = new Scanner(System.in);
3.选择执行时对应的方法,从键盘上获取对应的方法
sc.nextInt();//获取int类型
sc.nextFloat();//获取float类型
sc.nextDouble();//获取double类型
sc.nextLine().charAt(0);//获取char类型
【补充知识 用户友好型提示】
代码运行需要从用户角度思考问题,用户操作时,需要给用户提供足够的提示和引导,告知用户当前如何完成,考虑代码的友好性!
【补充知识点 用户输入数据合法性判断】
用户在实际使用的过程中,存在输入数据满足要求的情况。需要对于用户输入的数据进行合法性判断
验证合法性:如果用户输入数据合法,才开始进行接下来的操作,否则,终止程序
终止程序:System.exit(0);
学习第四天,查漏补缺,习惯很重要,加油!!!