012_JAVA基础语法_变量、常量、作用域
-
变量:会变化的量。
-
JAVA是一种强类型语言,每个变量都必须声明其数据类型。
-
变量包含的要素:变量名、变量类型、作用域。
-
变量声明
type varName [=vallue][{,varName [=value]}];
//数据类型 变量名 = 值;
//可以使用逗号隔开来一次声明多个同类型变量,但不推荐使用这种方法;建议一条语句声明一个变量 -
注意事项
-
每个变量都有类型,可以是基本类型,也可以是引用类型(只要不是基本类型,就可以归为引用类型);
-
变量名必须是合法的标识符;
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
-
二、常量Constant
-
常量:初始化后不能再改变的值!不会变动的值!;常量可以理解为一种特殊的变量,其值在确定后,在程序中运行过程中不允许改变。
-
声明格式:使用修饰符final。
//常量名通常使用大写字符
final 常量名 = 值;
final double PI = 3.14;
-
常量还可以使用static等修饰符,修饰符位置不区分前后。
static final double PI = 3.14;
final static double PI = 3.14;
三、变量作用域
-
变量的作用域规定了变量的使用范围,只有在其使用范围内变量的使用才有效;不同地方声明的变量,其作用域会有所不同。
-
根据作用域的不同,可将变量分为成员变量(类变量、实例变量)、局部变量。
-
类变量(静态变量)
-
使用关键字static修饰的变量;
-
位于方法外,类里面;
-
类变量从属于类,与类共存亡;
-
类变量使用时可直接用变量名,或类名.变量名 对象名.变量名
-
-
实例变量(全局变量)
-
位于方法外,类里面;
-
从属于对象(可简单理解为从属于类)
-
如果没有自行初始化,则会为其默认初始化为(0,0.0,u0000,null(出来基本类型外,默认值都为null),false)
-
访问:对象名.变量名
-
-
局部变量
-
方法或代码块内使用;可以分为:
-
方法参数变量(形参):整个方法内有效;
-
方法局部变量(方法内定义):从定义这个变量到方法结束这段内有效;
-
代码块局部变量(代码块内定义):从定义这个变量开始到代码块结束这一段时间内有效。常用于 try catch 代码块中,成为异常处理参数变量。
-
-
使用前必须先声明和自行初始化值;
-
-
-
举例
public class Demo4_Variable {
//1.实例变量
String name;
int age;
static int allClicks = 0; //2.类变量
public static void main(String[] args) {
//3.局部变量
for (int j = 0;j<5;j++){
int i = 0;
System.out.println(i+j);
}
//4.实例变量使用
//变量类型 变量名 = new 变量类型()
Demo4_Variable demo4 = new Demo4_Variable();
System.out.println(demo4.age); //对象名.变量名
System.out.println(demo4.name); //对象名.变量名
//5.类变量的使用
System.out.println(allClicks); //变量名
System.out.println(Demo4_Variable.allClicks); //类名.变量名
System.out.println(demo4.allClicks); //对象名.变量名
}
}
四、变量的命名规范
-
所有的方法、变量、类名都要见名知意,不要使用拼音;
-
类成员变量、局部变量、方法:首字母小写,驼峰原则 如:monthSalary,run(),maxSpeed();
-
常量:大写字母,下划线 如:MAX_VALUE;
-
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现