什么是java变量,java变量是什么

     2022-05-19     160

关键词:

什么是变量,变量是什么
想要更多面试题和学习资料的可以私聊联系我,大家一起交流学习!

1.1. 什么是变量
在日常生活中,人们会用到大量数据,像去ATM机取款,首先,需要插入银行卡,这个过程其实就是ATM机的系统在获取银行卡号这个数据,而后,输入密码,这个过程也是在获取数据,也就是密码。在后续进行的业务处理中,像存钱、取钱、转帐汇款等等,银行卡号和密码会被反复的、频繁的使用, 那就需要一个存储这些数据的地方。
在软件系统中,是将数据存储在内存之中的,而对内存中的数据的引用就是变量,可以理解为变量就是内存中数据的代词。
简单说, 变量就是指代在内存中开辟的存储空间,用于存放运算过程中需要用到的数据。代码如下所示:
1.int a = 5;
2.int b = 6;
3.int c = a + b;
如上代码中,变量a、b、c指代内存中三块用于存储整数的存储空间,分别用于存储两个整数及这两个整数之和,int意为整数数据类型,后续课程会详细介绍。
对于变量,我们需要关注如下几个方面:
1.变量的声明:用特定语法声明一个变量,让运行环境为其分配空间。
2.变量的命名:需要有个见名知意的名字,而且要符合Java语言规范。
3.变量的初始化:变量声明后,要为其赋一个确定的初值后再使用。
4.变量的访问:可以对变量中的数据进行存取、操作,但必须和其类型匹配。
1.2. 变量的声明
1.2.1. 变量的声明
当需要使用一个变量时,必须对该变量进行声明,变量的声明包含两点:变量名和数据类型,代码如下所示:
int a
上面的代码中,int为变量的数据类型,a为变量的名称,当声明如上语句时,JVM会为该变量在内存中开辟存储空间,不同的变量类型决定了存储空间的结构(后面详细介绍)。
1.2.2. 未经声明的变量不能使用
Java语言语法规定,变量使用之前必须声明,否则会有编译错误。代码如下所示:
public static void main(String[] args) {
????a = 1; // 编译错误,变量没有声明

????int score = 0; 

????scord = 100; // 编译错误
????System.out.println(score);
}
从上面的代码中,可以看到出现了两个编译错误,编译错误即为javac过程出现的错误,主要是由于语法问题导致的。第一个错误,a =1,是因为该变量没有声明。第二个错误,scord=100,是因为前面声明的为score,编译器并未找到scord变量,该错误是因为拼写错误造成的。
1.2.3. 一条语句中声明多个同类型变量
如果多个变量的类型一样,可以在一条语句中声明,中间使用逗号分隔, 代码如下所示:
public static void main(String[] args) {

????int a=1, b=2; 

????int c, d=3; 

}
从上面的代码中,可以看到,第一条语句,声明了两个整型变量,分别赋值为1和2,中间使用逗号分隔,最后以;号结尾。第二条语句,声明了两个整型变量,c没有赋初始值,d赋初值为3。
1.3. 变量的命名
1.3.1. 命名需要符合标识符语法要求
在java语言中,对于变量、常量、方法、类、包等等都有名字,将这些名字统一称之为java标识符,标识符的命名规则如下列表所示:
可以由字母、数字、“_”或“$”符组成,但是不能以数字开头。
中文可以作为变量名,但不提倡使用。
Java大小写敏感,即:严格区分大小写,在给命名变量时需要注意。
不能使用Java保留字(一些Java语言规定好的,有特殊含义的字符),如:int、if、else、for、break等。
看如下的一些实例,可以体现出java标识符的命名规则:
int 123go = 100; // 编译错误,标识符不能以数字开头。
int 成绩 = 60;// 编译没错,标识可以是中文,但不建议使用。
int break= 200; // 编译错误,break是Java保留字。
int score = 80;
System.out.println(Score); // 编译错误,Java大小写敏感,Score变量没有声明。
1.3.2. 命名需见名知意,且符合Java规范
Java 变量的命名应“见名知意”,同时,Java编程规范要求:变量的命名需采用“驼峰命名法”,即如果变量的名字有多个单词组成,除第一个单词外,其他单词的首字母大写,其余的字母小写,例如:salary、 javaScore 、studentName、empSalary 等。
1.4. 变量的初始化
1.4.1. 未经初始化的变量不能使用
Java语法规定:变量在使用之前必须初始化,即必须给该变量赋予特定的值,而在C语言中,变量使用之前可以不需要初始化,但是,其初始值不确定,而Java语言的设计者为了避免因此而带来的错误,规定变量必须初始化之后才能使用,代码如下所示:
public static void main(String[] args) {
int a, b = 10;
int c = a + b; // 编译错误
System.out.prinltn(c);
}
上面的代码出现了编译错误, 原因是变量b赋了初始值,在给变量c赋值时可以使用b,而变量a并未赋初始值就直接使用了,违反了java语法的规定,变量使用之前必须初始化,所以出现编译错误。
1.4.2. 在声明变量时初始化
可以在变量声明时初始化,语法:变量类型 变量名称 = 初始值;代码如下所示:
public static void main(String[] args) {
????int sum = 0; //声明同时初始化
????int a = 5;
????????int b = 6;
????sum = a + b;
????System.out.println(sum);
}
1.4.3. 在第一次使用变量前初始化
可以在变量声明以后,通过赋值语句对变量进行初始化,但一定确保在第一次使用该变量之前,代码如下所示:
1.public static void main(String[] args) {
????int sum;
????sum = 0; // 在使用sum变量之前对其进行初始化。
????sum = sum + 100;
????System.out.println(sum);
}
1.5. 变量的访问
1.5.1. 可以对变量中的值进行存取,操作
变量,顾名思义,可以改变的量,在java语言中,可以对其赋值、更改等操作,但是需要注意的是,对变量的操作即为对其所存储的数据的操作。代码如下所示:
public static void main(String[] args) {
int a = 100;
a = a + 200;//该条语句的义:将变量a中的值加上200所得结果再存入变量a
}
1.5.2. 变量的操作必须与类型匹配
变量在声明时指定了它的数据类型, Java编译器会检测对该变量的操作是否与其类型匹配,如果对变量的赋值或者操作与其类型不匹配,会产生编译错误。代码如下所示:
public static void main(String[] args) {
int salary;
salary = 15000.50; // 编译错误,整型变量不可以赋予浮点值(小数)。
double d = 123.456;
int n = d%2; // 编译错误,d%2结果为double型,不能赋给整型的n。
}

