分支|选择 结构
一、Scanner 扫描仪
借助于Scanner(扫描仪)让用户通过键盘输入数据
1.语法:
java.util.Scanner sc = new java.util.Scanner(System.in);
今天只需要记住 会写 不需要理解(面向对象后 会讲)
2.使用:
1) int m = sc.nextInt(); //键盘输入一个整数,存到变量m中
2) double d = sc.nextDouble(); //输入一个小数
3) String s = sc.next(); //输入一个字符串
4) char c = sc.next().charAt(0); //输入一个字符
//1.创建一个扫描仪
java.util.Scanner sc = new java.util.Scanner(System.in);
//2.使用扫描仪
System.out.println("请输入一个整数:");
int a = sc.nextInt();
//int result = a+10;
//System.out.println("您输入的整数 与 10的和等于:"+result);
System.out.println("请输入一个小数:");
double b = sc.nextDouble();
System.out.println("请输入一个字符串:");
String c = sc.next();
System.out.println("请输入一个字符:");
char d = sc.next().charAt(0);
System.out.println("您输入的整数:"+a);
System.out.println("您输入的小数:"+b);
System.out.println("您输入的字符串:"+c);
System.out.println("您输入的字符:"+d);
注意:
1.接收到的数据 需要使用相应的数据类型进行接收
2.在输入数据时 数据的类型需要与使用的语法相匹配
二、导入包 Import
JDK中的类所在的包结构层级一般都比较复杂,可以借助导入包的语法,在使用其它包中的一个类时,只写一次包结构。
1.语法:
1.import 包名1.包名2.类名; 只导入包中的一个类
2.import 包名1.包名2.*;导入包中所有类
2.定义位置:
1.import 语句 在package语句以下 类以外 一放在第二行
2.一个源文件中 可以写0~n个导入包的语句
注意:
java会为每个文件中 补上import java.lang.*;
自动导入java.lang包中的内容,例如String
小练习:
--------欢迎使用学生管理系统------------
请输入您的姓名:
xxx
请输入您的学号:
xx
请输入您的java的分数:
x
欢迎 xxx,您的学号是 xx ,您的java分数是x
要求使用import语句
三、分支|选择结构
1.if结构
语法:
//代码 1
if(布尔表达式){
//代码2
}
//代码 3
执行流程:
1.判断布尔表达式 是否为真
2.如果为真 则执行代码2(if后{}中的代码) 执行完代码2后 继续执行代码3
3.如果为假 跳过代码2 直接执行代码3
2.if…else…结构
语法:
//代码1
if(布尔表达式){
//代码2
}else{
//代码3
}
//代码4
执行流程:
1.判断布尔表达式是否为真
2.如果为真 执行代码2
3.如果为假 执行代码3
4.代码3或代码2执行完后 继续执行代码4
3.if…else if…else if…else…
语法:
//代码1
if(布尔表达式1){
//代码2
}else if(布尔表达式2){
//代码3
}else if(布尔表达式3){
//代码4
}....else if可以写n个{
}else{
//代码5
}
//代码6
执行流程:
1.判断布尔表达式1
2.如果布尔表达式1为真 则执行代码2 执行完代码2后 整个分支结构直接结束 不再执行任何代码
3.如果布尔表达式1为假 判断布尔表达式2
4.如果布尔表达式2为真 则执行代码3 执行完代码3后 整个分支结构直接结束 不再执行任何代码
5.如果布尔表达式2为假 判断布尔表达式3
6.如果布尔表达式3为真 则执行代码4 执行完代码4后 整个分支结构直接结束 不再执行任何代码
....
7.如果所有布尔表达式均不满足(均为假)则执行最后一个else后{}中的代码5
8.若整个分支结构结束 则继续执行代码6
4.嵌套if结构
语法:
//代码1
if(布尔表达式1){
//代码2
if(布尔表达式2){
//代码3
}
}else{
//代码4
if(布尔表达式3){
//代码5
}
//代码6
}
//代码7
执行流程:
先判断外层条件 再判断内层条件
5.switch分支结构
语法:
switch(表达式){
case 数值1://代码1;
case 数值2://代码2;
....n个 case 数值://代码
default://代码
}
执行流程:
1.如果表达式的值 等于case后的某个数值,则从该case的代码开始执行,该case下的所有代码也会被执行
2.default:当表达式的值没有任何case的值匹配成功时 就执行default后的代码
3.default 可以放在任意位置对顺序无要求 一般放在最后
注意:
1.表达式的值与case的值可以为以下这些类型:byte short int char
2.在JDK1.7之后 表达式的值和case后的值 可以定位为 String字符串类型
6.break与switch的使用
语法:
switch(表达式){
case 数值1://代码1;break;
case 数值2://代码2;break;
....n个 case 数值://代码;break;
default://代码
}
作用:
当表达式的结果匹配上case后面的某个值时,其后的代码块会被执行,但并不会退出整个switch语句,需要使用 break;语句终止switch...case结构。
四、局部变量
定义在 函数 中的变量,被称为局部变量
1.作用范围:从它的定义行起,到定义它的代码块结束
2.使用流程:先声明 赋值 再使用
3.如果作用范围重叠,则两个局部变量名 不可冲突(相同)