栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【JAVA】快速了解数据类型

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【JAVA】快速了解数据类型

目录


前言:

基本数据类型

1、int

2、byte(字节型)

3、short

4、long

5、float

6、double

7、boolean(布尔型)

8、char

引用数据类型

String类型

总结:


前言:

数据类型是一门语言中最基础的东西,当然也很简单。毕竟简单,因此我们以后再敲代码的时候就尽量不要犯这种低级错误。当然我写文章的目的主要是为了和C的数据类型区分开来,加强记忆才写的,都是一些我自已的理解。(如有问题,欢迎指正!!!)

数据类型分为两类,一类是基本数据类型,一类是引用类型。

而基本数据类型中整形有int short long和C语言区别不大,所以这部分没什么可讲的。

 但是byte boolean是新增的类型  float和char和long与C语言中稍有不同,引用类型也是要重点学习的。而且不论是在32还是64位操作系统,数据类型的大小都是一样的

基本数据类型

1、int

int型也叫整形,和C一样,在定义的变量为整数时使用。例如:int a = 1;

int占4个字节

int没有 有无符号之分  所以我们也可以算出int的范围。

这个地方不懂的话,可以看一下我的数据类型在内存中存储那篇文章。

 剩下的和C一样了

2、byte(字节型)

byte是我们在C语言中没有的数据类型,所以要认真学习byte型。

byte虽然叫字节型,但它也是定义整数的时候使用的。

byte占用1个字节

最大值为:-2^7   最小值为:2^7-1

所以byte的表示范围就是-128~127   数据不大建议记下来!!!

如果你在定义变量的值超过了byte的表示范围 ,编译器会报错。

 所以在定义变量时不要超过数据类型的表示范围。

再给大家补充一点,看上图,b的那一行报错了,但是此时报错的原因不是因为b超过了byte的表示范围。而是因为在a+1的时候,编译器会认为1是int型,两个是不同的数据类型,一个占1个字节,另外一个占4个字节。 会进行类型的提升,a+1就会变成4个字节,b是一个字节,所以无法赋值。所以无法相加。此时我们就需要类型的转换。看下图

 此时长得帅的小伙伴就要问了,现在b不也超过了byte的范围了吗?为什么没报错?

别急,既然它没有报错,我们就可以打印一下b,看一下b的值。

 此时b的值不是128而是-128,这是为什么呢?

 因为这是强制类型转换,而且后面是一个表达式,不是字面常量,编译器在没编译的时候也不知道它是多少,只有在运行的时候才知道b是多少,所以127+1就变成了128。可以把它想象成一个圆就像上图那样,只要是表达式,不是字面常量都可以算出来,且不会报错。

3、short

short就是短整型,占2个字节,所以表示范围比整形小,我们也可以算出short的表示范围。

最大值为:2^15-1

最小值为:  -2^15

4、long

long是长整型,占8个字节,表示范围比int 大

最大值为: 2^63-1

最小值为:2^63

与C稍有不同的是 long 在定义变量时 要在后面加L或l 

//long a = 10  //如果不加L或l 编译器汇报错 编译会认为10是int 型

long a = 10L ; long b = 10l;

一般情况下都加L 不加l是因为怕看成1 造成不必要的误会。

5、float

float是单精度浮点数 的数据类型,与C稍微有点不同。

float在Java中占4个字节,在定义变量赋值时,不能直接赋值。举个例子:

float a = 1.2  //err

在C语言中,我们可以这么使用。但在Java中不能够这么使用,因为1.2在编译器看来它是一个double类型的数据,而double在Java中占8个字节。8个字节的数赋值给4个字节的变量,会造成数据丢失,编译器会报错。

怎么定义变量呢?只需要在1.2后面加f  变成    float a = 1.2f;
这样1.2就变成float类型的数据了,编译器就不会报错了。

6、double

double是双精度浮点数的数据类型,占8个字节。用法与C语言相同,就不在详细展开了。

7、boolean(布尔型)

C语言中非0即真,只有0是假,除了0之外都是真

java中ture为真,flase为假。

既然是数据类型,怎么给变量赋值?看下面

boolean flag1 = ture;
boolean flag2 = false;

flag1表示为真,flag2表示为假

boolean非常特殊,JVM并没有明确大小

8、char

char是字符型,不是整型,在C语言中,char属于整型,但在java中它就是字符型。

char的取值范围是 0~65535  不能表示负数

char在java中占2个字节,众所周知一个汉字也占2个字节,所以char可以直接赋值汉字。

 在java中,char的字符集与C语言不同。

C语言中char的取值范围是0~255  而Java的取值范围更大

C语言char 的 字符集是ASCII码字符集  java使用的是Unicode字符集.

引用数据类型

String类型

String是字符串类型!

没错,java中有字符串类型,不像C语言那样,要存放字符串需要定义一个字符数组,String的出现,特别方便!看下图:

 字符串用String类型的变量直接赋值,而且也可以直接打印出来,不需要用循环也能完成  还有特别重要的一点,它可以直接算出字符串的长度 只需要变量名.length 不需要在用sizeof算长度了 

总结:

虽然数据类型很简单,不过这些是最基础的东西,不可忽视基础!!!(如有错误,欢迎大佬指正!)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/913494.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号