分支语句
分支结构是代码满足不同的条件执行相对应的流程。都有条件判断语句,判断结果一定是Boolean类型的,不是true就是false。
if分支语句
格式:
if (条件判断) {
与具体
}
总结:
if分支语句只有再小括号里面为true是才会执行大括号里相应的语句体,如果小括号里面为false则直接跳过大括号,执行大括号之外的语句,对于false情况没有相应的语句体。
演示
class Demo2 {
public static void main(String[] args) {
// 假设你兜里有10块钱
int money = 10;
// money > 5 是一个条件判断,结果是一 个boolean
if (money >= 5) {
System.out.println("煎饼果子来一套");
money -= 5;
System.out.println("余额 :" + money + "元");
}
System.out.println("if大括号之外的代码 ~~~~");
}
}
if else分支结构
格式:
if (条件判断) {
true语句体
} else {
false语句体
}
总结:
与if分支结构相似,但是if else 结构对于false也提供了相应的语句体,判断为true则执行true语句体,否则执行false语句体,然后再执行大括号之外的语句。
演示:
工资判断,月收入5000以上缴税,月收入5000以下不需要缴税
class Demo6 {
public static void main(String[] args) {
// 工资是一个浮点类型数据,这里使用double类型
double salary = 4999.0;
/*
语句体:
大括号以内的内容,也可以称之为代码块
*/
if (salary > 5000) {
System.out.println("我为国家做贡献");
} else {
System.out.println("我会继续努力,为国家做贡献");
}
}
}
if else if 分支结构
格式:
if (条件判断语句) {
处理方式1
} else if (条件判断语句) {
处理方式2
} else if (条件判断语句) {
处理方式3
} …… else if (条件判断语句) {
处理方式n
} else {
没有任何条件满足时执行
}
总结:
else if 的个数不限,每一个都要有对应的处理方式,当if 和 else if 中的任何条件都不满足的时候执行else的语句
演示:
用户vip等级,100 ~ 1000 铜牌会员,1001 ~ 5000 银牌会员,5001 ~ 10000 金牌牌会员,10001 ~ 50000 钻石会员,50001 黑钻会员
class Demo9 {
public static void main(String[] args) {
// 用户的消费数据按照int类型考虑
int money = 50001;
if (money >= 100 && money <= 1000) {
System.out.println("铜牌会员");
} else if (money > 1000 && money <= 5000) {
System.out.println("银牌会员");
} else if (money > 5000 && money <= 10000) {
System.out.println("金牌会员");
} else if (money > 10000 && money <= 50000) {
System.out.println("钻石会员");
} else if (money > 50000) {
System.out.println("黑钻会员");
} else {
System.out.println("非会员...");
}
}
}
Scanner
Scanner是Java中从控制台输入数据到代码中的一种方式
使用流程:
1.由于Java程序没有直接使用Scanner 的能力,所以需要导包
导包的固定格式:
将
import java.util.Scanner;
放在class代码上一行
2.需要一个Scanner的变量
固定格式:
Scanner sc = new Scanner(System.in);
3.选择执行对应的方法,从键盘上获取对应的数据
获取int类型
int类型的变量 = sc.nextInt();
获取float类型
float类型的变量 = sc.nextFloat();
获取double类型
double类型的变量 = sc.nextDouble();
获取char类型
char类型的变量 =sc.nextLine().charAt(0);
注意:
代码运行需要站着用户的角度来思考问题。用户进行操作时,需要给予用户足够的提示和引导,告知用户当前操作如何完成,考虑代码的友好性!!!
用户粘性问题!!!用户提示!!!用户友好性!!!
就算在提示中告知用户需要输入的数据范围是多少,但是用户在
实际使用的过程中,依然存在输入错误的情况。需要对于用户输入的
数据进行合法性判断,如果用户输入的内容符合我们的判断逻辑需
求,进入数据处理过程。如果不符合要求,直接终止程序!!!
演示:
学生成绩的等级划分:
90 ~ 100 优秀
80 ~ 90 良好
70 ~ 80 中等
60 ~ 70 及格
60 以下 让你爹穿着拖鞋来学校一趟
//导包,让当前Java代码可以使用Scanner
import java.util.Scanner;
class Demo10 {
public static void main(String[] args) {
/*
成绩考虑存在0.5的情况,需要使用浮点类型数据这里采用float类型,这里赋值一个初值
*/
float score = 0.0F;
// 需要得到一个Scanner的变量
Scanner sc = new Scanner(System.in);
/* 提示用户操作 */
System.out.println("请输入学生的成绩1 ~100:");
score = sc.nextFloat();
/*
验证用户输入数据的合法性如果用户输入的数据不合法,终止程序!!!
不合法: 输入数据 > 100 或者 < 0
*/
if (score > 100 || score < 0) {
System.out.println("输入数据不合法!!!");
// 程序退出
System.exit(0);
}
/* 成绩等级判断 */
if (score >= 90 && score <= 100) {
System.out.println("优秀");
} else if (score >= 80) {
System.out.println("良好");
} else if (score >= 70) {
System.out.println("中等");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("让你爹穿着拖鞋来学校一趟");
}
}
}
网友评论