运算符:对字面量或者变量进行操作的符号
表达式:用运算符把字面量或者变量连接起来,符合java语法的式子就可以称为表达式;不同运算符连接的表达式体现的是不同类型的表达式。
- Spackage cn.wwq.YunSuanFu;
-
- import java.util.Scanner;
-
- public class demo1 {
- /**
- *需求:键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台
- * 公式总结:
- * 个位:数值 % 10
- * 十位:数值 / 10 % 10
- * 百位:数值 / 100 % 10
- * 千位:数值 / 1000 % 10
- * */
- public static void main(String[] args) {
- //1.键盘录入
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入一位三位数");
- int number = sc.nextInt();
-
- //2.获取个位,十位,百位
- //个位:数值 % 10
- // 十位:数值 / 10 % 10
- //百位:数值 / 100 % 10
- int ge = number % 10;
- int shi = number / 10 % 10;
- int bai = number / 100 % 10;
- System.out.println(ge);
- System.out.println(shi);
- System.out.println(bai);
- }
- }
-
1.数字相加
数字进行运算时,数据类型不一样不能运算,需要转成一样的,才能运算。
2.字符串相加
3.字符相加
当字符+字符/字符+数字时,会把字符通过 ASCII 码表查询到对应的数字再进行计算。
隐式转换(自动类型提升):取值范围小的数值转换成取值范围大的数值。
取值范围从小到大:byte 什么时候转换?数据类型不一样,不能进行计算,需要转成一样的才可以进行计算。 隐式转换的两种提升规则: 1.取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。 2.byte short char 三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。 看代码说结果: 强制转换:取值范围大的数值转换成取值范围小的数值。 / 和 % 的区别:两个数据做除法,/ 取结果的商,% 取结果的余数。整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。 基本用法: 单独使用方式:++ 和 -- 既可以放在变量前边,也可以放在变量后边,单独写一行结果是一样的。 参与计算方式:1. int a = 10; int b = a++; (先用后加) 2. int a = 10; int b = ++a; (先加后用) 注意:+=,-=,*=,/=,%=底层都隐藏了一个强制类型转换 注意事项:关系运算符的结果都是boolean类型,要么是true,要么是false。千万不要把“==”误写成“=”。 提示:取反的感叹号不要写多次,要么不写,要么只写一个。 &两个都要满足,|满足一个就可以 短路逻辑运算符具有短路效果,当左边的表达式能确定最终结果,那么右边就不会参与运行了。 注意事项: 1.&|,无论左边是true还是false,右边都要执行。 &&||,如果左边能确定整个表达式的结果,右边不执行。 %%:左边为false,右边不管是真是假,整个表达式的结果一定是false。 ||:左边为true,右边不管是真是假,整个表达式的结果一定是true。 这两种情况下,右边不执行,提高了效率。 2.最常用的逻辑运算符:&&,||,! 可以进行判断,根据判断的结果得到不同的内容。 关系表达式?表达式1:表达式2; 1.首先计算关系表达式的值 2.如果值为true,表达式1的值就是运算结果 3.如果值为false,表达式2的值就是运算结果 ()优先于所有。四.注意事项:
自增自减运算符-基本使用
赋值运算符和关系运算符
赋值运算符:
关系运算符(比较运算符):
逻辑运算符
一、逻辑运算符的分类:
二、短路逻辑运算符
三元运算符
一、三元运算符的作用:
二、 三元运算符(三元表达式)格式:
三、计算规则:
四、案例
五、运算符优先级