在java语言中在,在定义后其值永远不变的值就是常量。其值不能改变就是不随时间变化的的某些量和信息,也可以是表示某一数值的字符或字符串。在java程序中,常量名通常用大写字母来表示,格式如下:
final double PI = value; 其中value是常量的值,PI是常量的名称。
为了传递数据,将数值可以变化的量称为变量在声明变量都必须为其分配一个类型。声明变量的格式如下:数据类型 变量名 = value;
变量和常量的最大区别是value的值可有可无,而且还可以对其进行动态初始化
java语言的变量可以分为局部变量和全局变量,全局变量又称为成员变量
局部变量:就是在一个方法块或一个函数内起作用,超过这个方法,它将没有任何作用。
在这里插入代码片s3 =a1*b1;
System.out.println("三角形面积为:"+s3);
会报错,因为s3没有定义类型
package longyuliangxuliang;
public class PassTest1 {
//定义类PassTest1
public static void main(String[] args) {
// 三角形面积
int a1 =12,b1=34;
int s3 =a1*b1;
System.out.println("三角形面积为:"+s3);
}
}
结果:三角形面积为:408
明白了局部变量后就不难理解成员变量(全局变量),其实它就是比局部变量的作用区域更大的变量,能在整个程序内起作用。从名字就可以看出来。成员变量定义在一个类中。
package longyuliangxuliang;
public class PassTest1 {
//定义类PassTest1 ,定义变量x,y,z
int x ;
int y;
double z;
//下面设置y的值,并分别输出x,z的值
public static void main(String[] args) {
int y= 23;
System.out.println("打印数据y="+y);
//下面开始分别输出数据
PassTest1 r =new PassTest1();
System.out.println("打印数据x="+r.x);
System.out.println("打印数据z="+r.z);
}
}
结果:打印数据y=23 打印数据x=0 打印数据z=0.0
在上诉实例中,成员变量对这个程序产生作用,但局部变量可以随时更改这个变量的值,如重新定义了y的值。有些变量没有定义也会出现值,这说明不管什么类型的变量都会有默认值
注意:在面对变量作用域问题时,一定要了解变量要先定义才能使用,但也不是在变量定义后的语句一直都使用前面定义的变量。我们可以用一个大括号将多个语句括起来形成一个复合语句,变量只在他定义的复合语句中使用。例如:
package longyuliangxuliang;
public class PassTest {
public static void main(String[] args) {
int s =34;
{
int q =45; //x和q都可以使用
// int s = 67; //错误定义,java中不允许有这样的嵌套定义
System.out.println("s:"+s);
System.out.println("q:"+q);
}
System.out.println("s:"+s);
}
}
结果:
s:34
q:45
s:34
package longyuliangxuliang;
public class PassTest {
public static void main(String[] args) {
int s =34,q=89;
{
q =45; //x和q都可以使用
s = 67;
System.out.println("s:"+s);
System.out.println("q:"+q);
}
q=s;
System.out.println("q:"+q);
}
}
结果:
s:67
q:45
q:67