一: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类型:
以上是转换代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)