本文已参与「新人创作礼」活动,一起开启掘金创作之路。
JAVA数据类型和JS数据类型转换不一样,因为它是强类型语言嘛
类型转换规则
- 不允许数值类型和布尔类型 转换
- 整型、实型、字符型数据可以混合运算
类型转换分类
自动类型转换-隐式转换
- 1.整数转换为小数
- 2.位数少转换为位数多的
- 总结而言,就是范围扩大了,精度没有降低
转换规则表
举例
byte a =12;
int b=23;
b = a;
强制类型转换-显式类型转换
- 1.位数多向位数少的进行转换.
- 2.所有的小数转换为整数
- 3.其一般形式为:(类型)表达式。
举例
1.将一个字符转换为int,就可以知道它在Unicode表中的顺序 2.反过来,也可以将整数转换为字符型 代码举例:
public class Base {
public static void main(String[] args) {
System.out.println("hello, world!");
int anInt = 3;
System.out.println("int anInt = 3 的类型:" + getType(anInt));
// int anInt = 3 的类型:java.lang.Integer
byte anByte = 3;
System.out.println("int anByte = 3 的类型:" + getType(anByte));
// int anByte = 3 的类型:java.lang.Byte
// ! 强制类型转换的写法
byte newByte = (byte) anInt;
System.out.println("byte newByte = (byte)anInt; 的类型:" + getType(newByte));
// byte newByte = (byte)anInt; 的类型:java.lang.Byte
char anChar = '糖'; // 注意这里要用单引号
System.out.println("糖的Unicode编码是:" + (int) anChar);
// 糖的Unicode编码是:31958
int codeNum = 31958;
System.out.println("Unicode编码31958的字是:" + (char) codeNum);
// Unicode编码31958的字是:糖
}
public static String getType(Object obj) {
return obj.getClass().getTypeName();
}
}
运算符
运算符-按功能分为7种
- 1.赋值运算符 广义赋值运算符 +=, -=, *=, /=, %=, &=, |= 一般形式:变量名 运算符=表达式 两侧的类型不一致会进行 自动类型转换 和 强制类型转换
- 2.算术运算符 双目运算符 +, -, *, /, % 单目运算符 ++, --,+, -
- 3.关系运算符
- 4.条件运算符 (条件) ? 结果1: 结果2; 和JS感觉没什么不同
- 5.逻辑运算符 逻辑与(&)、逻辑或(|)、和逻辑非(!)、&&,|| &、|做运算,先执行符号左右两边,最后进行与、或运算 &&,||做运算,就是按顺序执行,跟JS一样的哦
- 6.位运算符
- 7.其他运算符(new, instanceof、强制类型转换运算符) ()、[]、强制类型转换运算符 对象运算符instanceof:判断对象是否是某个类的一个实例化对象,若是, 则返回true,否则返false 内存分配运算符new:为数组和类对象分配内存空间 (后面的课程详细᧿述)
运算符-按照连接操作数分为3种
- 一元(目)运算符
- 二元(目)运算符
- 三元(目)运算符
欢迎大家指出文章需要改正之处~
学无止境,合作共赢