今天进入到了第三天的学习,内容虽然不多,但是代码量还是有一些的!主要学习的是选择结构的内容:
一、流程图
二、条件结构
- 分析问题步骤
●读懂需求,提炼需求中要使用的知识点
●画流程图
●将流程图转化为代码
●结合执行结果复盘自己编写的代码 - if语句:可以处理单一或组合条件的情况
●语法:if(表达式){ //语句块 }
其中表达式为逻辑表达式,当成立时结果为“true”,大括号中语句块才会执行,如果不成立则不执行,跳出到语句块之外
3.if-else结构:可以处理简单的条件分支情况
●语法:
if(表达式){
//语句块1
}else{
//语句块2
}
4.多重if选择结构:可以处理分段的条件分支情况
●语法:
if(表达式1){
//语句块1;
}else if(表达式2){
//语句块2;
}else if(表达式3){
//语句块3;
}else{
//语句块4;
}
5.嵌套if选择结构:可以处理复杂的条件分支情况
●语法:
if(条件1){
if(条件2){
//语句块1
}else{
//语句块2
}
}else{
//语句块3
}
6、switch结构:处理等值判断
●语法:
switch(表达式){
case 常量1 :
语句块1
break;
case 常量2 :
语句块2
break;
case 常量3 :
语句块3
break;
default:
语句块4
}
●case后的常量不能相同
●冒号不能少
●每个case后的break不能少,是跳出的语句
●default表示其他情况,可以省略
●switch语句使用范围:byte、short、int、char、String、枚举,这六个类型
三、字符串的比较
使用 equals关键字
●语法:
"y".equals("x")
其中y和x表示两个字符串,返回值是“true”或“false”
四、生成随机数
使用Math.random()方法生成[0,1)的随机小数
语法:
int random1 = (int)(Math.random()*10)//取0~9的整数
int random2 = (int)(Math.random()*10+1)//取1~10的整数
五、课后作业
敲敲敲敲代码!!!!
public class LongHanQing {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//第一题,如果年龄满7岁,或者年龄满5岁,且性别是"男",就可以搬动桌子
//动态输入年龄和性别
System.out.print("请输入年龄:");
int age = input.nextInt();
System.out.print("请输入性别:");
String gender = input.next();
if (age >= 7 || age >= 5 && gender.equals("男")) {
System.out.println("可以搬动桌子!");
} else {
System.out.println("搬不动桌子!");
}
//第二题,
//动态输入3个数
System.out.print("请输入第一个数:");
int a = input.nextInt();
System.out.print("请输入第二个数:");
int b = input.nextInt();
System.out.print("请输入第三个数:");
int c = input.nextInt();
//排序前
System.out.println("-----排序前-----");
System.out.println("a是:" + a + ",b是:" + b + ",c是:" + c);
//设置中间数
int temp;
if (a < b) {
temp = b;
b = a;
a = temp;
if (a < c) {
temp = c;
c = a;
a = temp;
}
}
if (b < c) {
temp = c;
c = b;
b = temp;
}
System.out.println("-----排序后-----");
System.out.println("a是:" + a + ",b是:" + b + ",c是:" + c);
//第三题,判断能否被3或5整除
System.out.println("输入一个整数");
int num = input.nextInt();
//判断能否被3和5整除
if (num % 3 == 0 || num % 5 == 0) {
System.out.println("该整数是3或5的倍数");
} else {
System.out.println("该整数不能被3或5中的任何一个数整除!");
}
//第四题,根据成绩给苏珊珊买礼物
System.out.println("输入刘珊珊的java成绩:");
int score = input.nextInt();
if (score == 100) {
System.out.println("父亲给她买一辆车!");
} else if (score >= 90) {
System.out.println("母亲给她买一部笔记本计算机!");
} else if (score >= 60) {
System.out.println("母亲给她买一部手机!");
} else {
System.out.println("没有礼物!");
}
//第五题,旅游坐飞机题
//机票价格
int airFare = 4000;
System.out.println("请输入您出行的月份:");
int moon = input.nextInt();
if (moon >= 4 && moon <= 10) {
System.out.println("请问您选择头等舱还是经济舱(1、头等舱/2、经济舱):");
int answer = input.nextInt();
switch (answer) {
case 1:
airFare *= 0.9;
System.out.println("您的计票价格是:" + airFare);
break;
case 2:
airFare *= 0.8;
System.out.println("您的计票价格是:" + airFare);
break;
}
} else {
System.out.println("请问您选择头等舱还是经济舱(1、头等舱/2、经济舱):");
int answer = input.nextInt();
switch (answer) {
case 1:
airFare *= 0.5;
System.out.println("您的计票价格是:" + airFare);
break;
case 2:
airFare *= 0.4;
System.out.println("您的计票价格是:" + airFare);
break;
}
//第六题,使用switch实现,制定学习计划
//动态输入星期几
System.out.println("请输入星期几:");
int day = input.nextInt();
//判断,1、3、5学编程,2、4、6学英语,7休息
switch (day) {
case 1:
case 3:
case 5:
System.out.println("学习编程!");
break;
case 2:
case 4:
case 6:
System.out.println("学习英语!");
break;
case 7:
System.out.println("休息");
}
//第七题 ,使用switch实现父母对苏珊礼物的承诺
//动态输入苏珊珊成绩
System.out.println("输入刘珊珊的java成绩:");
int score1 = input.nextInt();
//根据成绩的十位数判断买什么礼物
switch (score1 / 10) {
case 10:
System.out.println("父亲给她买一辆车!");
break;
case 9:
System.out.println("母亲给她买一部笔记本计算机!");
break;
case 8:
case 7:
case 6:
System.out.println("母亲给她买一部手机!");
break;
default:
System.out.println("没有礼物!");
}
//第八题,旅游坐飞机题,switch实现
//票价
int price = 4000;
//动态输入月份
System.out.println("请输入您出行的月份:");
int month = input.nextInt();
//判断月份4~10旺季,淡季头等舱5折,经济舱4折,旺季头等舱9折,经济舱8折
switch (month) {
case 1:
case 2:
case 3:
case 11:
case 12:
System.out.println("请问您选择头等舱还是经济舱(1、头等舱/2、经济舱):");
int no = input.nextInt();
switch (no) {
case 1:
price *= 0.5;
System.out.println("您的计票价格是:" + price);
break;
case 2:
price *= 0.4;
System.out.println("您的机票价格是:" + price);
break;
}
break;
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
System.out.println("请问您选择头等舱还是经济舱(1、头等舱/2、经济舱):");
int no1 = input.nextInt();
switch (no1) {
case 1:
price *= 0.9;
System.out.println("您的计票价格是:" + price);
break;
case 2:
price *= 0.8;
System.out.println("您的计票价格是:" + price);
break;
}
}
//第九题,实现迷你计算器
//动态输入操作数和要进行的运算
System.out.println("请输入第一个操作数(整数):");
//判断输入的是不是数字
if (input.hasNextInt()) {
int num1 = input.nextInt();
System.out.println("请输入第二个操作数(整数):");
if (input.hasNextInt()) {
int num2 = input.nextInt();
System.out.println("请选择要进行的运算(1、+;2、-;3、*;4、/):");
if (input.hasNextInt()) {
int markNo = input.nextInt();
switch (markNo) {
case 1:
System.out.println("计算结果:" + num1 + "+" + num2 + "=" + (num1 + num2));
break;
case 2:
System.out.println("计算结果:" + num1 + "-" + num2 + "=" + (num1 - num2));
break;
case 3:
System.out.println("计算结果:" + num1 + "*" + num2 + "=" + (num1 * num2));
break;
case 4:
if (num2 == 0) {
System.out.println(num2 + "不能做除数!");
break;
}
System.out.println("计算结果:" + num1 + "/" + num2 + "=" + (num1 / num2));
break;
default:
System.out.println("没有该运算!");
}
} else {
System.out.println("请输入正确的数字!");
}
} else {
System.out.println("请输入正确的数字!");
}
} else {
System.out.println("请输入正确的数字!");
}
}
}
}