键盘录入:
- 导包
- 格式:import java.util.Scanner;
- 位置:在class上边
- 创建键盘录入对象
- 格式:Scanner sc = new Scanner(System.in);
- 通过对象获取数据
- 格式:int x = SC.nextInt();
/*
键盘录入数据
*/
// 步骤一:
import java.util.Scanner;
class OperatorDemo4 {
public static void main(String[] args){
// 步骤二:
Scanner sc = new Scanner(System.in);
// 步骤三:
System.out.println("请您输入一个数据");
int x = sc.nextInt();
System.out.println("您输入的数据是:"+x);
}
}
流程控制语句:
- 程序的流程对运行结果有直接的影响。所以,我们需要知道每条语句的执行流程。并且,我们要通过控制语句的执行顺序来完成我们的目标
- 流程控制语句分类:
- 顺序结构
- 选择结构
- 循环结构
顺序结构:
- 概述:是程序中最简单,最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行。
/*
顺序结构:程序按照从上到下的顺序依次执行
*/
class ShunXuJieGouDemo {
public static void main(String[] args){
System.out.println("执行第一步");
System.out.println("执行第二步");
System.out.println("执行第三步");
}
}
选择结构:
- 也被成为分支结构
- 有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码
- 分为if语句和switch语句
if 语句:
/*
选择结构--if语句
if语句:
格式1:
if (条件表达式){
语句体
}
执行流程:计算表达式的值,如果为真,则执行语句体;如果为假,则不执行语句体;
格式2:
if (条件表达式){
语句体1;
}else{
语句体2;
}
执行流程:计算条件表达式的值,如果为真,执行语句体1,如果为假,执行语句体2;
格式3:
if (条件表达式){
语句体1;
}else if(条件表达式2){
语句体2;
}else{
语句体3;
}
执行流程:如果条件表达式1为true,就执行语句体1,如果为假,就判断条件表达式2,如果为真
就执行语句体2,如果为假酒执行语句体3
注意事项:
1.条件表达式,结果必须是布尔类型
2.if语句控制的语句如果为一条,大括号可以省略,如果是多条,则不可以省略,最好不省略
3.一般来说,有左大括号就没有分好,有分号就没有左大括号
*/
import java.util.Scanner;
class IfDemo {
public static void main(String[] args) {
int x = 10;
// 格式1
if (x == 10) {
System.out.println("x等于10");
}
System.out.println("over");
// 格式2
int y = 5;
if (x > y) {
System.out.println("x 大于 y");
}else{
System.out.println("x 小于 y");
}
// 格式3
Scanner sc = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = sc.nextInt();
if (score >= 80){
System.out.println("优秀");
}else if(score >= 60){
System.out.println("良好");
}else {
System.out.println("差");
}
}
}
switch语句:
/*
switch语句格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
格式的解释:
switch:表示这是switch选择结构
表达式:这个地方是有限定的
byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串
case:后面跟的是要和表达式进行比较的值
break:表示中断,结束的意思,可以控制switch语句的结束
default:当所有的值都和表达式不匹配的时候,就执行default的语句体。
注意事项:
1.case后面的值必须是常量,不能是变量,而且值不能相同
2.可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
3.可以省略,但是结果可能不是我们想要的,会出现case穿透的结果
4.default可以在任何位置,但是最好在末尾
5.switch语句遇到break结束,或者执行到末尾结束
*/
import java.util.Scanner;
class Demo {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入数字(1-7):");
int week = sc.nextInt();
switch(week){
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;
default:
System.out.println("你输入的数据有误");
break;
}
}
}
补充:
if语句和switch语句的区别?
- if语句
- 针对结果是boolean类型的判断
- 针对一个范围的判断
- 针对几个常量值得判断
- switch语句
- 针对几个常量值的判断