0
点赞
收藏
分享

微信扫一扫

java常量与变量的区别

westfallon 2022-03-18 阅读 72

常量:在Java代码运行的过程中, 其值不会发生变化的量(数据), 称为常量

1、用final修饰(也称最终变量)

2、常量在声明时必须赋初值,赋值后不能再修改值

3、常量名通常用全大写字母表示

4、符号常量 – 有名字的常量(定义到方法外且固定static final)

5、字面值常量 – 通俗点讲直接打印输出的各种类型数据(没有名字,且不可更改)。

//符号常量
public static final String IDCARD ="150233198804231123";

public class Test{

//符号常量   一般定义在类中并且在方法外,以static 和 final 关键词修饰
//final 最终的  static 静态的 
public static final String ID_CARD = "12345678901230987654";

public static void main(String[] args) {
   
   //变量
   int i = 100; //这种算定义 不算直接使用   
  
   System.out.println(i);     
   
   System.out.println(300); //自面量常量       
   System.out.println(200); //常量       
  
   //总结:这个案例中,100是使用i定义出来的,之后可以改变 变量      
   //200 和 300 没名字并且只能使用这一次 这种我们叫常量      
  
   System.out.println(ID_CARD);  
          }
   }

变量: 在程序运行过程中,其值可以发生改变的量,人为和程序都可以控制改变

1、变量类型不同,分配的内存类型也不同

2、无初始化成员变量的默认值

3、变量的自动算术运算转换

4、全局变量和成员变量区别
使用范围:
全局变量的使用范围是整个类都可以使用
成员变量只能在定义的方法中使用

定义的区别:
定义的是全局变量,如果在静态方法中使用, 那么要求变量也必须是静态的,如果是非静态方法使用, 变量是静态或非静态都可以。

成员变量的定义在静态方法中不可以再使用静态的声明,因为静态方法在内存中存储的地址是不一样的。 只能定义成普通的。

局部变量是存在栈中,全局变量存在堆中,程序运行中有两个存储空间可用,一个是栈,是归属于进程本身的,另外一个是堆,所有进程共用的。

public class Test {

//全局静态变量:定义在方法外
static int i = 100;
          
//主函数,执行的入口,默认只会执行这一个方法
public static void main(String[] args) {
                   
//局部变量定义方法内       
int k = 50;                         
System.out.println(i);       System.out.println(k);
}    
                          
public static void show(){                                  System.out.println(i);       //System.out.println(k); k无法使用  
}
}
举报

相关推荐

0 条评论