简述Java变量和强制转换类型
简述java变量和强制转换类型
java变量
1. java变量
变量:顾名思义,就是在java执行程序过程中可以发生改变的量,就好比方程式中的未知数x一样。
变量的内存分配过程
int a ; //声明
a = 10; // 赋值
system.out.println(a); //使用
2. 数据类型
八大基本数据类型
整数类型(5种) | 字节数(1字节=8bit) | 取值范围 |
---|---|---|
byte | 1 | -2^7~2^7(2^8=256种状态) |
short | 2 | -2^15~2^15-1 |
int | 4 | -2^31~2^31-1 |
long | 8 | -2^63~2^63-1 |
取值范围:类型容量是2^(字节数*8)^,正负对半, 负数范围-2^(字节数*8-1)^~-1 整数范围0~2^(字节数*8-1)^-1
浮点类型(2种) | 字节数(1字节=8bit) | 取值范围 |
---|---|---|
float | 4 | -3.403e38~3.403e38 |
double | 8 | -1.798e308~1.798e308 |
虽然double和long都是8个字节,但是因为存储方式的不同,所以取值范围不同。 而且浮点类型在计算时会有精度丢失,所以不能用来作为金融方面的精准计算。
布尔类型 | 字节数 | 取值范围 |
---|---|---|
boolean | 1 | true false(0 or 1) |
字符类型 | 字节数 | 取值范围 |
---|---|---|
char | 2 | 0~2^16-1(65535) |
char的赋值方法: char ch=97 直接读取字符编码 char ch=’a’ 字符赋值 char ch=’\u0043’ 对应的unicode编码有0~65535个’\u0041’为十六进制也就是97 char ch=’中’ 中文字符占2个字节,而在unicode编码中也有对应的字符。
接口类数据类型
类 class
接口 ingterface
数组 [] int[]
强制转换类型
类型转换的基本原则是取值范围由小向大转换,即有 byte-->short-->int-->long-->float-->double char --> 注意: i. char与byte、short不存在子集关系所以不能自动转换 ii. 其他都可以直接自动转换 iii. boolean类型不参与类型转换
1.自动类型转换
byte a=10;
int b = a; //没问题可以自动转换
2.强制类型转换
int b=10;
byte a=(byte)b; //大范围转小范围必须使用强制转换
3.short tybe定义
byte a=127; //在范围内直接
short b = (short)36666; //超出short的范围了默认是int必须使用强制转换
4.char与short byte 之间必须使用强制转换
byte a=99;
char b = (char)a;
5.在计算过程中,会自动向高类型转换
int a=5;
double b=3.69;
float c = (float)ab; //ab结果已经是double类型,所以需要强制转换
6.byte short char之间的运算,底层都会转换为int类型
byte a=10;
char b=’a’;
short c=(short)a*b; //不管是否存在子集,在运算过程中编译器已经把全部数值都转换为int类型。
7.字符串和任何类型进行加法运算都是进行拼接操作的,在javascript中可以进行其他运算。
system.out.println(2 + 2 + "22" + 2 + 2); //输出结果为42222;字符前是常量运算,编译器自动运算,后面都是从左向右进行拼接操作。
上一篇: golang实现的简单优先队列
下一篇: list学习内容总结
推荐阅读
-
JavaEE基础day02 1.定义Java中的变量 四类八种 2.变量定义和使用的注意事项 3.数据类型的转换、强制数据类型转换4.算数运算符、比较运算符、逻辑运算符、赋值运算符、三元运算符
-
C#中使用强制类型实现字符串和ASCII码之间的转换
-
浅谈Java数值类型的转换与强制转换
-
解决Java中的强制类型转换和二进制表示问题
-
PHP 变量类型的强制转换
-
JavaScript强制类型转换和隐式类型转换操作示例
-
JavaScript数据类型和变量_动力节点Java学院整理
-
java--基本数据类型的转换(强制转换)
-
Java中成员变量与局部变量的区别、对象类型作为方法的参数和方法的返回值
-
Java基础学习-基本数据类型变量的定义和使用