Logo

郎哥编程

变量与常量

2019-12-06 1072

变量的主要作用是用来存储数据,变量存储的数据内容称为变量的值。变量的值在程序的运行过程中是可以变化的,变量可以被重新赋值。常量是一种特殊的变量,常量被赋值后,常量的值在程序运行过程中不能被改变。

要弄清楚变量如何能存储数据这个问题,就要说到计算机存储器的概念。计算机存储器是存放程序和数据的地方,一个存储器由成千上万个存储单元组成,每个存储单元对应一个位置编号。可以把社区看成一个存储器,社区内的所有住户就是社区的存储单元,每个住户都有门牌号,方便查询。存储单元的位置编号就是该存储单元的地址,程序可以通过地址方便地寻址到该存储单元。

当我们声明一个变量或常量时,计算机系统会为这个变量或常量分配存储单元,分配的存储单元数量与变量存储的内容有关,内容越多分配的存储元数量就越多,当给变量赋值时,实际上是把值存储到与变量相关的存储单元里面。下图变量num1、num2和result分别指向不同的存储单元。

image.png

变量或常量的命名除了要遵循标识符的命名规则外,还需要做到见名知意。见名知意的意思就是我看到变量名称,就知道这个变量表示的是什么意义。例如:在求长方形面积的程序中,我们可以命名两个变量,一个变量名称是width,用于存储长方形的宽度,一个变量名称是height,用于存储长方形的长度,这种变量命名方式显然要比num1和num2变量名更有意义。

下面是正确的变量命名示例:

width、height、book、result、num、num1、num2、book_price

下面是错误的变量命名示例:

123rate(以数字开头)、Book  Author(包含空格)、Address#(包含特殊字符)、class(calss是Java关键字)。

变量的声明

变量的声明语句是非执行语句,目的是为声明的变量预留存储空间,以备将来使用。

变量声明语法规则:访问权限  数据类型  变量名;

其中,访问权限是Java语言的权限关键字,可以是public、private、protected,访问权限可以省略,不声明访问权限时,该变量被赋为默认权限;数据类型可以是Java支持的任何数据类型;变量名为声明的变量名称。

示例:声明字符串变量

public  String   guideContent;
String   guideContent;

变量的初始化

对变量赋值的过程称为变量的初始化,声明变量时可以对变量直接赋值,如果在声明变量时没有对变量进行赋值,则应在后面的程序中为变量赋值。

示例:声明字符串变量并赋值

String   guideContent=” 我在学习Java编程”;

示例:为已声明的变量赋值

guideContent=” 我正在学习变量与常量”;

常量的声明

程序运行过程中,有些值需要保持不变。例如:在基于数学运算的程序中,圆周率是固定不变的值。类似圆周率等在程序运行过程中固定不变的值可以定义为常量,便于使用。

Java常量的定义

final 数据类型 常量名称 = 值;

其中,final是Java关键字,数据类型可以是Java语言支持的任何数据类型。

示例:圆周率常量定义

final  double  PI = 3.14;

其中,double是Java数据类型之一,后面会讲到。

案例1:在eclipse下新建项目PBaseUnit43Case1,创建包unit43,在unit43包下创建Java类Case1,在Case1类中声明变量radius(半径)与常量PI(圆周率)并初始化为0,然后在main方法中修改变量r的值,最后输出变量radius和常量PI的值到控制台。Case1类的代码如下:

/** 
* @Title: Case1.java 
* @Package unit43 
* @Description: Java基础知识课程案例
* @author 编程训练营 
* @date 2019年11月29日 
* @version V1.0 
*/ 
 
package unit43;
 
/** 
* @ClassName: Case1 
* @Description: Java语言基础学习单元(变量与常量)案例1
* @author 编程训练营 
* @date 2019年11月29日 
* 
*/
 
public class Case1 {
 
    // 声明常量PI并赋值
    static double PI = 3.14;
    // 声明变量radius并初始化为0
    static double radius = 0.0;
   
    /** 
    * @Title: main 
    * @Description: Java程序入口main方法
    * @param @param args    参数 
   
    * @return void    返回类型 
    * @throws 
    */
 
    public static void main(String[] args) {
       // 修改变量radius的值
       radius = 3.5;
       // 输出常量PI的值到控制台
       System.out.println("常量PI的值为:" + PI);
       // 输出变量radius的值到控制台
       System.out.println("变量radius的值为:" + radius);
    }
 
}

程序执行结果如下图所示:


image.png

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论