04_Java基础语法
1、分支结构
1.1 switch-case 分支结构
格式:
switch (表达式) {
case 常量1:
语句块1;
break;
case 常量2:
语句块2;
break;
case 常量3:
语句块3;
break;
default:
语句块4;
break;
}
执行流程:
1、首先计算表达式的值;
2、将得到的值与case后的常量依次进行匹配,如果匹配到相同的值,执行该case语句,之后执行break语句,switch-case语句执行结束;如果没有匹配到相同的值,执行最后的default语句,之后执行break语句,switch-case语句执行结束。
注意:
1、case之后的常量数据类型目前限制在int、char类型;
2、case之后的常量具有唯一性,即同一个常量不能出现在一个switch-case结构中的多个case常量选项中;
3、switch-case结构中,执行语句必须放在case之后或者default之后,否则会报错;
4、default语句主要用来进行无匹配结果的反馈,可以省略(在阿里巴巴开发规范中,switch-case结构中的default不允许省略);
5、一个switch-case分支结构中可以有多个case语句,但只能有一个default语句。
1.2 switch-case代码演示
基本代码演示
//分支结构
public class Demo1 {
public static void main(String[] args) {
int choose1 = 1;
int choose2 = 11;
System.out.println("1、酱牛肉 ");
System.out.println("2、方中山胡辣汤 ");
System.out.println("3、羊肉烩面 ");
System.out.println("4、羊肉汤 ");
System.out.println("5、宫保鸡丁盖饭 ");
System.out.println("-----------------------------");
switch (choose1) {
case 1:
System.out.println("酱牛肉 80RMB");
break;
case 2:
System.out.println("方中山胡辣汤 8RMB");
break;
case 3:
System.out.println("羊肉烩面 20RMB");
break;
case 4:
System.out.println("羊肉汤 20RMB");
break;
case 5:
System.out.println("宫保鸡丁盖饭 15RMB");
break;
default:
System.out.println("没有该选项");
break;
}
System.out.println("-----------------------------");
switch (choose2) {
case 1:
System.out.println("酱牛肉 80RMB");
break;
case 2:
System.out.println("方中山胡辣汤 8RMB");
break;
case 3:
System.out.println("羊肉烩面 20RMB");
break;
case 4:
System.out.println("羊肉汤 20RMB");
break;
case 5:
System.out.println("宫保鸡丁盖饭 15RMB");
break;
default:
System.out.println("没有该选项");
break;
}
}
}
运行结果如下图
1.3 从键盘获取数据
使用方法
1、在定义类之前导包
import java.util.Scanner;
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);
基本代码演示
//获取键盘输入数据
//导入jar包
import java.util.*;
public class Demo2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);//创建对象
System.out.println("请输入您的消费金额:");//用户操作引导提示
int totalPrice1 = sc.nextInt();//读取输入的数据
//判断数据正确性
if (totalPrice1 <= 0) {
System.out.println("请输入正确的金额哦");
System.exit(0);//中断程序执行 直接关闭程序 后期开发中勿用
}
if (totalPrice1 >= 500) {
System.out.println("尊贵的客户,送您一箱特仑苏");
} else if (totalPrice1 >= 200) {
System.out.println("尊贵的客户,送您一瓶崂山啤酒");
} else if (totalPrice1 >= 100) {
System.out.println("尊贵的客户,送您一片绿箭");
} else {
System.out.println("尊贵的客户,送您一个塑料袋");
}
}
}
运行结果如下图
2、循环结构
循环结构的优点:
1、减少代码数量
2、提高代码阅读性
3、提高代码维护性
2.1 while 循环结构
格式:
while (表达式/* 循环条件判断 结果数值为boolean类型 */) {
循环体;//进行循环条件的变更
}
执行流程:
1、判断表达式的值的真假;
2、如果为假(false),结束循环;
3、如果为真(true),执行循环体内容,进行循环条件变更,之后继续判断表达式的值,直到表达式的值为假(false),结束循环。
基本代码演示
//while循环结构
public class Demo3 {
public static void main(String[] args) {
int num = 3;
while (num > 0) {
//出现无限循环 CTRL+C 结束循环
System.out.println("下楼做核酸了");
num--;//循环条件变更
}
}
}
运行结果如下图
2.2 do-while 循环结构
格式:
do {
循环体;//进行循环条件的变更
} while (表达式/* 循环条件判断 结果数值为boolean类型 */);
执行流程:
1、第一次循环,先执行循环体的内容;
2、之后判断表达式值的真假;
3、如果为假(false),结束循环;
4、如果为真(true),执行循环体内容,进行循环条件变更,之后继续判断表达式的值,直到表达式的值为假(false),结束循环。
基本代码演示
//do-while循环结构
public class Demo4 {
public static void main(String[] args) {
int num = 3;
//循环体至少执行一次
do {
System.out.println("绿码");
num--;//循环条件变更
} while (num > 0);
}
}
运行结果如下图
2.3 for 循环结构
格式:
for (/* 循环条件初始化 */; /* 循环条件判断 */; /* 循环条件变更 */) {
循环体;
}
执行流程:
基本代码演示
//for循环
public class Demo5 {
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
System.out.println("低风险地区");
}
}
}
运行结果如下图