Java数据类型

Java数据类型,第1张

Java数据类型

一:Java中的8大进本数据类型

1:整形变量:int:包装类(Integer):参考上一篇博客。

2:长整形变量:long:包装类(Long):

 这是定义一个长整型变量,后面加L,不加的话则为a是长整型而10则为整形。

注意:使用10也是可以的,10的类型是int,10L的类型是长整型。

Java中long类型占8个字节,则数据范围是:

最大值:2^63-1   最小值:-2^63

补充:String[]args的作用是:运行时命令参数。

拼接: 

+是拼接的意思,注意:任何数据类型和字符串进行拼接结果依然是字符串。

3:双精度浮点型变量:double:包装类(Double):8个字节

1.0默认为双精度浮点型。

大小: 看一组代码:

 

按正常来想应该是0.5,为什么会输出为0,是因为int为整形变量。

想输出为0.5,要使用double:

 

 一定要是double类型。

看一组代码:

后面有个2的原因是和C语言不一样,双精度是有精度的但是只有大概的范围。

C语言:浮点数,float,精确到小数点后六位。

小数和整数在内存当中存储时存储方式是不一样的,小数没有精确值。一般情况下建议以后在项目中用double。

浮点数和0比较:0>=-0.000001    0<=0.000001。

4:单精度浮点型变量:float:包装类(Float):4个字节

 在Java中是不允许把一个double类型的值直接赋值给float

 在后面加上f或者F都可以。

补充:Java是一个强类型语言,C语言是一个弱类型语言。

大小:

5:字符类型变量:char:包装类(Character):2个字节

 char是字符类型不要和数值类型混为一谈。

大小:最大值最小值是一个数字,要找到对应的字符才能显示。

注意事项:1:Java中使用单引号+单个字母的形式表示字符字面值。

                  2:计算机中的字符本质上是一个整数,在C语言中使用ASCII表示字符,而Java中则是Unicode表示字符。

一个汉字占的是两个字节,两个字节是0到65535没有负值(十进制的取值范围)。

Java中Unicode字符集,包含了很多比如中文,等很多很多。

6:字节类型变量:byte:包装类(Byte):1个字节

 

大小:最大值127  最小值-128

println默认是以整数形式来打印的。

每一种数据类型再给其赋值的时候,一定不能超过它的范围。

7:短整型变量:short:包装类(Short):2个字节

 

大小:

 

注意:这个表示范围比较小,一般不推荐使用。

8:布尔类型变量: boolean:包装类(Boolean):没有明确大小

注意:1:在Java中,布尔类型没有明确的大小

           2:在Java中,布尔类型只有两个取值,true和false

           3:在Java中,没有所谓的0是假,非0是真,真是有true假只有false

总结:Java当中的数据分为两大类

1:基本数据类型

2:引用数据类型:如:类,String,数组,抽象类,接口,枚举....

二:字符串类型变量

1:基本语法格式:String 变量名 = ”初始值“

2:简单代码:

注意: 1: Java使用双引号+若干字符的方式表示字符串字面值 。

            2:和上面类型不同,String不是基本类型,而是引用类型。

            3:字符串中的一些特定的不太方便直接表示的字符需要进行转义。

转义字符:

转义字符有很多,比较常见的有以下几种:

n   换行

t    水平制表符

'    单引号 

"    双引号

\    反斜杠

字符串的+ *** 作  拼接:

 

当一个+表达式中存在字符串的时候,都是执行字符串拼接行为。

三:变量的作用域

就是该变量能生效的范围,一般是变量定义所在的代码块(大括号)。

局部变量在Java中是一定要进行初始化的。

本地代码块:定义在方法内的一个代码块(轻易不要写)。

四:变量的命名规则

硬性指标:1:只能包含数字,字母,下划线。

                  2:数字不能开头。

                  3:变量名是大小写敏感的。

软性指标:1:变量名要具有描述性,见名如意。

                  2:不宜使用拼音。

                  3:变量名的词性推荐使用名词。

                  4:变量命名推荐使用”小驼峰命名法“当一个变量名由多个单词构成,除第一个单词之外,其他单词首字母大写。

五:常量

1:字面常量:就是平常看的常量。

2:final关键字修饰的常量:

 常量不能再运行过程中发生修改。

六:类型转换

 

类型转换分为:隐式类型转换和显式类型转换。

                         隐:把一个小数据类型给大数据类型。

                         显:把一个大类型给小类型,需要进行强制类型转换。 

上述代码如果将b=a颠倒则会报错。

结论:不同数字类型之间的变量赋值,小的可以转换成大的,反之则不行。

int和boolean是没有关系的两个类型,不能相互赋值。

进行转换时不能超过反包围,Java会自行检测如果超过范围会编译出错。

2:强制类型转换

结论:1:强制转换可能会导致精度丢失 。

           2:强制转换不一定成功,没有关系的两个类型不能进行强制转换。

七:数值提升

int和long的混合运算,int会提升成long,结果仍然是long类型,如果要用int来接受则需要强制转换。

 

虽然是相同的类型,但是出现错误,原因是:都是byte但是相加以后会将c提升为int类型在计算其结果也是int所以会报错。所以要进行强制转换。

 

这是强制转换的代码,这样就可以输出了。

结论:计算机按照四个字节为单位从内存中读写数据,这是为了实行方便。低于4个字节的类型

会先提升成int,在参与计算 

不同类型的数据混合运算,范围小的会提升成范围大的。

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

八:int和String之间的相互转换

 

两种方法的转换。

String转成int类型:
 以上是转换代码。

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5120840.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存