键盘录入的基本格式
1)首先是导包,在class上面写:import java.util.Scanner,这是Java自带的包。
2)然后创建键盘录入对象,格式为:Scanner sc = new Scanner(System.in);
3)通过对象获取数据,格式为:int x = sc.nextInt();
如果想输入文字可以这么写:
String str = scanner.nextLine(); //获取用户输入的字符串
选择结构
选择结构有两种,一种是if语句,一种是switch语句。
选择结构if语句格式及其使用
if语句有三种格式
格式一:
if(比较表达式或者是boolean类型的值) {
语句体;
}
注意事项
a:比较表达式无论简单还是复杂,结果必须是boolean类型
b:if语句控制的语句体如果是一条语句,大括号可以省略;如果是多条语句,就不能省略。建议永远不要省略。
c:一般来说:有左大括号就没有分号,有分号就没有左大括号
先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体;
如果是false,就不执行语句体;
例如:判断两个数据是否相等
int a=100;
int b=100;
if(!(a==b)){
System.out.println(“相等!”);
}
格式二:
if(比较表达式) {
语句体1;
}else {
语句体2;
}
注意事项:else后面是没有比较表达式的,只有if后面有。
执行流程:
首先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体1;
如果是false,就执行语句体2;
三元运算符实现的,都可以采用if语句实现。反之不成立。
例如:判断较大值
if(a>b){
max=a;
}else{
max=b;
}
格式三:
适合多个条件判定的语句
if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}else if(比较表达式3) {
语句体3;
}
…
else {
语句体n+1;
}
注意事项: 当只要有一个条件满足时,if语句结束。else是可以省略,但是不建议省略。
执行流程:
首先计算比较表达式1看其返回值是true还是false,
如果是true,就执行语句体1,if语句结束。
如果是false,接着计算比较表达式2看其返回值是true还是false,
如果是true,就执行语句体2,if语句结束。
如果是false,接着计算比较表达式3看其返回值是true还是false,
...
如果都是false,就执行语句体n+1。
例子:求三个数最大值
if(a>b&&a>c){
max=a;
}else if(b>a&&b>c){
max=b;
}else{
max=c;
}
switch语句
switch语句的格式
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
…
default:
语句体n+1;
break;
}
switch语句的格式解释
(1):switch表示这是switch语句
表达式的取值:byte,short,int,char
JDK5以后可以是枚举(什么是枚举,以后再讲)
JDK7以后可以是String
(2):case后面跟的是要和表达式进行比较的值
(3):语句体部分可以是一条或多条语句
(4):break表示中断,结束的意思,可以结束switch语句
(5):default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似
例子:int a=10;
int num=10;
switch(num){
case 10:
System.out.println(“是一个10”);
//break;
case 20:
System.out.println(“是一个20”);
// break;
case 30:
System.out.println(“是一个30”);
// break;
case 40:
System.out.println(“是一个40”);
//break;
case 100:
System.out.println("是一个100");
//break;
default:
System.out.println("以上case项都没有匹配上,执行默认项里面的代码");
break;
}
注意事项
switch语句的一些特点
1.switch语句所支持的数据类型,byte short int char JDK1.5之后支持枚举类型 JDK1.7之后支持字符串类型
2.case 后面的只能是常量
3.default 可以写也可以不写 位置放在前后都行,他是所有case项都没有匹配上就会执行
4.break 结束整个switch语句 break 如果说你忘了写,会发生一个现象 case穿透,这种现象你可以利用
if语句和switch语句的区别
if语句:
if(num3||num4||num5){
System.out.println(“春季”);
}else if(num6||num7||num8){
System.out.println(“夏季”);
}else if(num==9||num==10||num==11){
System.out.println("秋季");
}else if(num==12||num==1||num==2){
System.out.println("冬季");
}else{
System.out.println("你乱输的");
}
switch语句:
switch(num){
case 1:
System.out.println(“冬季”);
//break;
case 2:
System.out.println(“冬季”);
break;
case 3:
System.out.println(“春季”);
break;
case 4:
System.out.println(“春季”);
break;
case 5:
System.out.println(“春季”);
break;
case 6:
System.out.println(“夏季”);
break;
case 7:
System.out.println(“夏季”);
break;
case 8:
System.out.println(“夏季”);
break;
case 9:
System.out.println(“秋季”);
break;
case 10:
System.out.println(“秋季”);
break;
case 11:
System.out.println(“冬季”);
break;
case 12:
System.out.println(“冬季”);
break;
default:
System.out.println(“以上case项都没有匹配上,执行默认项里面的代码”);
break;
f语句使用场景:
针对结果是boolean类型的判断
针对一个范围的判断
针对几个常量值的判断
switch语句使用场景:
针对几个常量值的判断