(3-3)Java基本语法:常量和变量

我布置了作业,请大家留言解答。

在Java语言中,变量的值随着程序的运行而随之发生变化。而常量的值在一旦定义后就一直固定不变。

3.3.1  常量

问:介绍什么是常量,包括概念、语法、注意事项和举例。

ChatGPT常量(Constants)是在程序中固定不变的值,其值在定义后不能被修改。在Java中,常量可以使用关键字 final 来声明,表示一旦赋值就不能再改变。常量的命名通常使用大写字母,多个单词之间用下划线 _ 分隔。例如,在下面的代码中,定义了一个名为“EAT”的常量:

final String EAT = "麦当劳";

通过上述代码,将常量“EAT”的值设置为“麦当劳”。并且在整个程序中,“麦当劳”这个值是一直固定不变的。再看下面的例子,通过常量设置了老实人小菜的最爱食品。

范例3-1:小菜最爱的食品是麦当劳(实例文件:daima\3\3-1\...\Chang.java)

在本实例中定义了一个常量NAME,用于表示食品的名字。代码如下:

public class Chang {
   public static void main(String[] args) {
     final String NAME = "麦当劳";                          		//①
     System.out.println("小菜最爱的食品是" + NAME);			//②
   }
}
  • 代码①定义了String类型的常量NAME,常量值是“麦当劳”。
  • 代码②输出常量的值。

执行后输出

小菜最爱的食品是麦当劳

在Java语言中,String是一种表示文本字符串的数据类型。有关数据类型的知识,将在本章后面的内容中进行详细介绍。

【作业】

作业3-1-01:打印输出本班优秀学生的名字和年龄  创建两个量,值分别是“娜娜”和19,然后打印输出“本班优秀学生的名字是娜娜,年龄19”。

作业3-1-02:打印线上高考状元的信息  创建两个常量,值分别是“娜娜”和670,然后打印输出“高考状元是娜娜,成绩是670”。

作业3-1-03:修改优秀程序员的年龄  定义常量并设置一个初始值,用于表示某优秀程序员的年龄,然后打印输出该优秀程序员的年龄。

3.3.2  变量

问:介绍什么是变量,包括概念、语法、注意事项和举例。

ChatGPT在Java程序中,变量是用于存储和表示数据值的一个内存位置,具有一个唯一的标识符(变量名),通过这个标识符可以访问和修改存储在变量中的数据。在程序中,变量允许开发者临时存储和操作数据,使得代码更加灵活和可重用。在Java中,声明和使用变量需要遵循以下语法:

data_type variable_name; // 声明变量
variable_name = value;  // 赋值操作
// 或者同时声明和赋值
data_type variable_name = value;
  1. data_type:表示变量的数据类型,例如 int、double、String 等。
  2. variable_name:是变量的标识符,可以由字母、数字、下划线组成,但不能以数字开头。
  3. value:是变量的初始值。

问:Java语言中的变量分为两种:局部变量和成员变量?

ChatGPT是的,Java中的变量主要分为两种:局部变量(Local Variables)和成员变量(Member Variables),后者也可以称为实例变量(Instance Variables)或类变量(Class Variables)。

1.局部变量
  1. 定义范围:局部变量声明在方法、构造方法或者语句块内部,仅在这个特定的作用域内有效。
  2. 生命周期:局部变量的生命周期仅在其所属的方法、构造方法或语句块执行期间,一旦超出该范围,变量将被销毁。
  3. 无默认值:局部变量不会被赋予默认值,必须在声明时显式赋值后才能使用。

例如,下面的实例演示了使用局部变量表示麦当劳这一品牌的创建时间,你看一下是否起作用?

范例3-2:输出显示“麦当劳品牌简介”(范例文件:daima\3\3-2\...\PassTest.java)

在本实例中定义了一个int类型的局部变量age,用于表示麦当劳的成立时间。代码如下:

public class PassTest{
  public void eat(){													//①  这是一个函数
    int age = 21;														//②  局部变量
    System.out.println(age + "岁");
  }
	
  public static void main(String args[]){
    String name = "麦当劳";
    int age = 1955;													//③
    System.out.println(name + "是全球大型跨国连锁餐厅," + age + "年创立于美国芝加哥。");   //④
  }
}
  • 代码①定义函数eat(),能够打印输出一行文本。
  • 代码②定义了一个int类型变量,设置变量值是21。注意,这个变量是在函数eat()内定义的,所以只在函数eat()中起作用,所以这是一个局部变量。
  • 代码③定义了一个int类型变量,设置变量值是1955。
  • 代码④输出变量的值。

