java类型转换、运算符
类型转换
自动类型转换
- 什么是自动类型转换?
类型范围小的变量,可以直接赋值给类型范围大的变量。 - 自动类型转换的原理
byte a = 12 ;
int b = a;
System.out.println(b); // 12
- 自动类型转换的其他形式(范围由小到大)
表达式的自动类型转换
- 在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。
- 表达式的最终结果类型由表达式中的最高类型决定。
- 在表达式中,byte、short、char 是直接转换成int类型参与运算的。
强制类型转换
- 可以强行将类型范围大的变量、数据赋值给类型范围小的变量。
数据类型 变量2 = (数据类型)变量1; - 强制类型转换原理
强制类型转换注意
- 强制类型转换可能造成数据(丢失)溢出;
- 浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。
运算符
- 运算符:对字面量或者变量进行操作的符号。
基本算数运算符
符号 | 作用 | 说明 |
---|---|---|
+ | 加 | 参考小学一年级 |
- | 减 | 参考小学一年级 |
* | 乘 | 参考小学二年级,与“×”相同 |
/ | 除 | 与“÷”相同,注意:在Java中两个整数相除结果还是整数。 |
% | 取余 | 获取的是两个数据做除法的余数 |
-
如何把一个三位数,将其拆分为个位、十位、百位后,打印在控制台
请输入整数:123
整数123的个位为:3
整数123的十位为:2
整数123的百位为:1 -
公式总结:
个位 :数值 % 10
十位 :数值 / 10 % 10
百位 :数值 / 10 / 10 % 10
千位 :数值 / 10 / 10 / 10 % 10;
…
"+"符号做连接符
- 能算则算,不能算就在一起。
‘a’ 能算的时候按照ACSII码计算。
自增自减运算符
符号 | 作用 | 说明 |
---|---|---|
++ | 自增 | 变量自身的值加1 |
– | 自减 | 变量自身的值减1 |
注意事项
-
++ 和 – 既可以放在变量的后边,也可以放在变量的前边。
-
++ 、-- 只能操作变量,不能操作字面量。
-
放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算。
-
放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1
赋值运算符
- 就是“=”。
扩展赋值运算符
符号 | 作用 | 说明 |
---|---|---|
+= | 加后赋值 | a+=b 等价于 a = (a的数据类型)(a+b); 将a + b的值给a |
-= | 减后赋值 | a-=b 等价于 a = (a的数据类型)(a-b); 将a - b的值给a |
*= | 乘后赋值 | a*=b 等价于 a = (a的数据类型)(a*b); 将a * b的值给a |
/= | 除后赋值 | a/=b等价于 a = (a的数据类型)(a/b); 将a / b的商给a |
%= | 取余后赋值 | a%=b 等价于 a = (a的数据类型)(a%b); 将a % b的商给a |
- 注意:扩展的赋值运算符隐含了强制类型转换。
关系运算符
- 是对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true)。
符号 | 说明 |
---|---|
== | 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 |
- 注意:在做相等判断是,千万不要把 == 误写成 =
逻辑运算符
- 可以把多个条件的布尔结果放在一起运算,最终返回一个布尔结果。
符号 | 介绍 | 说明 |
---|---|---|
& | 逻辑与 | 必须都是true,结果才是true; 只要有一个是false,结果一定是false。 |
| | 逻辑或 | 只要有一个为true、结果就是true |
! | 逻辑非 | 你真我假、你假我真。 !true=false 、 !false= true |
^ | 逻辑异或 | 如果两个条件都是false或者都是true则结果是false。两个条件不同结果是true。 |
短路逻辑运算符
符号 | 介绍 | 说明 |
---|---|---|
&& | 短路与 | 判断结果与“&”一样。过程是左边为 false,右边则不执行。 |
|| | 短路或 | 判断结果与“|”一样。过程是左边为 true, 右边则不执行。 |
- 注意:逻辑与 “&”、逻辑或“|”: 无论左边是 false还是 true,右边都要执行。
- 注意:实际开发中、常用的逻辑运算符还是:&& 、 || 、 !
三元运算符
- 格式:条件表达式 ? 值1 : 值2;
- 执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2。
运算符优先级
- 在表达式中,哪个运算符先执行后执行是要看优先级的,例如 “*、/” 的优先级高于”+、-”。
优先级 | 运算符 |
---|---|
1 | () |
2 | !、-、++、– |
3 | *、/、% |
4 | +、- |
5 | <<、>>、>>> |
6 | <、<=、>、>=、instanceof |
7 | ==、!= |
8 | & |
9 | ^ |
10 | | |
11 | && |
12 | || |
13 | ?: |
14 | =、+=、-=、*=、/=、%=、&= |
java API接口:键盘录入技术
- API (Application Programming Interface,应用程序编程接口)
- Java写好的程序(功能代码),可以直接调用。
- Oracle 也为Java写好的程序提供了相应的 API文档(技术使用说明书) 。
- 附上中文版的API文档
键盘录入功能实现的三个步骤
①:导包:告诉程序去JDK的哪个包中找扫描器技术
②:写一行代码代表得到键盘扫描器对象。
③:等待接收用户输入数据。
运行结果如下: