Scanner
分支结构
1 )Scanner接收用户输入的数据:
例:
1) 在package下:
import java.util.Scanner;
2) 在main中:
Scanner scan = new Scanner(System.in);
3) 在第2步下面:
System.out.println(“请输入年龄:”);
int age = scan.nextInt();
System.out.println(“请输入价格:”);
double price = scan.nextDouble();
2)分支结构: 有条件的执行某语句
2.1) if结构: 单路分支
语法:
语句块0;
if(条件表达式){
语句块1;
}
语句块2;
程序的执行步骤
1.先执行语句0
2.判断条件表达式的值,(true/false)
3.如果条件表达式的值为true,则执行大括号里面的代码(if语句块)
4.如果条件表达式的值为false,则不执行直接跳过if语句块
2.2) if…else结构: 双路分支
语法:
语句块0;
if(条件表达式){
语句块1;
}else{
语句块2;
}
执行步骤
1.先去执行语句0;
2.再去判断if小括号里面条件表达式的值(true/false)
如果为true,则执行语句块1(第一个大括号里面的代码)
如果为false,则执行语句块2(第二个else后面的大括号里面的内容)
2.3) if…else if结构: 多路分支
if…else if语句针对某一种事件的多种情况进行处理
通常表现为如果满足某个条件,就进行某种处理,否则,如果满足另一种条件.就进行另一种处理
语法
if(条件表达式1){
语句块1
}else if(条件表达式2){
语句块2
}else if(条件表达式3){
语句块3
}else if(条件表达式4){
语句块4
}
2.4) switch…case结构: 多路分支
优点: 效率高、结构清晰
缺点: 用于做整数值匹配的
byte,short,char,int,String(JDK1.7–开始支持String)
能用switch…case实现的功能,都能用if…else if实现
能用if…else if实现的功能,不一定能用switch…case实现
语法:
switch(表达式){
case 常量表达式1:
语句1;
case常量表达式2:
语句2;
default:
语句3;
}
例:
public static void main(String[] args) {
int year=2028;
int month=7;
int days=0;
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days=31;
break;
case 4:
case 6:
case 9:
case 11:
days=30;
break;
case 2:
if((year%4==0 && year%100!=0)|| year%400==0){
days=29;
}else{
days=28;
}
}
System.out.println("days="+days);
}
}
*break: 跳出本次循环(只能跳出一层循环)
continue: 跳过循环体中剩余语句而进入下一次循环
明天继续加油!!!