Java中的基本数据类型

简介: 1.基本数据类型2.整数类形 (1)byte类型(2)short类型(3)int类型(4)long类型3.浮点类型(1)单精度浮点型(2)双精度浮点型4.字符类型5.逻辑类型

1.基本数据类型

Java中的基本数据类型分为四类八种,即:


四类:整数类型(byte、short、int、long)、浮点类型(float、double)、字符类型(char)、逻辑类型(boolean)


八种:字节型(byte)、短整型(short)、整形(int)、长整型(long)、单精度浮点型(float)、双精度浮点型字符型(double)、布尔型(boolean)

数据类型 关键字 内存占用 取值范围
字节型 byte 1字节 -128 ~ 127
短整型 short 2字节 -32768 ~ 32767
整形 int 4字节 -2^31 ~ 2^31 -1
长整型 long 8字节 -2^63 ~ 2^63 -1
单精度浮点型 float 4字节 有范围,但一般不关注
双精度浮点型 double 8字节 有范围,但一般不关注
字符型 char 2字节 0 ~ 65535
布尔型 boolean 没有明确规定 true 和 false


在Java中,整形和浮点型都是有符号


字节是计算机中表示空间大小的基本单位,在计算机内存中,1个字节(byte)= 8个二进制位(bit


2.整数类形

在Java中整形没有有符号和无符号之分,因此每个整形类型的变量都会将最高位作为符号位。


整数类型的变量在定义时,若没有给出初值,且在使用前没有设置初值,则编译时会报错


因此在定义整形类型变量时,如果没有合适的初始值,可将初始值设置为0


在为变量设置初始值的时候,值不能超过整数类型的表示范围,否则会导致溢出


(1)byte类型

byte在内存中占1个字节,8个二进制位。


byte b = 10;


byte的范围为-128 ~ 127,当超出其范围时,会报错


8.png


(2)short类型

short在内存中占2个字节,16个二进制位。


short类型变量的取值范围为 -32768 ~ 32767


short s = 10;


(3)int类型

int在内存中占4个字节,32个二进制位。


int类型变量的取值范围为-2^31 ~ 2^31 - 1


在定义变量时,若未初始化,且在使用前,未赋值,则会报错

publicclassTest {
publicstaticvoidmain(String[] args) {
inta;
System.out.println(a);
    }
}


运行结果

9.png


(4)long类型

long在内存中占8个字节,64位。


long类型变量的取值范围为-2^63 ~ 2^63 - 1


为了区分int类型与long类型,一般建议在long类型变量后加上L或者l,由于l与1不好区分,更推荐加上L

publicclassTest {
publicstaticvoidmain(String[] args) {
longl=10L;
System.out.println(l);
    }
}


3.浮点类型

浮点数与整数在内存中的存储方式不同,不能使用2的n次方来计算浮点类型变量的取值范围


浮点类型变量的内存布局遵守IEEE 754标准(与C语言相同),使用有限的内存空间表示可能无限的小数,因此会存在一定的精度误差,所以浮点数是近似值,而不是精确值


浮点类型的变量在定义时,若没有给出初值,且在使用前没有设置初值,则编译时会报错


建议在定义变量时,就为浮点类型变量赋初始值,若没有合适的初始值,可将其设置为0.0


(1)单精度浮点型

float在内存中占4个字节,32个二进制位。


float类型的变量在定义时,必须在后面加上f或者F


float f = 1.2f;


若不加上f或F,则会报错


10.png

(2)双精度浮点型

double在内存中占8个字节,64个二进制位。


double d = 1.2;

4.字符类型

char在内存中占2个字节,16个二进制位。


Java中使用 单引号 + 单个字母 的形式来表示字符值。


计算机中的字符本质上是一个整数。在C语言中使用ASCII码表示对应的字符,而Java中使用Unicode表示字符。因此一个字符占用两个字节,表示的字符种类更多。(可以表示中文)


char c = 'a';

char ch = '你';


5.逻辑类型

boolean类型的变量只有两种取值,即true和false,true为真,false为假


boolean类型不能与int类型相转换,且不存在1表示true,0表示false的用法,不能对boolean类型的变量进行+、-等运算操作


boolean flag = true;


在使用布尔类型变量时,若没有给出初值,且在使用前没有设置初值,则编译时也会报错


11.png


在Java虚拟机中,并没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令。  


目录
相关文章
|
2月前
|
Java
当Java数据类型遇上“爱情”,会擦出怎样的火花?
当Java数据类型遇上“爱情”,会擦出怎样的火花?
51 1
|
1月前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
60 2
|
2月前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
44 1
|
2月前
|
存储 Java
Java数据类型:你究竟有多少面孔?
Java数据类型:你究竟有多少面孔?
35 1
|
2月前
|
Java
【Java基础面试四】、介绍一下Java的数据类型
这篇文章介绍了Java的数据类型,包括8种基本数据类型(整数、浮点、字符、布尔)和3类引用数据类型(数组、类、接口),并提供了基本数据类型所占内存空间和数据范围的详细信息。
|
2月前
|
存储 算法 Java
我与Java数据类型的那场“风花雪月”
我与Java数据类型的那场“风花雪月”
41 0
|
2月前
|
存储 自然语言处理 Java
Java数据类型:为何它如此“撩人”?
Java数据类型:为何它如此“撩人”?
41 0
|
2月前
|
存储 算法 Java
从菜鸟到大神,Java数据类型是如何改变我的人生的?
从菜鸟到大神,Java数据类型是如何改变我的人生的?
29 0
|
1月前
|
存储 Java Windows
java基础(9)数据类型中的char类型以及涉及到的转义字符
Java中的char类型可以存储一个中文字符,因为它占用两个字节。转义字符允许在代码中使用特殊字符,例如`\n`表示换行,`\t`表示制表符,`\\`表示反斜杠,`\'`表示单引号,`\"`表示双引号。可以使用`\u`后跟Unicode编码来表示特定的字符。
38 2
java基础(9)数据类型中的char类型以及涉及到的转义字符
|
13天前
|
Java
JAVA易错点详解(数据类型转换、字符串与运算符)
JAVA易错点详解(数据类型转换、字符串与运算符)
39 4