上一期是对数据类型的讲解,主要是对标识符、关键字、注释、变量和常量的介绍以及对数据类型中基本类型和引用类型有了一定的介绍
这一期是第五期:是对分支结构的讲解,我们通过对if 、if(判断语句..){满足条件的代码...}else{不满足的代码}、else if以及switch case进行实操,对着四个分支结构进行了解和掌握...
分支结构
1、if
顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。
对于要先做判断再选择的问题就要使用分支结构。
1.1 形式
单分支
if(判断条件){满足条件的代码}
多分支
if(判断条件){
满足条件的代码
}else{
不满足条件的代码
}
嵌套分支
if(判断条件1){
代码1
}else if(判断条件2){
代码2
}else if(判断条件3){
代码3
}else if(判断条件4){
代码4
}else{
谁都不满足的代码
}
1.2 练习1:设定一个10以内的值,猜测数字大小
package cn.qile;
import java.util.Scanner;
public class Test_If {
public static void main(String[] args) {
System.out.print("请输入10以内的数字:");
int a = new Scanner(System.in).nextInt();
if (a == 5) {
System.out.print("恭喜你!猜对了,答案就是5!!!");
}
}
}
1.3 练习2:补充上一练习
package cn.qile;
import java.util.Scanner;
public class Test2_IfElse {
public static void main(String[] args) {
System.out.print("请输入10以内的数字:");
int a = new Scanner(System.in).nextInt();
if (a == 5) {
System.out.print("恭喜你!猜对了,答案就是5!!!");
} else {
System.out.print("小伙子,你猜错了,下次再来啊!!");
}
}
}
1.4 练习3:商品打折
接收用户输入的原价。
满1000打9折。
满2000打8折。
满5000打5折。
package cn.qile;
import java.util.Scanner;
public class Test3_ElseIf {
public static void main(String[] args) {
//1、接收用户输入的原价
System.out.print("商品原价:");
double price = new Scanner(System.in).nextDouble();
//2、判断,计算折后价
double now = price;//记录折后价
if(price >= 5000) {//满5000
now = price*0.5;//打5折
}else if(price >= 2000) {//满2000
now = price*0.8;//打8折
}else if(price >= 1000) {//满1000
now = price*0.9;//打9折
}
System.out.println("折后价为:"+now);
}
}
2、switch
当一个case成立,从这个case向后穿透所有case,包括default。
直到程序结束或者遇到break程序才结束。
2.1 形式
switch(整型表达式){
case 1 : syso(1);break;
case 2 : syso(2);
case 3 : syso(3);
case 4 : syso(4);
case 5 : syso(5);
default:syso(0);
}
2.2 练习4:数字匹配
package cn.qile;
public class Test4_Switch {
public static void main(String[] args) {
int a = 1;
//1、小括号里的参数类型是整型:byte short int char jdk1.5后String
switch(a) {
//3、当匹配到了case,并且没有break,会向后穿透所有case包括default
//4、break可以结束程序
case 1 : System.out.println(1);break;
case 'a' : System.out.println(2);break;
case 20 : System.out.println(3);break;
//2、如果没有匹配的case就会执行default
default:System.out.println(0);
}
}
}