Java基础语法(流程控制)入门到放弃的第四天
分支语句
Java中常见的两种分支语句:
-
if…else if…else…
-
swich…case…default
1.if分支语句
主要用于范围判定时使用。
基本语法结构:
if(布尔条件表达1){
//条件成立时执行
}else if(布尔条件表达2){
//布尔条件表达1不成立,但是布尔条件表达2成立时执行
}else{
//两个条件都不成立时
}
例题:根据输入的一个年份,如果该年份是闰年,则输出”闰年“ 否则不做任何操
作。
Scanner sc=new Scanner(System.in);
int year=sc.nextInt();
if(year%4==0&&year%100!=0||year%400==0){
System.out.println(year+"年是闰年")
}else{
System.out.println(year+"年是平年")
}
例题:输入一个商品(康帅傅牛肉面)的单价,以及购买数量,根据购买数量的
不同, 给予客户不同的折扣,具体折扣如下:
1.小于3件 原价
2.[3,5) 95折
3.[5,10) 9折
4.[10,20) 8折
5.>=20 7折
求总价格?
double count = 0;
Scanner sc = new Scanner(System.in);
System.out.print("请输入商品价格:");
double price = sc.nextDouble();
System.out.print("输入商品数量:");
int num = sc.nextInt();
if (num < 3) {
count = price * num;
} else if (num < 5) {
count = price * num * 0.95;
} else if (num < 10) {
count = price * num * 0.9;
} else if (num < 20) {
count = price * num * 0.8;
} else {
count = price * num * 0.7;
}
System.out.println("商品的总价格为:" + count);
}
2.switch语句
对于一些固定值的判断,Java中提供的switch更加实用些。
基本语法:
/*支持的数据类型
1.byte short int
2.char
3.String
4.eunm(枚举)*/
switch(变量){
case 值1:
//执行体
break;
case 值2:
//执行体
break;
...
default:
//以上所以值都不满足的情况下执行
break;
}
例题:亚索的q、w、e、r、d、f技能。
//swich语句
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个技能: ");
String a=sc.nextLine();
switch (a){
case "q":
System.out.println("斩钢闪");
break;
case "w":
System.out.println("风之障壁");
break;
case "e":
System.out.println("踏前斩");
break;
case "r":
System.out.println("狂风绝息斩");
break;
case "d":
System.out.println("点燃");
break;
case "f":
System.out.println("闪现");
break;
default:
System.out.println("你会不会玩");
break;
}
3.枚举类型的入门
枚举就是将有限的固定值列举出来。
枚举语法:
//声明枚举类型Season
public enum Season{
//枚举值
SPRING,
SUMMER,
AUTUMN,
WINTER
}
使用:
Seanson s=Season.WINTER;
switch(s){
case SPRING:
System.out.println("春天");
break;
case SUMMER:
System.out.println("夏天");
break;
case AUTUMN:
System.out.println("秋天");
break;
case WINTER:
System.out.println("冬天");
break;
}
循环语句
1.for循环
基本语法:
for(初始变量;条件判断;更改变量){
//循环体
}
//例如:打印1~100
for(int i=1;i<=100;i++){
System.out.println(i);
}
2.while循环
- while语法
while(条件判断){
//循环体
}
//例如:打印1~100
int i=1;
while(i<=100){
System.out.println(i);
i++;
}
-
do…while语法
do{ //循环体 }while(条件判断) //例如:打印1~100 int i=1; do{ System.out.println(i); i++; }while(i<=100);
3.嵌套循环
循环语句中包含另一个循环;循环流程:由外向内,内层执行完毕再返回外层执行。
//打印九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
if (j == 1 && i > 1) { //每当j=1的时候换行
System.out.println();
}
System.out.print(i + "*" + j + "=" + (i * j) + "\t");
}
}
循环中断
通常情况下,循环语句中有在满足循环结束条件时才会结束,对于某些特殊的需要,Java中也提供跳出循环的关键字。
-
continue
continue用于跳出循环结构中的某一次循环,后续次数的循环不受影响
for(int i=1;i<1000;i++){
if(i%7==0){
//当i是7的倍数时,本次循环结束
continue;
}
System.out.println(i);
}
-
break
break在case语句中用于结束case;在循环中用于结束一层循环,如果有多层循环嵌套,也只会结束一层循环。
for(int n=0;n<10;n++){
for(int i=0;i<10;i++){
if(i%7==0){
//当i是7的倍数时,直接结束内循环
break;
}System.out.println(i);
}
}
-
return
return用于结束方法,并可以根据方法的定义返回类型,位方法返回结果;在循环中也会结束整个方法
for(int n=0;n<10;n++){
for(int i=1;i<100;i++){
if(i%7==0) {
//结束方法
return;
}
System.out.println(i);
}
}
注意:continue是跳出某一次循环,循环还能继续。break和return是直接中断循环,直接结束。