网站首页 > 基础教程 正文
Java共有八种基本数据类型(可以直接分配内存):六种数字类型(四个整数型:byte、short、int、long,两个浮点型:float、double);一种字符类型(char);还有一种布尔型(boolean)。
注:基本数据类型字长不会因操作系统平台不同而改变
记忆小提示:
位数=字节*8 (因此我们只需要记住所占字节就行了)
四个整数型从小到大依次为(后一种为前一种的2倍):
byte(1个字节)-> short(2个字节)->int(4个字节)-> long(8个字节)
两个浮点型(后一种为前一种的2倍):
float(4个字节)-> double(8个字节)
字符型和布尔型:
char(2个字节)和boolean(1个字节)
四种整数类型:
byte(字节型)
byte存储整型数据,占1个字节(8位),有正负,二进制整数
默认值:0
取值范围:-128~ 127
示例: byte b = 28;
包装类:java.lang.Byte
public static void main(String[] args) {
//一个常量,保存 byte 类型可取的最大值,即 2^7-1
System.out.println("最大值:"+Byte.MAX_VALUE);
//一个常量,保存 byte 类型可取的最小值,即 -2^7
System.out.println("最小值:"+Byte.MIN_VALUE);
//用于以二进制补码形式表示 byte 值的位数
System.out.println("位数:"+Byte.SIZE);
}
结果为:
最大值:127
最小值:-128
位数:8
注:一个英文字母或一个阿拉伯数字就是一个字符,占用一个字节;一个汉字就是两个字符,占用两个字节
short(短整数)
short存储整型数据,占据2个字节(16位),有正负,二进制整数
默认值:0
取值范围:-32768(-2^15)~ 32767(2^15 - 1)
示例:short s = - 2768;
包装类:java.lang.Short
public static void main(String[] args) {
//保存 short 可取的最大值的常量,最大值为 2^15-1
System.out.println("最大值:"+Short.MAX_VALUE);
//保存 short 可取的最小值的常量,最小值为 -2^15
System.out.println("最小值:"+Short.MIN_VALUE);
//用来以二进制补码形式表示 short 值的位数
System.out.println("位数:"+Short.SIZE);
}
结果为:
最大值:32767
最小值:-32768
位数:16
注:当数据不大时,用short类型可以节省空间
int(整数型)
int存储整数类型,占据4个字节(32位),有正负,二进制整数
默认值:0
取值范围:-2147483648(-2^31)~ 2 147 483 647(2^31 - 1)
示例:int i = 6870000;
包装类:java.lang.Integer
public static void main(String[] args) {
//值为 2^31-1 的常量,它表示int类型能够表示的最大值
System.out.println("最大值:"+Integer.MAX_VALUE);
//值为-2^31 的常量,它表示int类型能够表示的最小值
System.out.println("最小值:"+Integer.MIN_VALUE);
//用来以二进制补码形式表示int值的比特位数
System.out.println("位数:"+Integer.SIZE);
}
结果为:
最大值:2147483647
最小值:-2147483648
位数:32
注:java中默认的整数类型是int,如果要定义为float,可在数字后面加上l或者L,不加也可以,但它会自动把int数据转换为float型,如下:
float l= 7;
System.out.println("l的值为:"+l);
结果为:
l的值为:7.0
long(长整型)
long存储整数类型,占据8个字节(64位),有正负,二进制整数
默认值:0L
取值范围:-9223372036854775808(-2^63)~9223372036854775807(2^63 -1)
示例:long qing = 680000000;或者long qing = 680000000l;
包装类:java.lang.Long
public static void main(String[] args) {
//保持 long 类型的最大值的常量,该值为 2^63-1
System.out.println("最大值:"+Long.MAX_VALUE);
//保持 long 类型的最小值的常量,该值为 -2^63
System.out.println("最小值:"+Long.MIN_VALUE);
//用来以二进制补码形式表示 long 值的位数
System.out.println("位数:"+Long.SIZE);
}
结果为:
最大值:9223372036854775807
最小值:-9223372036854775808
位数:64
两种浮点类型:
float(浮点型)
float 数据类型是单精度,占据4个字节(32位),默认值为0.0f
包装类:java.lang.Float
public static void main(String[] args) {
//保存 float 类型的最大正有限值的常量,即 (2-2^-23)?2^127
System.out.println("最大值:"+Float.MAX_VALUE);
//保存 float 类型数据的最小正非零值的常量,即 2^-149
System.out.println("最小值:"+Float.MIN_VALUE);
//表示一个 float 值所使用的位数
System.out.println("位数:"+Float.SIZE);
}
结果为:
最大值:3.4028235E38
最小值:1.4E-45
位数:32
注:java定义浮点型常量时,默认为double型,如果要声明为float型,则需要在数字后面加上f或者F,如:
float f = 1.89f --是正确的定义
float f = 1.89 --是错误的定义
(如下图所示)
当没有在数字后添加f时会出现报错提示:
添加了f之后错误消失:
double(双精度型)
double数据类型是双精度,占据8个字节(64位),默认值为0.0d
示例:double d = 163.9;
包装类:java.lang.Double
public static void main(String[] args) {
//保存 double 类型的最大正有限值的常量,最大正有限值为 (2-2^-52)?2^1023
System.out.println("最大值:"+Double.MAX_VALUE);
//保存 double 类型的最小正非零值的常量,最小正非零值为 2^-1074
System.out.println("最小值:"+Double.MIN_VALUE);
//用于表示 double 值的位数
System.out.println("位数:"+Double.SIZE);
}
结果为:
最大值:1.7976931348623157E308
最小值:4.9E-324
位数:64
注:double类型定义变量时,数字后面可不加d,默认为double型数据
字符类型:
char(字符型)
char 数据类型可以储存任何字符,占据2个字节(16位)
取值范围:'\u0000'(0) ~ '\uffff'(65535)
示例:char qing='c';或者char qing='汉';
包装类:java.lang.Character
public static void main(String[] args) {
//此字段的常量值是 char 类型的最大值,即 '\uFFFF'
System.out.println("最大值:"+(int)Character.MAX_VALUE);
//此字段的常量值是 char 类型的最小值,即 '\u0000'
System.out.println("最小值:"+(int)Character.MIN_VALUE);
//用来以无符号二进制形式表示 char 值的位数
System.out.println("位数:"+Character.SIZE);
}
结果为:
最大值:65535
最小值:0
位数:16
注:需要用单引号括起来,只能为单个字符
布尔型:
boolean(布尔型)
boolean只有两个取值:true(真)和 false(假),默认值是 false,仅占1个字节
示例:boolean b=true;
包装类:java.lang.Boolean
注:不可以用0和非0数代替true和false
基本数据类型的自动转换:
byte -> short
char -> int -> long
int -> float
float -> double
long -> double
注:占字节少的可转换为占字节大的,反之则会失去数据精度
一些特殊的转义字符
转义字符 含义
\n 换行
\r 回车
\f 换页
\b 退格
\s 空格
\t tab
\" 双引号
\' 单引号
\ 反斜杠
\ddd 八进制字符
\uxxxx 十六进制UNICODE字符
猜你喜欢
- 2024-11-06 Java后端精选基础教程:Java 中的基本数据类型「连载 6」
- 2024-11-06 深圳尚学堂Java培训:Java 基本数据类型。
- 2024-11-06 你真的理解 Java 的基础数据类型吗
- 2024-11-06 讲给小白的JAVA基础课(二)基本数据类型
- 2024-11-06 金蝶一面:Java基本数据类型有哪些?包装类型的常量池技术了解么
- 2024-11-06 Java语言提供了8种基本数据类型,你知道吗?
- 2024-11-06 JAVA 基本数据类型 Java基本数据类型有哪些
- 2024-11-06 四类八种基本数据类型 四类基本数据结构的含义
- 2024-11-06 Java的数据类型 Java的数据类型在不同平台的长短不同
- 2024-11-06 java基础学习——数据类型 java 数据类型有哪几种
- 05-14CSS基础知识(一) CSS入门
- 05-14CSS是什么? CSS和HTML有什么关系?
- 05-14什么是CSS3?
- 05-14CSS如何画一个三角形?
- 05-14初识CSS——CSS三角制作
- 05-14Wordpress建站教程:给图片添加CSS样式
- 05-14HTML和HTML5,css和css3的区别有哪些?
- 05-14Html中Css样式Ⅱ
- 最近发表
- 标签列表
-
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- mysql教程 (60)
- pythonif (86)
- location.href (69)
- deletesql (62)
- c++模板 (62)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)