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的字节码指令。  


目录
相关文章
|
1月前
|
存储 Java
Java的数据类型介绍 | 基本数据类型的转换
Java的数据类型介绍 | 基本数据类型的转换
|
2月前
|
Java
当Java数据类型遇上“爱情”,会擦出怎样的火花?
【6月更文挑战第13天】Java数据类型在编程中遇见“爱情”,通过初始化、类型转换、引用类型及异常处理展现情感历程。代码示例包括变量的甜蜜相遇(如`int loveLevel = 0`),类型转换的磨合,引用类型的深情表达(如Lover类),以及异常处理带来的爱情考验。这些示例展示了Java在表达抽象概念时的多样性和灵活性。
24 4
|
10天前
|
存储 Java 测试技术
Java零基础教学(08):基本数据类型和取值范围
【8月更文挑战第8天】Java零基础教学篇,手把手实践教学!
17 5
Java零基础教学(08):基本数据类型和取值范围
|
10天前
|
存储 Java 测试技术
Java零基础(9) - 聊聊基本数据类型取值范围
【8月更文挑战第9天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
17 5
|
11天前
|
存储 Java 测试技术
Java零基础(8) - 谈谈基本数据类型
【8月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
29 6
|
12天前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(下)
02 Java基础语法(变量+数据类型+运算符)
16 5
|
12天前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(上)
02 Java基础语法(变量+数据类型+运算符)
30 4
|
6天前
|
Java C#
C# 和 java 基本数据类型
C# 和 java 基本数据类型
6 0
|
1月前
|
存储 Java
Java中的基本数据类型及其包装类
Java中的基本数据类型及其包装类
|
1月前
|
分布式计算 Java 调度
MaxCompute产品使用合集之使用Tunnel Java SDK上传BINARY数据类型时,应该使用什么作为数据类字节
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。