基本数据类型:数值型 整数类型 (byte short int long)
浮点类型 (float double)
字符型(char)
布尔型 (boolean)
引用数据类型 类(class)
接口(interface)
数组
包装数据类型 就是把基本数据类型转换成引用数据类型有了面相对象的概念
!所有数据类型长度固定 不随硬件软件系统不同而不同
基本数据类型转换
不同的基本数据类型之间进行运算时需要进行类型转换
除Boolean类型外,所有基本数据类型进行运算时都要考虑类型
转换方式
自动转换 byte->short->int->long->float->double 注意:long->float是8字节转4字节
规则:1算术运算
低级别——>高级别 位数少的——>位数多的 注意long——>float是8字节
转4字节
规则:2赋值运算 :满足自动类型转换的条件
1.两种类型要兼容,数值类型(整型和浮点类型)相互兼容 float可以兼容long
2.目标类型大于源类型,例double大于int型
强制转换 高级别转低级别时,必须要进行强转
是否强制转换取决于数据类型级别的高低,不取决于数据的实际值
代码举例:
public static void main(String[] args) {
// TODO Auto-generated method stub
//在变量前加final关键字,这个变量就变成了常量 将不能再进行修改
final int A=0;
//自动类型转换byte->short->int->long->float->double 注意:long->float是8字节转4字节
//基本数据类型的自动类型转换只有七种 除了Boolean类型
//基本规则:低级别可以直接转高级别
//运算时的自动转换条件
//两种数据类型要兼容 float可以兼容long
//目标类型比源类型大
int a=10;
double b=1.1;
b=b+a;
double aa=6.0;//默认是double类型
float bb=6.0f;//加f转换成float型
System.out.println(6/4);//输出为1 类型为int
System.out.println(6.0/4);//输出为1.5 类型为double 自动转换成高精度的
}
public void changeClass(){
//强制类型转换
//高级别转低级别时,必须要进行强转
//是否强制转换取决于数据类型级别的高低,不取决于数据的实际值
/* int a=330;
short b=(short)a;
short c=350;
int d=(int)1.4;
*/
int a=10;//基本数据类型
//包装数据类型 就是把基本数据类型转换成引用数据类型有了面相对象的概念
Integer A=new Integer(1);
//基本数据类型转换成包装类的过程叫装箱
int i=10;
Integer ig=Integer.valueOf(i);//把基本数据类型转换成包装类型
Integer ia=i;//JDK1.5以后自动转换
//包装数据类型转变成基本数据类型的过程叫拆箱
Integer c=10;
int e=c.intValue();//
int d=c;
//把字符串转换其他数据类型 调用包装类的parseXXX方法
String s="123455";
int f=Integer.parseInt(s);
Long l=Long.parseLong(s);//字符串必须满足Long型 若出现字母等将不能进行转换
}