网站首页 > 技术文章 正文
编者按
计算机能够直接识别的是二进制流,原始的程序设计都是基于二进制方式设计的。随着计算机语言的发展,计算机编程越来越偏离二进制方式;为什么会这样呢?理由很简单,程序是人来编写、阅读和维护的!变量是编程语言中最为基础的,也是后续编程的基石!
内容提要
为什么会有变量?正如每个人都有名字一样!变量是一门语言最基础的、最核心的东西,本讲将重点介绍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
猜你喜欢
- 2025-07-24 Java面试常见问题:Java注解(java中的面试题)
- 2025-07-24 Java编程入门第一课:HelloWorld(java编程从入门到实践)
- 2025-07-24 Java基础教程:Java继承概述(java里继承的概述)
- 2025-07-24 java基础之——访问修饰符(private/default/protected/public)
- 2025-07-24 如何规划一个合理的JAVA项目工程结构
- 2025-05-02 Java 异常知识点一篇没够再来一篇
- 2025-05-02 JVM参数、main方法的args参数使用
- 2025-05-02 别再问Cookie了,再问就崩溃了!(别再问我什么是disco原唱)
- 2025-05-02 Java 如何设计 API 接口,实现统一格式返回?
- 2025-05-02 Java入门:常量变量和数据类型的全部基础知识点
- 最近发表
- 
- 聊一下 gRPC 的 C++ 异步编程_grpc 异步流模式
- [原创首发]安全日志管理中心实战(3)——开源NIDS之suricata部署
- 超详细手把手搭建在ubuntu系统的FFmpeg环境
- Nginx运维之路(Docker多段构建新版本并增加第三方模
- 92.1K小星星,一款开源免费的远程桌面,让你告别付费远程控制!
- Go 人脸识别教程_piwigo人脸识别
- 安卓手机安装Termux——搭建移动服务器
- ubuntu 安装开发环境(c/c++ 15)_ubuntu安装c++编译器
- Rust开发环境搭建指南:从安装到镜像配置的零坑实践
- Windows系统安装VirtualBox构造本地Linux开发环境
 
- 标签列表
- 
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (73)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)
 
