JAVA变量
1.1. 变量
在软件系统中,是将数据存储在内存之中的,而对内存中的数据的引用就是变量,可以理解为变量就是内存中数据的代词。
简单说, 变量就是指代在内存中开辟的存储空间,用于存放运算过程中需要用到的数据。代码如下所示:
int a = 5;
int b = 6;
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语言语法规定,变量使用之前必须声明,否则会有编译错误。
a = 1; // 编译错误,变量没有声明。
1.2.3. 一条语句中声明多个同类型变量
如果多个变量的类型一样,可以在一条语句中声明,中间使用逗号分隔。
int a = 1,b = 2; //声明了两个整型变量,分别赋值为1和2,中间使用逗号分隔,最后以;号结尾。
Int c,d = 3; //声明了两个整型变量,c没有赋初始值,d赋初值为3。
1.3. 变量的命名
1.3.1. 命名需要符合标识符语法要求
在java语言中,对于变量、常量、方法、类、包等等都有名字,将这些名字统一称之为java标识符,标识符的命名规则如下列表所示:
l 可以由字母、数字、“_”或“$”符组成,但是不能以数字开头。
l 中文可以作为变量名,但不提倡使用。
l Java大小写敏感,即:严格区分大小写,在给命名变量时需要注意。
l 不能使用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语法规定:变量在使用之前必须初始化,规定变量必须初始化之后才能使用。
int a, b = 10;
int c = a + b; // 编译错误,变量a没有初始化。
System.out.prinltn(c);
1.4.2. 在声明变量时初始化
可以在变量声明时初始化,语法:变量类型 变量名称 = 初始值;
int sum = 0; //声明同时初始化
int a = 5;
int b = 6;
sum = a + b;
System.out.println(sum); //sum = 11 。
1.4.3. 在第一次使用变量前初始化
可以在变量声明以后,通过赋值语句对变量进行初始化,但一定确保在第一次使用该变量之前
int sum;
sum = 1; // 在使用sum变量之前对其进行初始化。
sum = sum + 100;
System.out.println(sum);//sum = 101 。
1.5. 变量的访问
1.5.1. 可以对变量中的值进行存取,操作
变量,顾名思义,可以改变的量,在java语言中,可以对其赋值、更改等操作,但是需要注意的是,对变量的操作即为对其所存储的数据的操作。
int a = 100;
a = a + 200; //该条语句的义:将变量a中的值加上200所得结果再存入变量a
1.5.2. 变量的操作必须与类型匹配
变量在声明时指定了它的数据类型,Java编译器会检测对该变量的操作是否与其类型匹配,如果对变量的赋值或者操作与其类型不匹配,会产生编译错误。
int salary;
salary = 15000.50; // 编译错误,整型变量不可以赋予浮点值(小数)。
double d = 123.456;
int n = d-2; // 编译错误,d-2结果为double型,不能赋给整型的n。
Java语言支持的变量类型有:
l 类变量:独立于方法之外的变量,用 static 修饰。
l 实例变量:独立于方法之外的变量,不过没有 static 修饰。
l 局部变量:类的方法中的变量。
public class Variable{
static int allClicks = 0; // 类变量
String str="hello world"; // 实例变量
public void method(){
int i =0; // 局部变量
}
}
Java 局部变量
局部变量声明在方法、构造方法或者语句块中;
局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
访问修饰符不能用于局部变量;
局部变量只在声明它的方法、构造方法或者语句块中可见;
局部变量是在栈上分配的。
局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
public class Test{
public void pupAge(){
int age = 0;
age = age + 7;
System.out.println("小狗的年龄是: " + age);
}
public static void main(String[] args){
Test test = new Test(); test.pupAge();
}
}
原文:https://www.cnblogs.com/wyj1997/p/14661920.html