一、变量
1. 什么是变量:
- 顾名思义,变量就是会变的量;
具体来说就是被赋予了特定标识符的内单元,内存单元中存储的数据是可以被改变的,这就是变量的值,这些特定的标识符就是变量名。
- Java 是一门强类型语言,所有变量都必须声明其类型。
2. Java中定义变量的格式:
Java变量的声明,应该包含变量类型,变量名,作用域,格式如下:
DataType identifier [ = value][, identifier [= value] ...] ; //变量类型 变量名 = 变量的值,可以用 ','定义多个变量
其中 DataType:变量类型,基本类型或引用类型都可以,如int,byte,char等;
Identifier:变量的名称;
value:变量的值;示例:
public class Deom06 { public static void main(String[] args) { // int a,b,c ; // 声明三个int型整数:a、 b、c, 不推荐这种写法,程序可读性差 int i1 = 1, i2 = 2 , i3 =3 ; // 声明三个整数并赋予初值,不推荐这种写法,程序可读性差。 byte b1= 11; // 声明变量,类型:byte,变量名:b1 变量的值是 '11'。 char c = 'C'; // 声明变量,类型:char,变量名:c 变量的值是 'C'。 } }
3. 定义变量中要注意的事项
- 变量的类型可以是八大基本类型(byte, shoart, char, int, long, float, double, boolean),也可以是引用类型。(参考阅读:Java基础语法03 - 数据类型)
- 变量名肯定要是合法的标识符。(参考阅读:Java基础语法02 - 标识符和关键字)
- 声明变量的语句必须完整,以
;
结尾
二、常量 (Constant)
常量指的是在程序中固定不变的值,被初始化后是不能被改变的数据。关键字是 final。
常量可以理解为一种特殊的变量,在被设定值后,在程序的整个运行过程中都不能被更改。
在Java中,常量包括整型常量、浮点型常量、布尔常量、字符常量等。
示例:
public class Demo07 {
//变量相关
//常量
static final double PI = 3.1415926 ;
public static void main(String[] args) {
System.out.println(PI);
System.out.println(PI2);
}
}
输出:
3.1415926
3.14
可以看到 final static 与 static final 定义常量跟 两关键字的顺序无关。
三、作用域:
一、类变量(全局变量 static variable)
类变量,是类里的,带 static 关键字
二、实例变量(成员变量 member variable)
实例变量,是在定义的类内部(方法之外)的变量,生命周期从属该对象的生命周期,要使用必须先new一个对像
实例变量并不强制手动初始化。Java虚拟机自动初始化的默认值分别是(布尔型 默认返回false,字符默认返回u0000,数值型默认返回0、0.0,string 返回默认 null),除了基本类型,其他类型返回的都是 null。
示例:
public class Demo07 {
//实例变量:在方法外,类中间,从属于对象。如果没初始化,会返回默认值。
String name ;
int age;
public static void main(String[] args) {
//实例变量,要new 一个对象来引用
Demo07 demo07 = new Demo07() ;
//要new 一个对象才能使用成员变量
System.out.println(demo07.name); //结果为 null
System.out.println(demo07.age); //结果为 0
}
}
输出:
null
0
三、局部变量( lacal variable)
局部变量:是在方法或者语句块内部定义的变量。只能在声明的 {}
内使用,外部无法访问。也就是说生命周期只有从声明位置开始到大括号}
结束。
Java 的JVM 并不会自动给局部变量初始化,因此使用前必须要先声明并且被赋值(也就是变量初始化)。
示例:
public class Demo07 {
//变量相关
public static void main(String[] args) {
//局部变量; 必须要先声明并初始化
int i = 10 ; // 生命周期,只能在{}内被使用
System.out.println(i);
}
}
局部变量没赋初值,报错误提示:变量i没被初始化
四、PS:变量命名规范
- 所有变量、方法、类名:简单名了,见名知意
- 实例变量:首字母小写和驼峰原则:firstName
- 局部变量:首字母小写和驼峰原则: secondName
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则: Demo, MyFirstDemo
- 方法名:首字母小写和驼峰原则: plant(), destroyPlant()