上期回顾:
1,运算符:
a.算数运算符: + - * / % ++ –
取商:10 / 3 结果3
取余:10 / 3 结果1
++:自增1 i++ 先计算,在加1 ++i先加1,再计算
--:自减1
b.赋值运算符:+=, -=, *=, /=, %/
int a = 10;
a +=2,//相当于 a = a +2
c.关系运算符:< ,>,<=,>=,==,!=
计算结果为布尔类型的,true,false
d.逻辑运算符: &&, ||, !
操作数是boolean,结果是boolean类型
e.三元运算符:X ? Y : Z
X是一个boolean类型的表达式,X true 取Y的值。X false 取Z的值
String res = score >= 60 ? “及格” : “不及格”;
2,表达式
概念;有操作数和运算符组成的一个式子
计算:计算的结果
3,自动类型提升:
int a = 10;
float b = 3.14f;
float sum = a + b //注意:byte,short,char运算的时候,结果是int类型
double,float,long ,int //注意:+ 遇到字符串,起拼接作用
4,控制台输入:
import java,util.Scanner //step1.导入包
Scanner input = new Scanner(System.in); //step2.创建扫描器
String str = input.next(); //step3.读取字符串
int i = input.nextInt(); // 读取整数
double = input.nextDouble(); // 读取小数
char = input.next().charAt(0); // 读取字符
2.1,程序的流程结构:
A.顺序结构:默认的,从上到下,逐行执行。
B.选择结构:条件满足,某些代码才会执行。
C.循环结构:条件满足,某些代码会反复读奥次执行,知道条件不满足。
2.2,if语句
if语法:
if(布尔表达式){ 代码块}//if条件成立,则执行此处代码块。
执行流程:
对布尔表达式进行判断,true执行,false不执行
int age = 24;
if(age >= 18){
System.out.println(age + "岁了,你已经是个大人了,要对自己负责");//true执行;false不执行
}
Syetem.out.println("main...over...");
if else语句
二者必选其一
if else语法:
if(布尔表达式){代码块1}else{代码块2}
执行流程:
对布尔表达式进行判断,结果true执行代码块1,结果false,执行代码块2
char sex = input.next().charAt(0);
if(sex == '男'){}
System.out.println("男性");
}else{
System.out.println(“女性”);
}
System.out.println("main over...");
String类型比较是否相等,使用.equals():“男生”.equals(sex)
if("admin".equals(input)){代码块1}else{代码块2}//比较输入的字符串是否是“admin”
多重if选择结构:
if else语法:
if(布尔表达式){代码块1}else if{代码块2}else if{代码块3}else{};
布尔表达式相互排斥,有一个为true,其它均不执行
int num = input.nextInt();
if(num > 0){
System.out.println(num + "是正数");
}
else if(num < 0){
System.out.println(num + "是负数");
}
else{
System.out.println(num + "是零");
}
double score = input.nextDouble();
if(score < 0 || score > 100){
System.out.println("成绩有误");
}
if else(score <= 60){
System.out.println("及格");
}
if else(score <= 80){
System.out.println("良好");
}
if else(score <= 90){
System.out.println("优秀");
}
else(score <= 100){
System.out.println("学霸");
}
if语句的嵌套:
注意:如果说if语句里只有一行代码,那么{}可以省略不写。但是不建议。
if(外层条件){
if(内层条件){
}else{
}
}else{
}
2.3,switch语句
switch也是实现分支语句
swich(变量/表达式){
case 数值1:分支1;break;
case 数值2:分支2;break;
case 数值3:分支3; break;
default://最后一个分支;
}
注意:
1.case后的数值,不能重复。
2.case是无序的,险些或者后写都可以,关键是能否匹配switch作用的变量。
3.switch作用的变量类型:short,byte,char,int,String。
4.default是可选的。
5.某个case匹配上后,如果该分支中没有break,那么后续的case都不再匹配,直接执行。一直到遇到break位置。