变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。
内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。
Java 的两大数据类型:
- 内置数据类型
- 引用数据类型
变量类型及二进制位数
1 | 8bit | 16 | 32 | 64 |
byte | short | int | long | |
boolean | char | float | double |
自动类型转换
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
转换从低级到高级。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
自动类型转换 char c2 = 'A'; int i2 = c2+1;
强制类型转换(把级别高的转换为级别低的)
int i1 = 123;
byte b = (byte)i1;//强制类型转换为byte
Java语言支持的变量类型有:
- 类变量:独立于方法之外的变量,用 static 修饰。
- 实例变量:独立于方法之外的变量,不过没有 static 修饰。
- 局部变量:类的方法中的变量。
举例:public class Variable{
static int allClicks=0; // 类变量
String str="hello world"; // 实例变量
public void method(){ int i =0; // 局部变量
} }
访问控制
修饰符 当前类 同一包内 子孙类(同一包) 子孙类(不同包) 其他包public
Y Y Y Y Y
protected
Y Y Y Y/N(
说明) N
default
Y Y Y N N
private
Y N N N N