java中什么是实例变量

在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。类的每个对象维护它自己的一份实例变量的副本。实例变量:定义在类中但在任何方法之外。(New出来... 查看详情

day831.局部变量为什么是线程安全的-java并发编程实战(代码片段)

局部变量为什么是线程安全的Hi,我是阿昌,今天学习记录的是关于局部变量为什么是线程安全的。一遍一遍重复再重复地讲到,多个线程同时访问共享变量的时候,会导致并发问题。那在Java语言里,是不是... 查看详情

day831.局部变量为什么是线程安全的-java并发编程实战(代码片段)

局部变量为什么是线程安全的Hi,我是阿昌,今天学习记录的是关于局部变量为什么是线程安全的。一遍一遍重复再重复地讲到,多个线程同时访问共享变量的时候,会导致并发问题。那在Java语言里,是不是... 查看详情

什么是线程局部变量?

线程局部变量是局限于线程内部的变量,属于线程自身所有,不在多个线程间共享。Java提供ThreadLocal类来支持线程局部变量,是一种实现线程安全的方式。但是在管理环境下(如web服务器)使用线程局部变量的时候要特别小心,... 查看详情

什么是线程局部变量?

线程局部变量是局限于线程内部的变量,属于线程自身所有,不在多个线程间共享。Java提供ThreadLocal类来支持线程局部变量,是一种实现线程安全的方式。但是在管理环境下(如web服务器)使用线程局部变量的时候要特别小心,... 查看详情

什么是线程局部变量?

线程局部变量是局限于线程内部的变量,属于线程自身所有,不在多个线程间共 享。Java提供 ThreadLocal类来支持线程局部变量,是一种实现线程安全的方 式。但是在管理环境下(如 web服务器)使用线程局部变量的... 查看详情

java基础

...要熟悉一下Java中变量的命名规则和使用就可以了。变量什么是变量?顾名思义,“变量”就是可以变化的量,每个变量都必须声明其类型。Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域。什么是作... 查看详情

java构造方法成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的?

...员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的?【解答】:当类第一次被加载的时候,静态变量会首先初始化,接着编译器会把实例变量初始化为默认值,然后执行构造方法。Java程序的初始化一般遵循以下三个... 查看详情

Java 类中使用的变量阴影是啥?

...atisvariableshadowingusedforinaJavaclass?Java类中使用的变量阴影是什么?【发布时间】:2010-11-0816:35:13【问题描述】:我正在阅读我的Deitel,JavaHowtoProgram一书,遇到了shadowing一词。如果允许阴影,Java类中有什么情况或目的?例子:publicc... 查看详情

Java 类中使用的变量阴影是啥?

...atisvariableshadowingusedforinaJavaclass?Java类中使用的变量阴影是什么?【发布时间】:2010-11-0816:35:13【问题描述】:我正在阅读我的Deitel,JavaHowtoProgram一书,遇到了shadowing这个词。如果允许阴影,Java类中有什么情况或目的?例子:publ... 查看详情

java基础学习第二天

 1、变量2、运算符###01变量概述    *A:什么是变量?        *a:变量是一个内存中的小盒子(小容器),容器是什么?生活中也有很多容器,例如水杯是容器,用来装载水;你家里的大... 查看详情

配置jdk时环境变量path和java_home的作用是什么?

1、PATH环境变量。作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含... 查看详情

为啥局部变量在 Java 中是线程安全的

...线程安全的【英文标题】:WhyarelocalvariablesthreadsafeinJava为什么局部变量在Java中是线程安全的【发布时间】:2012-10-0107:23:48【问题描述】:我正在阅读Java中的多线程,我遇到了这个局部变量在Java中是线程安全的。从那时起,我一... 查看详情

什么是环境变量path变量起什么作用

...量相当于给系统或用户应用程序设置的一些参数,具体起什么作用这当然和具体的环境变量相关。比如path,是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,... 查看详情

3.请问配置jdk时环境变量path和java_home的作用是什么?

1、PATH环境变量。作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含... 查看详情

07.java类加载问题

目录介绍7.0.0.1Java内存模型里包含什么?程序计数器的作用是什么?常量池的作用是什么?7.0.0.2什么是类加载器?类加载器工作机制是什么?类加载器种类?什么是双亲委派机制?7.0.0.3什么时候发生类初始化?类初始化后对类... 查看详情

为什么java是只有值传递而没有引用传递

值传递:当方法调用传递一个变量时,将变量的值传进去。比如a=4,把a传入时,传入的是4。此时变量a的值是4,地址是存放4的地址引用传递:将变量的地址传进去,传入的是上述4这个值的地址。当一个方法的参数是变量是对象... 查看详情

4java变量和变量的分类

变量变量是什么?变量本质上就是代表一个“可操作的存储的空间”,在定义之后空间位置是确定的,但是里面放置什么值是不确定的,我们操作的时候是通过变量名来操作对应的存储空间的,以此来操作对应的存储空间里面的... 查看详情