执行后输出结果如下:

麦当劳是全球大型跨国连锁餐厅,1955年创立于美国芝加哥。

执行后输出的数字是1955?在函数eat()内定义的age的值是21,这个值没有起作用。这是因为变量age = 21是一个局部变量,所以只能在函数eat()中起作用。

【作业】

作业3-2-01:打印某学生的语文成绩  用变量表示某同学的语文成绩,然后打印输出这个变量的值。

作业3-2-02:输出显示今日全家桶的销量”  创建两个不同类型的变量,分别表示全家桶和销量,然后用“+”将这两个变量连接并打印输出。

作业3-2-03:计算长方形和三角形的面积  使用变量分别表示长方形和三角形的边长,然后分别用长方形和三角形的面积计算公式计算出面积。

作业3-2-04:输出显示身份证号的长度”  通过Scanner获取输入的身份证号码,然后打印输出身份证的长度。

2.成员变量

成员变量分为两种:实例变量和类变量。

(1)实例变量(Instance Variables)

  1. 定义位置:实例变量声明在类中,但在任何方法、构造方法或语句块之外。
  2. 生命周期:实例变量的生命周期与对象的生命周期一致,当创建对象时被初始化,当对象被销毁时销毁。
  3. 默认值:如果没有显式赋值,实例变量会有默认值(数值类型默认为0,布尔类型默认为false,对象类型默认为null)。

(2)类变量(Class Variables)

  1. 定义位置:类变量也声明在类中,使用 static 关键字。
  2. 生命周期:类变量的生命周期与类的生命周期一致,当类被加载时被初始化,当程序结束时被销毁。
  3. 默认值:类变量如果没有显式赋值,也有默认值。
范例3-3:输出显示“肯德基品牌的创建时间”(范例文件:daima\3\3-3\...\Quan.java)

在本实例中分别定义了int类型的成员变量z和局部变量z,用于表示肯德基的成立时间。代码如下:

public class Quan {
   int z = 100; 								//设置变量z的初始值是100,这是一个成员变量
   public static void main(String[] args){
    int z = 1952;								//重新给变量z赋值为1952,这是一个局部变量
    System.out.println(z + "年,KFC由创始人哈兰·山德士(Colonel Harland Sanders)创建。"); 
   }
}

执行后会输出:

1952年,KFC由创始人哈兰·山德士(Colonel Harland Sanders)创建。

【作业】

作业3-3-01:猜一猜张三的年龄是多少  创建一个String类型的变量a,然后用“+”将a的值和其他文本连接,最后打印输出连接后的内容。

作业3-3-02:输出显示公司前台的基本信息  分别用变量表示公司前台的姓名和编号,然后打印输出前台的信息。

作业3-3-03:找出程序的错误  分别声明两个整数变量,然后计算这两个变量的和,最后打印计算结果。

3.3.2  比较常量和变量:老实人和海王

问:比较Java常量和变量,将常量比作老实人,将变量比作海王进行通俗易懂的对比。

ChatGPT好的,让我们将Java中的常量和变量比作两个不同的角色:常量是老实人,变量是海王。

1. 常量是老实人

  1. 不会变:老实人(常量)一旦决定了自己的身份(值),就会一直保持不变。无论发生什么,他都守信用。
  2. 可靠:老实人是值得信赖的,你可以相信他的身份不会轻易改变。如果他说他的值是10,那么就是10。
  3. 不轻易受外界影响:老实人的身份不容易被外部因素改变。他们在程序中是稳定的,不会随着程序的运行而变动。

2. 变量是海王

  1. 灵活:海王(变量)是自由自在的,他的身份可以根据需要改变。有时候他是1,有时候他是1000。
  2. 不固定:海王并不一直保持相同的身份,他可以在不同的场合表现出不同的值。他的值可能随着程序的执行而改变。
  3. 受外部因素影响:海王的身份可能受到外部因素的影响,比如程序运行过程中的操作可能改变他的值。

在Java程序中,我们可以选择使用常量或变量,具体取决于我们的需求。如果我们希望一个值一直保持不变,就像一个老实人一样,那么使用常量是个不错的选择。如果我们需要一个可以灵活改变的值,就像一个自由的海王,那么使用变量是更合适的。

我布置了作业,请大家留言解答。

  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农三叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值