选择结构
public class Demo01Change { public static void main(String[] args) { /**
* 实现等量的转换
*/
int a = 50; // 可乐
int b = 100; // 雪碧 // 创建空杯子
int temp;
// 01.把a的值给temp 把可乐转进了空杯子
temp = a;
// 02.把b的值给a
a = b;
// 03.把temp的值给b
b = temp;
System.out.println("a的值====" + a);
System.out.println("b的值====" + b); } }
1.等量的转换
public class Demo02if { public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入张浩的java成绩:");
double javaScore = scanner.nextDouble();
/** 01.使用三元表达式 解决问题
* String result = (javaScore > 90) ? "奖励map4" : "没有奖励";
*
* 02.使用 选择结构 if(表达式){
* 输出语句
* }
* 表达式:必须是boolean
* 表达式为true 会执行 输出语句
*
* {}只有一条输出语句的时候,可以省略!但是不建议省略
*/
if (javaScore > 90) {
System.out.println("奖励map4");
}
} }
2.张浩的java成绩
public class Demo03if { public static void main(String[] args) {
/**
* 张浩的Java成绩大于98分,而且音乐成绩大于80分,老师会奖励他;
* 或者Java成绩等于100分,音乐成绩大于70分,老师也会奖励他
*/
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的java成绩");
double javaScore = scanner.nextDouble();
System.out.println("请输入您的音乐成绩");
double musicScore = scanner.nextDouble();
/**
* 条件判断
*/ if ((javaScore > 98 && musicScore > 80)
|| (javaScore == 100 && musicScore > 70)) {
System.out.println("老师奖励您一个包包.....");
} }
}
3.条件判断
public class Demo04logical { public static void main(String[] args) {
/**
* 条件判断
* 逻辑运算符 (短路)
*1. && 与,并且 表达式1 && 表达式2
* 01.如果表达式1为false,则不会执行表达式2,返回false
* 02. 如果表达式1为true,则继续执行表达式2
* 03.两个表达式都为true!整体才返回true
* 04.如果其中一个表达式为false,整体返回false
*2. || 或者
* 01.如果其中一个表达式为true,整体返回true
* 02.如果表达式1为true,则不会执行表达式2,返回true
*3. ! 非
*if (!(5 > 4) && (6 < 9)) {
System.out.println("进入了代码块");
}
*/
int a = 5;
int b = 6;
if (!(a++ == b) && (++a == b++)) {
System.out.println("进入了代码块");
}
System.out.println(++a);
} }
4.逻辑运算符
public class Demo05ifelse { public static void main(String[] args) {
/**
*
* 三元表达式 可以 替换if else
*
* if(表达式){
* //表达式为true执行的代码块
* }else{
* //表达式为false执行的代码块
* }
*
* 如果张浩Java考试成绩大于98分,老师就奖励他一个MP4,
* 否则老师就罚他进行编码
*/
int javaScore = 100; // 定义java成绩
/** if (javaScore > 98) {
System.out.println("老师就奖励他一个MP4");
}
if (javaScore <= 98) {
System.out.println("老师就罚他进行编码");
}*/ if (javaScore > 98) {
System.out.println("老师就奖励他一个MP4");
} else {
System.out.println("老师就罚他进行编码");
} System.out.println("谢谢您使用程序");
} }
5.if else
public class Demo06Buy {
/**
* 买彩票
如果体彩中了500万,我买车、资助希望工程、去欧洲旅游
如果没中,我买下一期体彩,继续烧高香
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您中奖的金额:");
double money = scanner.nextDouble(); // 获取用户的中奖金额
/**
* 01.使用三元表达式
*/
String result = (money > 500) ? "买车、资助希望工程、去欧洲旅游" : "买下一期体彩,继续烧高香";
// System.out.println(result);
/**
* 02.使用if else
*/
if (money > 500) {
System.out.println("买车、资助希望工程、去欧洲旅游");
} else {
System.out.println("买下一期体彩,继续烧高香");
} }
}
6.买彩票
public class Demo07Random { public static void main(String[] args) {
/**
* 产生随机数
从控制台接收一个4位会员号
分解获得百位数
判断是否是幸运会员 Math.random():返回的是 0 - 1之间的小数!但是不包含1!
*/
double random = Math.random();
System.out.println("随机数为:" + random);
// 怎么让随机数是 0-9之间的数字?
System.out.println(random * 10);
// double转换成 int 强制类型转换
int result = (int) (random * 10);
System.out.println(result); Scanner scanner = new Scanner(System.in);
System.out.println("请您输入一个会员卡号:");
int num = scanner.nextInt();
// 怎么获取百位的数字
int bai = num / 100 % 10;
if (bai == result) {
System.out.println("幸运用户");
} else {
System.out.println("欢迎下次光临!");
} }
}
7.产生随机数
public class Demo08IflseIf { public static void main(String[] args) {
/**
* 成绩>=80 :良好
成绩>=60 :中等
成绩<60 :差
*/
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入成绩:");
double score = scanner.nextDouble(); /**
* 多个if 实现不了 我们想要的结果
if (score >= 80) {
System.out.println("良好");
}
if (score >= 60) {
System.out.println("良好");
}
if (score < 60) {
System.out.println("差");
}
*/ /**
* 多重if
* if(条件1){
* 满足条件1 执行
* }else if(条件2){
* 满足条件2 执行
* }else if(条件3){
* 满足条件3 执行
* }else if(条件4){
* 满足条件4 执行
* }else{
* 都不满足时 执行
* }
*/
if (score >= 80) {
System.out.println("良好");
} else if (score >= 60) {
System.out.println("中等");
} else {
System.out.println("差");
} } }
8.IfElseIf
public class Demo09ByCar { public static void main(String[] args) {
/**
* 我想买车,买什么车决定于我在银行有多少存款
如果我的存款超过500万,我就买凯迪拉克
否则,如果我的存款超过100万,我就买帕萨特
否则, 如果我的存款超过50万,我就买依兰特
否则, 如果我的存款超过10万,我就买奥托
否则, 如果我的存款10万以下 ,我买捷安特
*/
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入存款金额:");
double money = scanner.nextDouble();
if (money >= 500) {
System.out.println("买凯迪拉克");
} else if (money >= 100) {
System.out.println("买帕萨特");
} else if (money >= 50) {
System.out.println("买依兰特");
} else if (money >= 10) {
System.out.println("买奥托");
} else if (money < 10) {
System.out.println("买捷安特");
} /**
* 只要满足其中一个条件 则后续判断的代码不会执行!
int a = 5;
if (a++ > 5) {
System.out.println(a);
} else if (++a == 6) {
System.out.println(a);
} else if (a++ <= 7) {
System.out.println(a);
}
*/ } }
9.多重IF
public class Demo10 { public static void main(String[] args) {
/**
* 需求:
* 学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,
* 根据性别分别进入男子组和女子组
*
* 分析:
* 判断是否能够进入决赛
在确定进入决赛的情况下,判断是进入男子组,还是进入女子组 嵌套if:在一个条件判断的代码块中,又写了一个或者多个条件判断
*/
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入赛跑的成绩(秒):");
double score = scanner.nextDouble();
if (score <= 10) { // 进入了决赛
System.out.println("进入了决赛!请您输入性别:");
String sex = scanner.next();
/**
* 根据性别分组
* equals:判断两个字符串内容是否一致
*/
if (sex.equals("男")) {
System.out.println("恭喜您进入了男子组!");
System.out.println("请您输入身高:");
double height = scanner.nextDouble();
if (height > 190) {
System.out.println("巨人组");
} else {
System.out.println("矮人组");
}
} else {
System.out.println("恭喜您进入了女子组!");
}
} else {
System.out.println("淘汰.....");
} }
}
10.百米赛跑
public class Demo11 { public static void main(String[] args) {
/**
* 需求:
* 普通顾客购物满100元 9折
会员购物 8折
会员购物满200元 7.5折
*/
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入是否是会员(Y/N):");
String answer = scanner.next();
System.out.println("请您输入购物金额:");
double money = scanner.nextDouble();
double pay = 0; // 用户最后需要支付的金额 // 判断用户是否是会员 equalsIgnoreCase忽略大小写比较
if (answer.equalsIgnoreCase("y")) {
System.out.println("您是会员");
// 判断折扣
if (money >= 200) {
pay = money * 0.75;
} else {
pay = money * 0.8;
}
} else {// 普通用户
System.out.println("您是普通用户");
if (money >= 100) {
pay = money * 0.9;
} else {
pay = money;
}
} System.out.println("您的实际支付金额是:" + pay); }
}
11.购物折扣
public class Demo12 { public static void main(String[] args) {
/**
* 需求:
* 会员积分 折 扣
x < 2000 9折
2000 ≤ x < 4000 8折
4000 ≤ x < 8000 7折
x ≥ 8000 6折
*/
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入会员积分:");
int custCount = scanner.nextInt();
// 定义一个变量来接收 折扣
double discount;
if (custCount < 2000) {
discount = 0.9;
} else if (2000 <= custCount && custCount < 4000) {
discount = 0.8;
} else if (4000 <= custCount && custCount < 8000) {
discount = 0.7;
} else { // 大于8000
discount = 0.6;
}
System.out.println("您享受的折扣是:" + discount); }
}
12.积分折扣