2.1小括号与关系运算符优先级(补)
【在逻辑运算里 括号当一个整体不具备优先级 , 在普通加减乘除运算里,就有优先级】
int num = 6;
boolean ret = num > 5 && (num-- < 20 || num++ > 10);
System.out.println(ret);
System.out.println(num);
/*
小括号是一个条件整体
1. 首先执行num > 5
num ==> 6
6 > 5 成立
2. 执行(num-- < 20 || num++ > 10)
num-- < 20
--在后,首先取值num使用
num ==> 6
6 < 20 成立
执行--
num ==> 5
逻辑或短路原则 num++ > 10 不再执行
3. true && true
ret = true
num = 5
*/
2.2 分支结构(上),
在生活中会经常会进行选择,例如晚上下班了,我只有20元了,晚上去吃什么
2.2.1 if 语句
在代码开发中会需要过滤数据或其他操作,这时候可以以选择结构来进行判定
代码满足不同的条件,执行不同的结果:
if选择结构条件判断返回结果为布尔类型,true或false
class Demo {
public static void main(String[] args) {
//假设我现在有5元钱,选择早餐够不够吃一份面,一份面8元
int money = 5;
/*
这里做出判断,如果结果为true,则执行大括号内容,如果为false,直接跳过if内的大括号
内容,继续向下执行
*/
if (money > 8) {
System.out.println("够用了!!!");
}
System.out.println("over");
}
}
2.2.2 if else选择结构
代码执行到if else结构运行,首先判断if之后的条件判断,
如果条件判断为true,执行true语句体,如果条件判断为false,
执行false语句体。
世界上最遥远的距离是我在if里,你在else里
class Test {
public static void main(String[] args) {
// 任意给定一个年份,判断是否为闰年(能整除4,而不能整除100,或者能整除400)
// 定义一个整型变量,
int year = 2008;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
System.out.println(year + "是闰年");
} else {
System.out.println(year + "不是闰年");
}
}
}
2.2.3 多重 if else 选择结构:
有时候两个选择并不够,例如判断在商场消费多少可以成为什么会员。假设商场有铜牌会员,
银牌会员金牌会员等等,其中铜牌会员需消费5000元以上,消费超过50000元升级为银牌会员,
消费超10万元以上升级金牌会员,
class Demo2 {
public static void main(String[] args) {
// 假如消费了10000.0元,对应的是铜牌会员,
// 首先定义一个float浮点类型变量,在商场消费一般都会产生小数,
float money = 10000.0F;
// 然后进行判断,
if (money >= 100000) {
System.out.println("您可享受金牌会员福利");
} else if (money >= 50000) {
System.out.println("可享受银牌会员福利");
} else if (money >= 5000) {
System.out.println("铜牌会员福利");
}
}
}
2.2.5 以Scanner来接收一个float类型的小数来判定学生成绩是否及格 80~100分给出A的评价,
60~80分为B级,60分以下为C级
//首先导入Scanner的包
import java.util.Scanner;
class Demo3 {
public static void main(String[] args) {
//给一个float类型的初始变量
float score = 0.0F;
//获取一个float类型的数值
Scanner sc = new Scanner(System.in);
System.out.println("请输入成绩1 ~ 100!");
score = sc.nextFloat();
// 在输入错误的数据后程序会直接结束
if (score > 100 || score < 0) {
System.out.println("输入数据不合 法!!!");
// 程序退出
System.exit(0);
}
if (score >= 80) {
System.out.println("你的成绩评价为:A");
} else if (score >= 60) {
System.out.println("你的成绩评价为:B");
} else {
System.out.println("你的成绩评价为:C");
}
}
}
总结:
2.2.4 分支结构用于处理代码中出现的一些需要判断,并且按按条件处理的 情况!!!
2.2.4.1. 条件约束考虑清楚
2.2.4.2. 处理的过程考虑清楚
2.2.4.3. 数据类型选择