【JAVA】数据类型及变量

2024-08-05 09:23:24 浏览数 (2)

Java的数据类型

可以分为两类,基本数据类型引用数据类型

基本数据类型有4类8种,4类分别是整型 浮点型 字符型 布尔型,

8种是byte、short、int、long、double、char、boolean

字节型

byte

内存占用1字节

短整型

short

2字节

整型

int

4字节

长整型

long

8字节

单精度浮点型

float

4字节

双精度浮点型

double

8字节

字符型

char

2字节

布尔型

boolean

无明确规定

在Java中数据类型大小固定,这与c中不同

整型

整型默认为int,int 的包装类型是Integer,int类型所能表示的数据范围:

//打印最大值和最小值 System.Out.println(Integer.MAX_VALUE); System.Out.println(Integer.MIN_VALUE);

short、byte、long的包装类型都是将首字母大写,最大值都是 包装类型.MAX_VALUE,最小值都是 包装类型.MIN_VALUE。

long类型的数字后要加L或l,一般写大写L(与1区分)。

浮点型

浮点数的存储方式与在C语言中的存储方式相同。浮点型默认为double,单精度浮点数在后面加f或F。

字符型

char占两个字节,包装类型为Character。

与C语言中用ASCII码值来表示字符不同,Java中用Unicode表示字符。计算机中的字符本质仍是数字。

布尔型

只有两种取值,false表示假和true表示真,与C语言中不同的是,Java中不能用0表示假,非0表示真。包装类型为Boolean。

类型转换

分为自动类型转换(隐式)和强制类型转换(显式)。

自动类型转换的特点是:数据范围小的转为数据范围大的时会自动进行

代码语言:javascript复制
int a = 10;
long b = 5L;
a=b;//编译报错,long的范围比int大,会丢失数据
b=a;//将int的a转换为long类型

强制类型转换特点:将范围大的类型赋给范围小的,可能有精度丢失

类型提升

类型不同的数据间进行运算时,类型小的数据会提升为类型大的数据

int和long之间:

int a = 3; long b = 4; int c = a b;//编译报错,a b时a提升为long类型,结果也为long类型,赋给int可能会丢失数据 long d = a b;//编译成功

对于short, byte 这种比4个字节小的类型, 会先提升成4个字节的int , 再运算 :

byte a = 3; byte b = 2; byte c = a b;//报错,int类型范围比byte大

字符串类型

java中用String类来定义字符串 ,可以用 来拼接两个字符串

代码语言:javascript复制
String a = "Hello,";
String b = "welcome to my blog.";
System.out.println(a);
System.out.println(b);
System.out.println(a b);

打印结果:

int类型转换成String类型:

代码语言:javascript复制
int a = 6;
//法一
String s1 = a "";
//法二
String s2 = String.valueOf(s1);

这两种方法也适用于其它基本数据类型和它们的包装类型转换成String类型。

String类型转换成int:

代码语言:javascript复制
String str = "100";
int b = Integer.parseInt(str);
System.out.println(b);//打印100
String str2 = "A";
int c = Integer.parseInt(str2,16);//第二个参数用于解析字符串的进制
System.out.println(c);//打印10

0 人点赞