Java基础(二)
二、Java的数据类型
Java分为基本数据类型和引用数据类型
1.基本数据类型
基本数据类型有八个,八个基本数据类型也分为数字类型、字符类型、布尔类型
数字类型有:四个整数型,两个浮点型;
整数型:byte、short、int、long
浮点型:float、double
字符型为:char
布尔类型为:boolean
我们用代码来实现一下几个数据类型:
public class Data {
public static void main(String[] args) {
//byte类型
System.out.println("byte类型的二进制数"+Byte.SIZE);
System.out.println("byte类型的最小值"+Byte.MIN_VALUE);
System.out.println("byte类型的最大值"+Byte.MAX_VALUE);
//short类型
System.out.println("short类型的二进制数"+Short.SIZE);
System.out.println("short类型的最小值"+Short.MIN_VALUE);
System.out.println("short类型的最大值"+Short.MAX_VALUE);
//int类型
System.out.println("int类型的二进制数"+Integer.SIZE);
System.out.println("int类型的最小值"+Integer.MIN_VALUE);
System.out.println("int类型的最大值"+Integer.MAX_VALUE);
//long类型
System.out.println("long类型的二进制数"+Long.SIZE);
System.out.println("long类型的最小值"+Long.MIN_VALUE);
System.out.println("long类型的最大值"+Long.MAX_VALUE);
//float类型
System.out.println("float类型的二进制数"+Float.SIZE);
System.out.println("float类型的最小值"+Float.MIN_VALUE);
System.out.println("float类型的最大值"+Float.MAX_VALUE);
//double类型
System.out.println("double类型的二进制数"+Double.SIZE);
System.out.println("double类型的最小值"+Double.MIN_VALUE);
System.out.println("double类型的最大值"+Double.MAX_VALUE);
//char类型
System.out.println("char类型的二进制数"+Character.SIZE);
//因为char是字符型它的最大值和最小值也是的,所以我们将它转换成int类型输出
System.out.println("char类型的最小值"+(int)Character.MIN_VALUE);
System.out.println("char类型的最大值"+(int)Character.MAX_VALUE);
}
}
上面代码的输出结果为:
byte类型的二进制数8
byte类型的最小值-128
byte类型的最大值127
short类型的二进制数16
short类型的最小值-32768
short类型的最大值32767
int类型的二进制数32
int类型的最小值-2147483648
int类型的最大值2147483647
long类型的二进制数64
long类型的最小值-9223372036854775808
long类型的最大值9223372036854775807
float类型的二进制数32
float类型的最小值1.4E-45
float类型的最大值3.4028235E38
double类型的二进制数64
double类型的最小值4.9E-324
double类型的最大值1.7976931348623157E308
char类型的二进制数16
char类型的最小值0
char类型的最大值65535
boolean布尔数据类型有两个值:true和false,它的默认值为false
2.引用数据类型
引用数据类型:昨天我们说的对象就是引用数据类型,引用数据类型在定义时会在栈空间开辟内存,默认值是null,引用数据类型如果赋值,要使用 new关键字(创建对象关键字)。
3.数据类型之间的转换
一、自动类型转换
我们上面说的字符类型、数字类型都可以混合运算。但是在运算的过程中转换只能由低到高:
byte,short,char–>int–>long–>float–>double
但是转换可能会导致溢出挥着损失精度。
字符类型char转换成int类型如下代码:
public static void main(String[] args) {
char x = 'a';
int y = x;
System.out.println(y);
}
输出结果为:
97
代表的是a的ascll码。
二、强制类型转换
强制类型转换的条件是数据类型必须要兼容
如下代码:
public static void main(String[] args) {
float a= 34.4f;
int m= (int) a;
System.out.println(m);
}
输出结果为:
34