Java变量
编者按
计算机能够直接识别的是二进制流,原始的程序设计都是基于二进制方式设计的。随着计算机语言的发展,计算机编程越来越偏离二进制方式;为什么会这样呢?理由很简单,程序是人来编写、阅读和维护的!变量是编程语言中最为基础的,也是后续编程的基石!
内容提要
为什么会有变量?正如每个人都有名字一样!变量是一门语言最基础的、最核心的东西,本讲将重点介绍Java语言的变量。本讲主要内容包括了:
- 变量声明与定义
- 变量类型
变量声明与定义
变量声明与定义的语法格式:
type variable = value , [variable = value] , [variable = value];
Java变量声明与定义中的具体如表1所示:
表1 Java变量声明与定义字段表
字段 | 含义 |
type | 数据类型 |
variable | 变量名 |
value | 变量值 |
其中,需要注意以下两条:
- 中括号中的内容可选
- 连续定义多个变量时,以逗号隔开
我们来看一段具体代码示例:
public class Variables {
public static void main(String[] args) {
// 单个Java变量的声名与定义
short x = 100;
System.out.println("单个Java变量的声明与定义 x=" + x);
// 多个Java变量单行定义与声明
double y = 1.0d, z = 2.0d, m = 3.0d, n = 4.0d;
System.out.println("多个Java变量的定义与声明,其中,y=" + y);
System.out.println("多个Java变量的定义与声明,其中,z=" + z);
System.out.println("多个Java变量的定义与声明,其中,m=" + m);
System.out.println("多个Java变量的定义与声明,其中,n=" + n);
}
}
相同数据类型的变量可以定义在同一行,例如,上述代码中的y,z,m,n四个变量;它们都是double类型,定义在同一行。从企业实践,工程化代码来看,建议是一个变量定义在一行。我们改造一下上述代码,使其满足代码规范:
public class Variables {
public static void main(String[] args) {
// 单个Java变量的声名与定义
short x = 100;
System.out.println("单个Java变量的声明与定义 x=" + x);
// 多个Java变量多行定义与声明
double y = 1.0d;
double z = 2.0d;
double m = 3.0d;
double n = 4.0d;
System.out.println("多个Java变量的定义与声明,其中,y=" + y);
System.out.println("多个Java变量的定义与声明,其中,z=" + z);
System.out.println("多个Java变量的定义与声明,其中,m=" + m);
System.out.println("多个Java变量的定义与声明,其中,n=" + n);
}
}
变量类型
Java中有四种变量:
- 局部变量:定义在方法、构造方法或语句块中的变量,作用域只限于当前方法、构造方法或语句块中。局部变量必须在使用前声明,并且不能被访问修饰符修饰。
- 成员变量:定义在类中、方法之外的变量,作用域为整个类,可以被类中的任何方法、构造方法和语句块访问。成员变量可以被访问修饰符修饰。
- 静态变量:定义在类中、方法之外的变量,并且使用 static 关键字修饰,作用域为整个类,可以被类中的任何方法、构造方法和语句块访问,静态变量的值在程序运行期间只有一个副本。静态变量可以被访问修饰符修饰。
- 参数变量:方法定义时声明的变量,作为调用该方法时传递给方法的值。参数变量的作用域只限于方法内部。
1、局部变量
局部变量在使用前,必须要进行定义与声明,语法格式:
// 形式一:定义与声明
type varialbe = value;
// 形式二:先定义,再声明
type variable;
variable = value;
我们一起看一段具体代码示例:
public class LocalVariable {
public static void main(String[] args){
// 局部变量的定义与声明
int x = 10;
System.out.println("局部变量的定义与声明 x=" + x);
// 局部变量先定义,再声明
int y;
y = 20;
System.out.println("局部变量先定义,再声明 y=" + y);
}
}
2、成员变量
成员变量的语法格式:
public class Instance {
// 成员变量的定义与声明
访问修饰符 type variable [= value];
}
// 成员变量的使用
Instance object;
object.variable;
中括号为可选内容,也就是说,成员变量可以先定义,使用前再声明。
我们一起看一段具体代码示例:
public class InstanceVariable{
// InstanceVariable公有成员定义与声明
public int x = 10;
// InstanceVariable私有成员定义
private int y;
public static void main(String[] args){
// 创建InstanceVariable对象
InstanceVariable object = new InstanceVariable();
System.out.println("InstanceVariable公有成员变量 x=" + object.x);
// InstanceVariable私有成员声明
object.y = 20;
System.out.println("InstanceVariable私有成员变量 y" + object.y);
}
}
成员变量讲解面向对象时,我们将深入探讨一下。
3、静态变量
静态变量的语法格式:
public class Instance {
// 静态变量的定义与声明
访问修饰符 static type variable [= value];
}
// 静态成员的使用
Instance object;
Instance.variable;
我们一起看一段具体代码示例:
public class StaticVariable{
// 静态成员的定义与声明
public static int x = 10;
public static void main(String[] args){
// 创建静态变量对象1
StaticVariable object1 = new StaticVariable();
System.out.println("StaticVariable静态成员 x=" + object1.x);
// 改变静态变量x的值
object1.x = 20;
// 创建静态变量对象2
StaticVariable object2 = new StaticVariable();
System.out.println("StaticVariable静态成员 x=" + object2.x);
}
}
成员变量讲解面向对象时,我们将深入探讨一下。
4、参数变量
参数变量的语法格式:
访问修饰符 返回值类型 function(type variable1, type variable2, type variable3, ...)
参数变量又称为方法形式参数变量,声明定义在方法参数列表中,我们将在方法一节中进一步深入探讨。
我们来看一段简单的具体代码示例:
public class ParameterVariable{
public static void main(String[] args){
int a = 10;
int b = 20;
// 变量a和变量b作为函数的参数
int c = sum(a, b);
System.out.printf("参数变量a + 参数变量b的和等于c,c=" + c);
}
public static int sum(int x, int y){
int z = x + y;
return z;
}
}
代码中方法sum中的x和y两个变量就是形式参数,也就是参数变量。
总结
本讲重点介绍了变量和变量声明与定义以及变量类型;讲解面向对象知识之前,我们重点掌握变量声明与定义即可,随着学习Java的深入,我们穿插讲解更多有关变量的知识。
本讲就到这里,我们下期见,小伙伴们!
往期回顾
- 第1讲 Java前世今生
https://www.toutiao.com/article/7306394115615294006/?log_from=70c615ccdd79d_1701223389682
- 第2讲 Java开发环境配置
https://www.toutiao.com/article/7306698955294196287/?log_from=73070f7d6bc4e_1701410469896
- 第3讲 我的第一个Java程序
https://www.toutiao.com/article/7307065130922132004/?log_from=98cb76d53719d_1701744332302
- 第4讲 Java基本数据类型
https://www.toutiao.com/article/7307468491400233508/?log_from=dc37fba24a013_1701659931185
- 第5讲 Java运算符
https://www.toutiao.com/article/7308574305062208039/?log_from=73abec38aa424_1701742561122