Java常量与变量

Java常量与变量

在程序执行过程中,其值不能被改变的量称为常量其值能被改变的量称为变量

Java关键字

|---------------------|----------------------------|--------------------------|--------------------------------|----------------------------------------------------------------------|
| int | public (公有的,可跨包) | new | finally | throw (抛出一个异常对象) |
| continue | float | long | short | extends (继承,用于类继承类) |
| return | break | for | static (用于声明静态成员,被类的所有实例对象共享) | do (运行,常与while连用) |
| if | goto | default | byte | protected (受保护的,当前包内可用) |
| strictfp (严格精准) | package (用于定义包) | super (调用父类的方法) | void | final (最终的不可被改变的, final修饰的类不能被继承, final修饰的方法不能被子类重写,final修饰的属性就是常量 ) |
| else | catch | implements (实现,用于类或接口实现) | private (限定访问权限为私有,当前类可用) | instanceof (用于检查对象是否是特定类型的实例) |
| extends (继承,用于类继承类) | volatile (用于声明变量在多线程环境中可见) | while | synchronized (用于同步方法或代码块,线程同步) | this (当前类的父类的对象,调用当前类中的方法) |
| try | import | transient (用于声明字段不被序列化) | boolean | abstract (声明抽象) |
| interface (用于定义接口) | case (返回开关里的结果) | switch (用于多重选择语句) | class | enum (枚举,代表一组常用常量,可用来代表一类相同类型的常量) |
| null (空值) | char | native (用于声明本地方法) | double | throws (在执行这个方法的时候,可能产生一个异常,如果产生异常了,那么谁调用了这个方法,就抛给谁) |
[Java关键字]

1 常量

程序运行过程中一直不会改变的量称为【常量(constant)】,也被称作【final变量】,常量在整个程序中只能被赋值一次。

Java声明一个常量除了要指定数据类型,还需通过【final】关键字进行限定,标准语法:

final 数据类型 常量名称[=值]

java 复制代码
//声明常量
final double PI = 3.141592D;    //声明double型常量并赋值
final boolean BOOL = false;     //声明boolean型常量并赋值

当定义的final常量是成员变量/全局变量时,必须在定义时就赋值初始值,否则编译会报错。

java 复制代码
public class Part {
    static final double PI = 3.1415d;    //声明常量PI为成员变量,如果这里不赋值,会错误提示
    static int age = 6;                 //声明int型并赋值变量

    public static void main(String[] args) {
        final int number;               //声明int型常量number
        number = 1225;                  //对常量进行赋值
        age = 31;                       //再次对变量age进行赋值
        //number = 1236;                //错误代码,因为number为常量,常量只能进行一次赋值
        System.out.println("常量PI的值为:" + PI);
        System.out.println("赋值后number的值为:" + number);
        System.out.println("int型变量age的值为:" + age);
    }

}

输出:
常量PI的值为:3.1415
赋值后number的值为:1225
int型变量age的值为:31

2 变量

2.1 成员变量

在类体中所定义的变量称为【成员变量/全局变量】,成员变量的作用域为整个类,类的成员变量又分为【静态变量】和【实例变量】

2.1.1 静态变量
2.1.2 实例变量
java 复制代码
class Var{
    int x = 45;            //x为实例变量
    static int y = 90;     //y为静态变量/类变量
}

示例中,x为实例变量,y为静态变量(也称作类变量),如果在成员变量的前面加上关键字static,这样的成员变量就称为静态变量。静态变量的有效范围可以跨类,甚至可以到达整个应用程序内,静态变量既能在定义它的类中访问使用,也能直接以【类名.静态变量名】的方式在其他类中访问使用

2.2 局部变量

类的方法体中定义的变量(包括方法的参数)称为【局部变量】,局部变量只在当前方法代码块中有效。

局部变量的生命周期取决于方法被调用,方法被调用时JVM为方法中的局部变量分配内存空间,当该方法调用结束后,就会释方法中放局部变量占用的内存空间。

局部变量可与成员变量(全局变量)同名,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效。

变量的作用域

java 复制代码
public class Val {
    static int times = 3;           //定义成员变量

    public static void main(String[] args) {
        int times = 4;              //定义局部变量
        System.out.println("times的值为:" + times);
    }
}

输出:
times的值为:4
相关推荐
Han.miracle13 分钟前
数据结构——二叉树的从前序与中序遍历序列构造二叉树
java·数据结构·学习·算法·leetcode
北冥湖畔的燕雀1 小时前
C++泛型编程(函数模板以及类模板)
开发语言·c++
Le1Yu1 小时前
分布式事务以及Seata(XA、AT模式)
java
寒山李白2 小时前
关于Java项目构建/配置工具方式(Gradle-Groovy、Gradle-Kotlin、Maven)的区别于选择
java·kotlin·gradle·maven
QX_hao3 小时前
【Go】--map和struct数据类型
开发语言·后端·golang
你好,我叫C小白3 小时前
C语言 循环结构(1)
c语言·开发语言·算法·while·do...while
无妄无望3 小时前
docker学习(4)容器的生命周期与资源控制
java·学习·docker
MC丶科3 小时前
【SpringBoot 快速上手实战系列】5 分钟用 Spring Boot 搭建一个用户管理系统(含前后端分离)!新手也能一次跑通!
java·vue.js·spring boot·后端
千码君20163 小时前
React Native:从react的解构看编程众多语言中的解构
java·javascript·python·react native·react.js·解包·解构
夜白宋4 小时前
【word多文档docx合并】
java·word