一、流程控制
1、分支
2、循环
3、跳转语句 break continue return
二、语法格式
if分支
1、单if版
if(条件){
条件成立才会执行
}
2、双人组合 if else
if(条件){
条件成立才会执行
}else{
条件不成立,执行这里
}
注意:两个分支绝对只会走其中一路
3、团体组合 if else if... else
if(条件1){
条件1成立才会执行
}else if(条件2){
条件2成立才会执行
}else if(条件n){
条件n成立才会执行
}
注意:这么多分支绝对只会走其中一路
# 案例1 商品换购系统
package stu;
import java.util.Scanner;
public class Stu01 {
public static void main(String[] args) {
System.out.println("==欢迎使用商品换购系统==");
System.out.println("请输入消费金额:");
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
if (a >= 100) {
System.out.println("恭喜你获得换购资格!!!");
System.out.println("选项1:+1元换购鼠标");
System.out.println("选项2:+5元换购键盘");
System.out.println("选项3:+10元换购充电宝");
System.out.println("选项4:+20元换购移动硬盘");
System.out.println("请输入换购选项:");
Scanner h1 = new Scanner(System.in);
int b = scan.nextInt();
if (b == 1) {
System.out.println("换购鼠标成功,最终消费" + (a + 1) + "元。");
} else if (b == 2) {
System.out.println("换购键盘成功,最终消费" + (a + 5) + "元。");
} else if (b == 3) {
System.out.println("换购充电宝成功,最终消费" + (a + 10) + "元。");
} else if (b == 4) {
System.out.println("换购移动硬盘成功,最终消费" + (a + 20) + "元。");
} else {
System.out.println("输入错误,失去换购资格!!!");
}
} else if (a >= 0 && a < 100) {
System.out.println("消费金额不足,无法换购");
} else {
System.out.println("金额输入错误,再见!!!");
}
}
}
# 案例 2 猜拳游戏
package stu;
import java.util.Random;
import java.util.Scanner;
public class Stu02 {
public static void main(String[] args) {
System.out.println("--欢迎来到猜拳游戏--");
System.out.println("请出拳:1-石头 2-剪刀 3-布");
Scanner scan = new Scanner(System.in);
int a=scan.nextInt();
Random ran = new Random();
int b=ran.nextInt(3)+1;
if(a>0 && a<4) {
if(a==1) {
if(b==1) {
System.out.println("玩家出:石头");
System.out.println("电脑出:石头");
System.out.println("平局!");
}else if(b==2){
System.out.println("玩家出:石头");
System.out.println("电脑出:剪刀");
System.out.println("恭喜玩家获胜!");
}else {
System.out.println("玩家出:石头");
System.out.println("电脑出:布");
System.out.println("电脑胜!");
}
}else if(a==2) {
if(b==1) {
System.out.println("玩家出:剪刀");
System.out.println("电脑出:石头");
System.out.println("电脑胜!");
}else if(b==2){
System.out.println("玩家出:剪刀");
System.out.println("电脑出:剪刀");
System.out.println("平局!");
}else {
System.out.println("玩家出:剪刀");
System.out.println("电脑出:布");
System.out.println("恭喜玩家获胜!");
}
}else {
if(b==1) {
System.out.println("玩家出:布");
System.out.println("电脑出:石头");
System.out.println("恭喜玩家获胜!");
}else if(b==2){
System.out.println("玩家出:布");
System.out.println("电脑出:剪刀");
System.out.println("电脑胜!");
}else {
System.out.println("玩家出:布");
System.out.println("电脑出:布");
System.out.println("平局!");
}
}
}else {
System.out.println("出拳有误!!!");
}
}
}
switch分支
格式:
switch(条件){
case 值1:
如果值1匹配上条件的结果,就执行这里的代码
break;
case 值2:
如果值2匹配上条件的结果,就执行这里的代码
break;
case 值3:
如果值3匹配上条件的结果,就执行这里的代码
break;
case 值4:
如果值4匹配上条件的结果,就执行这里的代码
break;
case 值5:
如果值5匹配上条件的结果,就执行这里的代码
break;
default:
以上值都不匹配,就执行这里的代码
break;
}
注意:
1.条件结果的类型绝对不是布尔类型,必须是 byte short int char 的一种
到了jdk8,还支持 String 枚举
2.case的值不能重复
3.break在switch中代表结束当前switch分支
三、从控制台输入int型整数
控制台扫描对象 Scanner scan = new Scanner(System.in);
使用;scan.nextInt() 控制台会等待用户输入一个int类型的整数
scan.nextDouble() 输入浮点数
scan.next() 输入字符串
如果用户不输入,控制台会一直等待,直到用户输入后按回车,程序才会继续运行
穿透现象:当switch中匹配好条件后遇到break就会结束
如果没有break,就会继续往下执行,直到全部结束或者遇见break
四、生成一个随机数
Random ran = new Random();
ran.nextInt(n); n>0 随机一个0~n-1之间的数
ran.nextInt(100)+1; 1~100
支线任务:
1.什么是java的枚举
Java 枚举(enum)是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一年的 12 个月份,一个星期的 7 天,方向有东南西北等。 Java 枚举类使用 enum 关键字来定义,各个常量使用逗号, 来分割。
2.if和switch各自的使用场景
if :
1、具体的值进行判断
2、区间的判断
3、对运算的结果是boolean类型表达式进行判断 true false
switch:
1、对具体的值进行判断
2、值的个数是固定的