这一篇文章就讲一讲Java中的数据类型。
1、数据类型。
和其他语言一样,Java中的数据也是有着不同的类型。int、char、double、float、boolean、long、short、byte等八种基本类型。
首先说一下,数据类型中的自动类型转换。
(1)、自动类型转换
byte->short,char—> int —> long—> float —> double
当前面的阶层转换为后面的阶层数据是不会丢失的,但是后面的大阶层转换为小的阶层数据可能会发生变化。
(2)、强制转换
但是当我们用到了类型转换的时候,由于大的类型是不会转换成小的类型的,所以我们就要用到强制类型转换。
public class type{
public static void main(String[] args){
double a=12.34;
int b=(int)a;
System.out.println(a);
System.out.println(b);
}
}
运行结果便是12.34 12
因为b是整型的变量,用了强制类型转换由double变为int,只取整数部分所以是12
public class type{
public static void main(String[] args){
double a=12.34;
int c=a;
System.out.println(a);
System.out.println(c);
}
}
这就显示了从高类型转换到底的类型会有数据丢失的问题,代码也会报错。
public class type{
public static void main(String[] args){
int a=12;
double c=a;
System.out.println(a);
System.out.println(c);
}
}
但是从低类型到高类型的自动转换就没有问题。
2、变量的默认值
3、默认值的赋予
但是只有将变量设为类变量时才会在编译时初始化为默认值。如果对变量进行了初始化,则变量的值为赋予的值。
//代码一
public class type{
public static void main(String[] args) {
int i;
System.out.println(i);
}
}
//代码二
public class type{
static int i;
public static void main(String[] args) {
System.out.println(i);
}
}
代码一,编译会发生错误,提示有未初始化的变量i;所以在方法里要初始化自己的变量。
代码二,编译成功,运行后输出0;
代码二中的 i 便是类变量。
在一个方法内是不能将一个变量定义为static的,所以static都是类变量。