一、变量的本质
变量就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。
我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。
变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
例如:
double salary;
long countryPopulation;
int age;
二、变量的分类
1.局部变量(local variable):方法或语句块内部定义的变量
生命周期:从声明位置开始到方法或者语句块执行完毕为止;
局部变量在使用前必须先声明、初始化再使用
2.成员变量(member variable):方法外部、类的内部定义的变量
从属于对象,生命周期伴随对象始终
3.静态变量(类变量 static variable):使用static定义。
从属于类,声明周期伴随类始终,从类加载到卸载。
例如:
public class TestVariable {
final int a=0;//成员变量;从属于对象,成员变量会自动被初始化
static int b;//静态变量;从属于类
public static void main(String[] args) {
int c = 18;//局部变量;从属于语句块
int q1 = 1200000000;
int q2 = 012;//有0打头,八进制
int q3 = 0x12;//十六进制,0x开头
int q4 = 0b111;//二进制,0b开头
System.out.println(q1);
System.out.println(q2);
System.out.println(q3);
System.out.println(q4);
}
局部变量,静态变量,成员变量的区别
三、常量(Constant)
指的是一个固定的值,
例如:1、2、3、’a’、’b’、true、false、”helloWorld”
用关键字 final定义
形如:final type varName = value;
//常量一旦被初始化之后不可改变其值
四、变量和常量的命名规范
注:所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则: monthSalary
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则: Man, GoodMan
方法名:首字母小写和驼峰原则: run(), runRun()
五、基本数据类型
整数类型:byte(1);short(2),int(4),long(8);
浮点类型: float(4);double(8);
字符型;char(2),double(8);
布尔型:boolean(1);
引用数据类型(占用4个字节)
类(class);接口(interface);数组
/实例变量的默认初始值/
六、整型变量
整型用于表示没有小数部分的数值,它允许是负数。
注:
Java 语言整型常量的四种表示形式
十进制整数,如:99, -500, 0
八进制整数,要求以 0 开头,如:015
十六进制数,要求 0x 或 0X 开头,如:0x15
二进制数,要求0b或0B开头,如:0b01110011
七、浮点型变量
带小数的数据在Java中称为浮点型。浮点型可分为float类型和double类型。
float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。
double表示这种类型的数值精度约是float类型的两倍,又被称作双精度类型,绝大部分应用程序都采用double类型。浮点型常量默认类型也是double。
Java浮点类型常量有两种表示形式
十进制数形式,例如:3.14 314.0 0.314
科学记数法形式,如:314e2 314E2 314E-2
使用科学记数法给浮点型变量赋值
double f = 314e2; //31410^2–>31400.0
double f2 = 314e-2; //31410^(-2)–>3.14
float类型的数值有一个后缀F或者f ,没有后缀F/f的浮点数值默认为double类型。也可以在浮点数值后添加后缀D或者d, 以明确其为double类型。
float类型赋值时需要添加后缀F/f
float f = 3.14F;
double d1 = 3.14;
double d2 = 3.14D;
八、字符型变量
字符型在内存中占2个字节,在Java中使用单引号来表示字符常量。例如’A’是一个字符,它与”A”是不同的,”A”表示含有一个字符的字符串。
char 类型用来表示在Unicode编码表中的字符。Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有65536个字符。
public static void main(String[] args) {
char a ='a';
char b ='可';
char c = '\u0061';
System.out.println(a);
System.out.println(b);
System.out.println(c);
//转义字符
System.out.println(""+'a'+'\n'+'b');//换行符
System.out.println(""+'a'+'\t'+'b');//制表符
System.out.println(""+'a'+'\''+'b');//单引号
}
转义字符
九、boolean类型变量
boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节)。不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。
boolean 类型用来判断逻辑条件,一般用于程序流程控制 。
//流程控制
boolean flag ;
flag = true; //或者flag=false;
if(flag) {
// true分支
} else {
// false分支