笨方法学 Java -05-语法-变量、常量、赋值
作者:谎言诞行    发布时间:2024年01月05日

0、前言

在前面第3、4章节,我们已经见过Java程序是怎么写的。下面将详细解析程序代码中的一些语法内容。章节链接如下:

《笨方法学 Java 03-第一个 Java 程序》

《笨方法学 Java 04-数据类型介绍》


1、作用域说明

在定义类、方法、变量、常量时,会遇到几个关键字:public、private、protected、default。它们主要用于标记对应事物的作用域。总结如下表:


类内部

本包

子类

外部包

public

ok

ok

ok

ok

protected

ok

ok

ok

no

default

ok

ok

no

no

private

ok

no

no

no

注意:

default 修饰符是Java 8 开始引入,用于修饰接口(interface)中方法的。Java 8之前主要用于switch语句默认处理的修饰。

如果一个类、方法、常量不写修饰符,权限和default一致。即类内部、本包内的类可以调用。在书写规范上,一般都是要求写public,除非有封装要求,不暴露信息给外部调用程序。


2、赋值

在计算机上,将一个数据(可以是值,也可以是内存地址)从一个地方,传递到另外一个地方的处理过程,称为赋值。如下代码:

int x = 123;
int y = 2*x+3;

代码中第一行意思是,将123这个整数赋值给变量x。

代码中第二行意思是,将2*x+3 这个结果赋值给变量y。


3、样例程序

// 一个 Java 类
public class DataTester {
    //成员变量(属性)
    public String param1 = "aaaa";
    //常量
    public static final String PARAM_2 = "bbbb";
    //程序入口
    public static void main(String[] args) {
        
       //局部变量
       int x = 123;
       int y = 2*x+3;
       System.out.println("y="+y);
       
       //创建一个 类型 为 DataTester 的 变量
       DataTester d = new DataTester();
       System.out.println("param1="+d.param1);
       d.param1 = "cccc";
       System.out.println("param1="+d.param1);
       
       //常量
       System.out.println("PARAM_2="+DataTester.PARAM_2);
    }
}

image.png


4、变量

在程序代码中,为了便于记忆和书写,我们会用一些助记符号来写代码。在这一点上,数学代数理论和编程是一致的。比如数学公式,f(x)=2x+3,x是一个变量。在编程上,变量分为 成员变量 和 局部变量。

l   成员变量:指一个类的属性信息。比如:

//成员变量(属性)
public String param1 = "aaaa";

上面的 param1 就是类 DataTester 的成员变量。

l   局部变量:指一个方法、程序块中定义的变量。

//局部变量
int x = 123;
int y = 2*x+3;
 
//创建一个 类型 为 DataTester 的 变量
DataTester d = new DataTester();

上面的x,y,d三个都是main方法的成员变量。另外,main方法的入口参数args也是局部变量。


5、常量

在编程过程中,我们会遇到一些定值,比如:一周是7天,圆周率是3.14等等。这些编程上的定值,我们一般把它们称为一个常量。常量和变量最大的不同在于,常量是定值,只能赋值一次。常量一般用final关键字修饰,如下图:

image.png

在DataTester类中,我们定义了一个常量 PARAM_2 ,它的值是 “bbbb”。我们尝试将它重新赋值,结果编译报错


本章节结束。


填写一种颜色的字符(不区分大小写),1分钟有效,点击图片刷新