一、基本类型
Java的基本类型可划分为四组:
①整型:byte、short、int、long(宽度依次为8、16、32、64,不支持无符号类型)
②浮点型:float、double(宽度依次为32、64,不支持无符号类型)
③字符型:char(宽度为16,支持Unicode、ASCⅡ表示)
④布尔型:boolean
整型字面值:
class Solution { public static void main(String[] args) { int bin = 0b11;//二进制以ob开头 int oct = 011;//八进制以0开头 int hex = 0x11;//十六进制以0x开头 System.out.println(bin);//3 System.out.println(oct);//9 System.out.println(hex);//17 } }
浮点型字面值:
class Solution { public static void main(String[] args) { double a = 1e-5;//科学记数法表示 double b = 1_000.5;//下划线仅增强可读性而无实际作用 System.out.println(a);//1.0E-5 System.out.println(b);//1000.5 } }
二、类型转换
①当两种类型兼容且目标类型大于源类型,会发生自动类型转换。
②当两种类型不兼容或目标类型小于源类型,需要进行显式的强制转换。可能会损失精度。
③当表达式求值时中间值要求的精度大于操作数时,操作数类型会自动提升。
三、数组
在Java中数组作为引用类型处理而非基本类型。
class Solution { public static void main(String[] args) { int[] a = {0, 1, 2};//静态创建一维数组 int[] b = new int[3];//动态创建一维数组 for (int i = 0; i < 3; i++) b[i] = i; int[][] c = {{0, 1, 2}, {0, 1, 2}, {0, 1, 2}};//静态创建多维数组 int[][] d = new int[3][3];//动态创建多维数组 for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) d[i][j] = j; int[][] e = {{0}, {0, 1}, {0, 1, 2}};//静态创建多维不等长数组 int[][] f = new int[3][];//动态创建多维不等长数组 for (int i = 1; i <= 3; i++) { f[i] = new int[i]; for (int j = 0; j < i; j++) f[i][j] = j; } } }
四、指针
在Java中不允许使用指针(存在指针但不支持使用者直接访问和修改),若支持指针可能导致Java程序突破Java执行环境。Java不支持指针并非缺陷,只要位于Java执行环境内就永远不需要使用指针,换而言之使用指针对Java程序不会带来任何好处。