数据类型 | 关键字 | 取值范围 | 内存占用 |
---|---|---|---|
整数型 | byte | -128~127 | 1 |
short | -32768~32767 | 2 | |
int (默认) | -2147483648~2147483647 (10位数) | 4 | |
long | -9223372036854775808 ~ 9223372036854775807 (19位数) | 8 | |
浮点型 | float | 1.401298e-45到3.402823e+38**(38位数)** | 4 |
double (默认) | 4.9000000e-324 到1.797693e+308**(308位数)** | 8 | |
字符型 | char | 0-65535 | 2 |
布尔型 | boolean | true,false | 1 |
e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方
整数的默认类型是int
浮点数的默认类型是double
** ** ** **每个类型都有内存占用空间是为了更加好的利用内存空间,防止资源浪费
字符在底层都会跟一个数字产生一个一一对应的关系。这个关系可以在ASCII码表中查询到。
定义整数型数据的时候默认的都是int型,所以当定义的是byte、short、long型时,就存在自动类型转换,只有小数据类型会默认转换为大数据,如:默认int,定义long就可以自动转换,而且所赋值不能超过int数据范围
在定义byte数据类型时,只要所赋值在byte内,也能实现自动转换,由int到byte
如果所赋值超过int数据类型范围,就需要在数值添加后面添加特定的符号,如long类型,加
|
数据类型
|
关键字
|
占用内存字节数
|
取值范围 |
|
字节型
|
byte
|
1字节
|
-128~127 |
|
短整型
|
short
|
2字节
|
-32768~32767 |
|
整型
|
int
|
4字节
|
-2147483684~2147483647 |
|
长整型
|
long
|
8字节
|
-9223372036854775808~9223372036854775807 |
在这四种数据类型的常量或变量赋值时,所赋值不能超过对应数据类型的取值范围
在为long常量或变量赋值的时候,如果值超过了int的范围就需要在值后面加上 L 或 l 说明所赋值为long型
第一种方式:十进制【是一种缺省默认的方式】
第二种方式:八进制【在编写八进制整数字面值的时候需要以0开始】
第三种方式:十六进制【在编写十六进制整数字面值的时候需要以0x开始】
赋值的时候默认是int型当所赋值超过int类型时需要在赋值后面加上关键字
|
数据类型
|
关键字
|
占用内存
|
取值范围 |
|
单精度浮点数
|
float
|
4字节
|
1.4E-45~3.4028235E38 |
|
双精度浮点数
|
double
|
8字节
|
4.9E-324~1.7976931348623157E308 |
在为float型常量或变量赋值的时候要在后面加上 F 或 f ,说明赋值类型为float,如果赋值为整数并未超出int型的取值范围,也可以省略字母F或f
在位double型常量或变量赋值时,需要在所赋值后面加上D或d,说明所赋值为double型,如果所赋值为小数,并未超出int范围,也可以省略d或D
Java默认小数时double型,所以在将小数赋值给double型常量或变量的时,可以不加D或d
声明字符型的常量或变量用来储存单个字符,它占用内存的两个字节来储存,字符型利用关键字char进行声明
在为char型常量或变量赋值时,无论赋值的值是字母、符号还是汉字,都只能为一个字符
因为计算机只能储存二进制数据,所以需要将字符通过一串二进制数据来表示,也是常说的字符编码
Java语言对字符采用Unicode字符编码
Unicode编码采用无符号编码,一个可以储存65536个字符,所有Java语言中的字符几乎可以处理所有国家语言文字
因为Java语言把字符串当整数对待,并且可以储存65536个字符,所以也可以将0~到65535整数赋值给char型常量或变量,但是输出是得到的不是整数
char ac=88;
System.out.println(ac); //输出大写字母X
声明布尔型的常量或变量用来存储逻辑值,逻辑值只有true和false,分别代表逻辑判断中的‘真'和‘假’
利用boolean关键字进行声明
public class Lianxi {
public static void main(String[] args) {
//定义整数类型变量
byte num1 = 10;
short num2 = 20;
int num3 = 30;
long num4 = 1234567891234567899L;
//使用整数类型变量
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
System.out.println("------------------------------");
//小数类型变量
float num5 = 12.3F;
System.out.println(num5);
double num6 = 12.3;
System.out.println(num6);
System.out.println("------------------------------");
// 字符类型变量
char c1 = '中';
System.out.println(c1);
char c2 = 97;
System.out.println(c2);
System.out.println("------------------------------");
// 布尔类型变量
boolean flag = false;
System.out.println(flag);
boolean flag2 = true;
System.out.println(flag2);
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/zhjjly/article/details/121438138
内容来源于网络,如有侵权,请联系作者删除!