javase基础语法
数据类型
Java是一种强类型的语言
强类型表示,变量在定义的时候必须显式的声明类型是什么 java
弱类型表示,变量会根据值自己去推断,不需要指定类型是什么 js,python,scala
java数据类型
基本数据类型(4类8种)
整数类型:byte short int long(不同类型表示不同的长度)
byte: 使用一个字节存储,因此范围是 -128-127
short: 使用两个字节存储,因此范围是 -32768-32767
int: 使用四个字节存储,因此范围是 正负21亿
long: 使用八个字节存储,因此范围是。。。。。。
注意:
1、在使用整型类型的时候,默认都是int类型,
2、如果需要使用long类型的话,必须要在数字的后面添加L,建议使用大写,小写容易跟1混淆。
浮点类型: float double 小数类型:使用小数点 使用科学计数法
float: 单精度,精度可以精确到小数点后7位
double: 双精度,精度是float的双倍
注意:
1、默认浮点类型是double类型
2、使用float的时候,数字后要添加f
3、浮点类型并不能表示一个精确的值,会损失一定的精度
字符类型: char
占用2个字节,使用的时候使用''表示
布尔类型: boolean
只有true和false两值,在存储的时候占1位
引用数据类型:
类
接口
数组
-
整数默认类型是int,使用long的时候需要在后面加L(建议大写);
小数默认类型是double,使用float的时候需要在后面加F(建议大写); -
在类内,方法外定义的变量叫做成员变量,会存在默认值;
在方法内定义的变量必须进行初始化操作; -
byte b=10; b=b+1;
这行代码会报错,在进行b+1运算是,系统会转成默认的int类型,再转换成byte类型时会有精度损失。但是可以使用
d+=1
扩展赋值运算符。byte数据类型如果不被final修饰在运算时会被提升为int类型,会存在类型不匹配问题
基本数据类型之间的转换
自动转换(隐形转换):
强制转换
注意:
1、在进行算术运算操作的时候,必须要求数据类型一致,否则无法操作
2、在运算过程中,如果两个值得类型不一致,会自动将小的类型转换为大的类型
3、在运算过程中,可以手动强制转换,将大的类型转换为小的类型
实现方式,(datatype)
4、强制转换,会发生精度损失,结果可能不准确