简介
创建变量就是申请内存来存储值:创建变量 —— 申请内存空间 —— 内存管理分配空间(根据变量类型)
分为两大数据类型:1.基本数据类型
2.引用数据类型
基本数据类型
注:1字节 = 8位
1. 整数类型(int为默认类型)
默认值:0
在给long类型的变量赋值时,要在末尾加上“L”或“l”;
2. 浮点类型(double为默认类型)
默认值:0.0f,0.0d
在给float类型的变量赋值时,如果赋的值有小数部分则一定要在末尾加上“F”或“f”;
"E+数字"是科学计数法,3.14E3就是3.14 × 103=3140,3.14E-3 就是 3.14 x 10-3=0.00314。
3. 字符类型(2字节)
默认值:‘\0’ 范围(0~65535)
char类型是一个单一的 16 位 Unicode 字符,可存储任何字符
4. 布尔类型(1字节)
默认值:false
boolean数据类型表示一位的信息,这种类型只作为一种标志来记录 true/false 情况
实际上,JAVA中还存在另外一种基本类型void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。
引用数据类型
引用类型是一个对象类型(数组也是一个对象)。
它的值是指向内存空间的引用(地址),所指向的内存中保存着变量所表示的一个值或一组值。默认值:null
常量
常量是在程序运行时,不会被修改的量。用final 关键字来修饰常量,习惯:大写字母表示
类型转换
1.自动类型转换 (低 —— 高)
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
转换从低级到高级:byte,short,char—>int—>long—>float—>double
2.强制类型转换 (高 —— 低)
在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
隐含强制类型转换:整型默认是int型,所有声明long型要加“L”。
java枚举enum
1.Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示;
2.是特殊的类(不属于基本数据类型和引用类型),可以拥有成员变量和方法;
详解:1.enum和class、interface的地位一样;
2.enum定义的类默认继承java.lang.Enum,而非Object类;
3.所有实例必须第一行,无需new,无需显示调用构造,自动添加public static final修饰;
4.enum定义的非抽象类默认final修饰,不可以被继承;
5.枚举类的构造器只能是私有的;