一、Java的八种基本类型
六种数字类型:四个整数型 俩个浮点型
一个字符类型
一个布尔型
byte short int long float double boolean char
实例:基本类型的取值范围:
public class PrimitiveTypeTest {
public static void main(String[] args) {
// byte
System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
System.out.println("包装类:java.lang.Byte");
System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
System.out.println();
// char
System.out.println("基本类型:char 二进制位数:" + Character.SIZE);
System.out.println("包装类:java.lang.Character");
// 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台
System.out.println("最小值:Character.MIN_VALUE=" + (int) Character.MIN_VALUE);
// 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台
System.out.println("最大值:Character.MAX_VALUE=" + (int) Character.MAX_VALUE);
}
}
二、引用类型
引用类型指向一个对象 指向对象变量是引用变量 变量在声明时被指定为一个特定的类型、变量一旦声明后
类型就不能改变了
对象 数组都是引用数据类型
所有引用类型的默认值都是null
三、Java常量 在运行的时候不能被修改
Java中用final来修饰常量
final double PI=3.1415926
使用常量时 前缀0表示8进制 前缀0x表示16进制
Int decimal =100;
Int octal =0144;
Int hexa=0x64;
字符串常量String和字符常量char 可以包含任何Unicode字符
Char a='\u0001'
String a="\u0001”
自动类型转换:从低到高
byte,short,char—> int —> long—> float —> double
boolean类型不能转换
强制类型转换
在Java中 任何字符类型与字符串相加 结果都是拼接
String s = null;
s += "hello";
System.out.println(s); // 输出 nullhello
原因:先应用 String.valueOf 得出 s 的 value 值,再通过 StringBuilder 拼接 hello,
因此将 value 与 hello 进行了拼接。
String s = null;
s = (new StringBuilder(String.valueOf(s))).append("hello").toString();
System.out.println(s);