Java基础复习day04(键盘输入和流程控制语句)
目录标题
- Java基础复习day04(键盘输入和流程控制语句)
- 键盘输入
- 流程控制语句
- 顺序结构
- 选择结构(if、switch)
键盘输入
步骤
1.导包
import java.util.Scanner;
2.获取Scanner
Scanner sc =new Scanner(System.in);
3.获取数据
sc.nextInt();获取整数
sc.nextDouble();获取double类型的小数
sc.nextLine();获取一行
sc.next();获取字符串
//1.导包
import java.util.Scanner;
class JavaDemo{ public static void main(String[] args) {
//2.获取Scanner
Scanner sc=new Scanner(System.in);
//3.获取数据
//int num=sc.nextInt();//获取整数
String s=sc.nextLine();//获取一行转成字符串
System.out.println("s:"+s);
}
}
流程控制语句
通过语句控制java程序的执行轨迹
顺序结构
从上往下由左往右依次编译执行(绝大部分代码)
/*
顺序结构
*/
class JavaDemo{
public static void main(String[]args) {
System.out.println("欢迎来到英雄联盟!!!");
System.out.println("敌军还有30s到达战场,碾碎他们!!!");
System.out.println("全军出击!!!");
System.out.println("FirstBlood!!!");
System.out.println("Victory!!!");
}
}
选择结构(if、switch)
if语句
if语句格式一
if语句格式1(提供一个选择,可能有结果可能没有结果)
if(判断条件){ 语句体;}
执行流程:先去计算判断条件,如果判断条件计算之后的值为true接着执行语句体
执行完语句体之后执行其他语句;如果判断条件计算之后的值为false执行其他语句。
/*
if语句格式1)*/
class IfDemo1{
public static void main(String[] args) {
int price=1999;
int money=1000;
//如果语句体只有一行代码可以省略{}不写
if(money>price)
System.out.println("不差钱,随便买!!!");
//其他语句
System.out.println("后院失火,回家了。。。");
}
}
if语句格式二
if语句格式二(提供一个选择,一定返回一个结果)
if(判断条件){语句体1;}else{语句体2;}
执行流程:先去计算判断条件的值,如果判断条件的值计算出之后是true执行语句体1接着执行其他语句;
如果判断条件的值计算出之后是false执行语句体2接着执行其他语句。
if语句格式2的语句体是值时才和三目等效
/*
if语句格式二
*/
class IfDemo2{
public static void main(String[] args) {
//求两个整数最大值
/*int a=3; int b=4; int max=0; if(a>b){
//System.out.println(a);
max=a;
}else{
//System.out.println(b);
max=b;
}*/
//求三个整数最大值
int a=3; int b=6; int c=1;
if(a>b){
//执行到此区域表明a大于b
if(a>c){
System.out.println(a);
}else{
System.out.println(c);
}
}else{
//执行到此区域表明b大于a
if(b>c){
System.out.println(b);
}else{
System.out.println(c);
}
}
}}
if语句格式三
if语句格式3(提供多个选择,只有一个结果)
if(判断条件1){ 语句体1;}
else if(判断条件2){ 语句体2;}
else if(判断条件3){ 语句体3;}....
else{语句体n+1;}
执行流程:先去计算判断条件1,如果值是true执行语句体1接着执行其他语句;
如果值是false接着计算判断条件2,
如果值是true执行语句体2接着执行其他语句;
如果值是false接着计算判断条件3
如果计算结果是true执行语句体3接着其他语句;如果一直计算判断条件的值都是false执行else里的语句体n+1接着执行其他语句。
/*
if语句格式三
*/
import java.util.Scanner;
class IfDemo3{
public static void main(String[] args) {
//根据星星数获取对应的段位
//通过键盘录入获取输入的星星数
Scanner sc=new Scanner(System.in);
int xing=sc.nextInt();
if(xing>=0&&xing<5){
System.out.println("倔强青铜"); }
else if(xing>=5&&xing<10){
System.out.println("不屈白银");
}else if(xing>=10&&xing<20){
System.out.println("荣耀黄金");
}else if(xing>=20&&xing<90){
System.out.println("超凡大师");
}else if(xing>=90&&xing<=100){
System.out.println("嘴强王者");
}else{
System.out.println("亲,您输入的星星数有问题");
}
}
}
if语句格式一、二、三↑
switch语句
switch
格式
switch(表达式){ case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
...
default:
语句体n+1; break;
}
执行流程:
先去计算出表达式的值,拿着这个计算出的值和所有的case值进行比较
如果有相等的就执行对应case的语句体,执行完语句体执行break,switch语句执行结束;
如果计算出的值和所有的case值都不相等执行default对应的语句体接着执行 break,switch语句结束。
注意:
1.表达式支持byte、short、int、char,从jdk1.5开始支持枚举类型、从jdk1.7开始支持String类型
2.case的值都是常量,不能重复
3.支持省略break,省略break会出现case穿透效果(给定月份返回对应的季节)
4.支持省略default(选择题 机考)
5.switch语句结束的标志
a.遇见break b.执行到代码最后一行自然结束
class
SwitchDemo{ public static void main(String[] args) {
//
System.out.println("欢迎致电中国东东");
System.out.println("查询电话余额请按1");
System.out.println("查询套餐请按2");
System.out.println("查询剩余流量请按3");
System.out.println("开通带宽请按4");
System.out.println("人工服务请按0");
//给定输入按键的值
int
num=1;
//根据按键来进行选择
switch(num){
case 1:
System.out.println("您的电话余额为-1000");
break;
case 2:
System.out.println("月内流量10G");
break;
case 3:
System.out.println("剩余流量10MB");
break;
case 4:
System.out.println("请提供身份证以#结束"); break;
case 0:
System.out.println("正在为您转接人工客服,此次通过已被录音");
break;
default:
System.out.println("输入错误,请重新输入");
break;
}
} }