Day02重点内容
- 算数运算符【重点】
- 赋值运算符【重点】
- 自增自减【理解】
- 关系运算符【重点】
- 逻辑运算符【重点】
- 三元运算符【重点】
- 数据输入【会用】
- if语句【重点】
1. 算数运算符
- +, -, *, /
- / : 如果两个整数相除, 得到的结果还是整数如果想得到小数, 必须有 浮点数 参与运算 10 / 3 = 3;
10 / 6 = 1;
// 浮点数参与运算
10 / 6.0 √
10 / ( float )6 √
( float ) (10 / 6) × => 1.0 - %: 取余, 取模 获取除法运算的余数
注:
- 当 “+”操作中出现字符串时,这个 ”+”是链接(拼接)字符串,而不是算数运算; ex: ” Java “+6666
- 在”+”操作中,如果出现了字符串,就是连接运算符,否则就是算数运算,当连续进行”+”操作时,从左到右逐个执行. ex:
6 + 7 +”来了就是深圳人”+666+8888 ===> 得到的结果是 13 来了就是深圳人666888
第一个”+”是算数运算符, 第2, 3 ,4 个”+”均为拼接符.
字符的加法操作:
字符类型参与加法运算的时候, 实际参与预算的是 这个字符 对应的数字 ;
字符串的+操作:
+ : 字符串连接符 char c1 = ‘a’ ;
char c2 = ‘b’ ;
// 两个char类型相加, 结果会变成int类型
System . out . println ( c1 + c2 + “heima” ); // “195heima”
int a = 10 ;
int b = 20 ;
// 对a和b进行了很多操作
// …
System . out . println ( “a = ” + a );
System . out . println ( “b = ” + b );
2. 赋值运算符
- = : 将等号右边, 赋值给等号左边
- +=, -=, *=, /=, %= += (Java底层隐含了强制类型转换)
+= b 等效于 a = (a的数据类型) (a + b)
3. 自增自减
- ++, —
- 单独使用【常用】a++, ++a : 结果相同等效于: a = a + 1
- 参与运算【理解】++在前: 先自增, 再参与运算++在后: 先参与运算, 再自增
int a = 10;
System.out.println(a++); // 10
int b = 10;
System.out.println(++b); // 11
4. 关系运算符(比较运算符)
- 运算结果一定是 boolean 类型
- ==, !=
- >, <, >=, <=
5. 逻辑运算符
- &: 与, 和, 并且 : 遇 false 则false
- | : 或 : 遇true则true
- ! : 非, 取反
- ^ : 异或, 相同则false, 不同则true
短路逻辑运算符 && ||
System.out.println(false & false); // false
System.out.println(false & true); // false
System.out.println(true & false); // false
System.out.println(true & true); // true
// 如果第一个表达式的结果是true , 必须要看第二个表达式
// 但是如果第一个表达式的结果是false, 整体最终的结果就一定为false, 跟第二个表达式的结果没关系.
- &&(短路与) : 如果第一个表达式的结果是false, 第二个就不会执行, 和使用 & 结果相同
- ||(短路或) : 如果第一个表达式的结果是true, 第二个就不会执行,和使用 | 结果相同.
6. 三元运算符
(关系表达式)判断条件 -> 结果是boolean类型的一段代码
关系表达式 ? 值1 : 值2;
数据类型 变量名 = 关系表达式 ? 值1 : 值2; 关系表达式为true 则返回值1,为false则返回值2.
//三元运算符号 基本格式: 判断条件 ? 值1 : 值2; 条件为true,则返回值1,false则返回值2.
int f = 100;
int g = 666;
int max,min;
//如果满足f>g则三元运算符 输出最大值 f,
max = f > g ? f:g;
System.out.println("f和G中最大值为:"+max);
min = f < g ? f : g;
System.out.println("f和G中最小值为:"+min);
//从三个不同身高的中找出最高的身高.
int aa = 188;
int ba = 166;
int ca = 199;
// 定义一个临时变量接受二者比较值.
int temp = aa > ba ? aa : ba;
int max01 = temp > ca ? temp :ca;
System.out.println("三个秃驴中最高身高是:"+max01);
//也可以一行代码写完,但是可读性较差.
int max02 = aa > ba ? (aa > ca ? aa:ca ):(ba > ca ? ba : ca);
System.out.println("一行代码最高身高:"+max02);
7. 键盘录入数据(前期先记住就行)
- 导包Scanner是Java源代码中给我们提供的一个类Scanner这个类, 存在于java.util这个包中
// 放在创建类的上面
import java.util.Scanner;
- 创建键盘录入的对象
// 写在主方法中
Scanner sc = new Scanner(System.in);
- 获取键盘录入的数据
// 在主方法中, 写在创建对象的下面
int a = sc.nextInt();
8. if语句
- 第一种格式 if
// 判断条件: 结果为boolean类型的一段代码
if (判断条件) {
语句体;
}
后面的代码
- 流程: 看判断条件的结果, 如果是true, 就执行语句体, 后面的代码会继续执行如果是false, 就不执行语句体, 后面的代码会继续执行
- 第二种格式 if else
if (判断条件) {
语句体1;
} else {
语句体2;
}
- 流程看判断条件的结果(true or false)如果是true, 就执行语句体1如果是false, 就执行语句体2
- 第三种格式if — else if
if (判断条件1) {
语句体1;
} else if (判断条件2){
语句体2;
}
...
else if (判断条件n){
语句体n;
} else {
语句体n + 1'
}
- 流程从上到下依次判断如果判断条件为true, 就执行对应语句体, if语句结束 如果判断条件为false, 继续判断下一个条件如果每一个if对应的判断条件结果都为false就会执行最后的else
努力无需假装,结果不会陪你演戏. —–致自己