您的位置:首页 > 新闻 > 会展 > 【JAVA】数据类型及变量

【JAVA】数据类型及变量

2024/10/5 19:38:51 来源:https://blog.csdn.net/kiku20231213/article/details/140618561  浏览:    关键词:【JAVA】数据类型及变量

🎉欢迎大家收看,请多多支持🌹

🥰关注小哇,和我一起成长🚀个人主页🚀


 Java的数据类型

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

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

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

8种基本数据类型
字节型byte内存占用1字节
短整型short2字节
整型int4字节
长整型long8字节
单精度浮点型float4字节
双精度浮点型double8字节
字符型char2字节
布尔型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。

类型转换

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

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

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类来定义字符串 ,可以用+来拼接两个字符串

String a = "Hello,";
String b = "welcome to my blog.";
System.out.println(a);
System.out.println(b);
System.out.println(a+b);

打印结果: 

 

int类型转换成String类型:

int a = 6;
//法一
String s1 = a+"";
//法二
String s2 = String.valueOf(s1);

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

String类型转换成int:

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

 


 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com