Java Ai(day04)
运算符
对变量和字面量操作的符号
1:算数运算符
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
/ 和 % 的区别:两个数据做除法,/ 取结果的商,% 取结果的 余数。
整数操作只能得到整数,要想得到小数,必须有浮点数参与运算
数值拆分:
公式总结: 个位 :数值 % 10
十位 :数值 / 10 % 10
百位 :数值 / 10 / 10 % 10
千位 :数值 / 10 / 10 / 10 % 10;
...
2:字符串拼接操作
字符串拼接操作:
当 + 操作中,遇到了字符串,这时 + 就是字符串连接符,而不是算术运
3:自增自减运算符:
符号 | 作用 | 说明 |
++ | 自增 | 变量自身的值加1 |
-- | 自减 | 变量自身的值减1 |
++ 和 -- 既可以放在变量的后边,也可以放在变量的前边。
++、-- 单独使用在前在后无区别
参与运算使用 ++在前,先自增再操作 ++在后,先操作再自增
++、-- 只能操作变量不能操作字面量
4:类型转换:
隐式转换:把一个取值范围小的数值或者变量,赋值给另一个取值范围大的变量
运算过程中的隐式转换:
取值范围小的数据,和取值范围大的数据进行运算,小的会先提升为大的之后,再进行运算
byte short char 三种数据在运算的时候,都会提升为int,然后再进行运算
强制类型转换:
把一个取值范围大的数值或者变量,赋值给另一个取值范围小的变量
不允许直接赋值,需要加入强制转换
格式:目标数据类型 变量名 = (目标数据类型) 被强转的数据;
5:赋值运算符
= | 赋值 | a=10,将10赋值给变量a |
+= | 加后赋值 | a= a+b |
-= | 减后赋值 | a=a-b |
*= | 乘后赋值 | a=a*b |
/= | 除后赋值 | a=a/b |
%= | 取余后赋值 | a = a%b |
6:关系运算符
== | a==b,判断a和b的值是否相等,成立为true,不成立为false |
!= | a!=b,判断a和b的值是否不相等,成立为true,不成立为false |
> | a>b,判断a是否大于b,成立为true,不成立为false |
>= | a>=b,判断a是否大于等于b,成立为true,不成立为false |
< | a<b,判断a是否小于b,成立为true,不成立为false |
<= | a<=b,判断a是否小于等于b,成立为true,不成立为false |
基本赋值运算符 : =
扩展赋值运算符 : += -= *= /= %=
扩展赋值运算符隐含了强转效果 关系运算符: > >= < <= == !=
最终返回的都是 boolean类型的结果
== 和 = 号不要弄混淆了
7:逻辑运算符
把多个条件放在一起运算,最终返回布尔类型的值:true、false
& | 逻辑与 | 并且, 遇 false 则 false |
| | 逻辑或 | 或者,遇 true 则 true |
! | 逻辑非 | 取反 |
^ | 逻辑异或 | 相同为 false,不同为 true |
&& | 短路与 | 作用和 & 相同,但是有短路效果 |
|| | 短路或 | 作用和 | 相同,但是有短路效果 |
逻辑与 &,无论左边 true false,右边都要执行
短路与 &&,如果左边为 true,右边执行,如果左边为 false,右边不执行。
逻辑或 |,无论左边 true false,右边都要执行
短路或 ||,如果左边为 false,右边执行,如果左边为 true,右边不执行。
最常用的逻辑运算符:&& || !
8:三元运算符
格式:判断条件 ? 值1 : 值2;
执行流程:
首先计算 判断条件的值
如果值为 true,值1 就是运算结果
如果值为 false,值2 就是运算结果
总结 : 根据判断条件, 从两份数据中二者选其一
9:运算符优先级
运算符优先级:
不用死记:在你需要优先计算的地方加()
10:Scanner 键盘录入
Java已经写好了实现程序,我们调用即可
Java程序中如何实现接收用户键盘输入的数据?
使用Java提供的类 Scanner 来完成,步骤如下: 1、导包:import java.util.Scanner; (目前照抄) 2、创建对象:Scanner sc = new Scanner(System.in); (目前照抄) 3、调用方法接收数据: sc.nextInt() 接收整数 sc.next() 接字符串 sc.nextDouble() 接收浮点数