Java基础——变量与常量

简介: Java基础中变量与常量的用法

Java中使用变量来存储值。常量就是值不发生改变的量。

声明变量

在Java中,每一个变量都有一个类型。在声明变量时,先指定变量的类型,在指定变量名。

int value;
double salary;
long len;
boolean st;

在Java9中,单下划线_不能作为变量名。

另外可以在一行中声明多个变量,

int i, j;

变量初始化

声明一个变量后,必须使用赋值语句对变量进行初始化,千万不要使用未初始化的变量。

要想对一个已经声明过的变量进行赋值,需要将变量名放在等号左侧,在把一个合适的值放到等号的右侧。

int val;
val = 666;

也可以将变量的声明和初始化放在同一行中。

int i = 1;

在Java中可以将声明放在代码中的任何地方。当然一种良好的风格是变量的声明尽可能地靠近变量第一次使用过的地方。

从Java10开始,如果可以从变量的初始值推断出它的类型,就不再需要声明类型。只需要使用关键字var而无需指定类型

var i = 1;
var str = "hello world";

常量

在Java中,利用关键字final指示常量。

final double PI = 3.14;

关键字final表示这个变量只能被赋值一次。一旦被赋值之后,就不能在进行更改。

习惯上,变量名使用全大写。

在Java中经常希望一个常量可以在一个类的多个方法中使用,通常将这些常量称为类常量。使用关键字static final修饰。

static final N = 1000010;

因为类常量定义在main方法的外部,所以同一个类中的其他方法也可以来使用这个常量

进一步,如果这个常量被声明称public,那么其他类中的方法也可以使用这个常量。

枚举类型

有时候,变量的取值只在一个有限的集合内。

例如,服装的大小只有S、M、L、X这四种。这种情况就很可以在变量中保存一个错误的值。

这时可以自定义枚举类型,枚举类型包括有限个命名的值。

enum Size {S, M, L, X};
Size s = Size.M;

这样Size类型的变量只能存储这个类型声明中给的枚举值,或者nullnull表示这个变量还没有进行赋值。

目录
相关文章
|
29天前
|
存储 缓存 安全
除了变量,final还能修饰哪些Java元素
在Java中,final关键字不仅可以修饰变量,还可以用于修饰类、方法和参数。修饰类时,该类不能被继承;修饰方法时,方法不能被重写;修饰参数时,参数在方法体内不能被修改。
25 2
|
2月前
|
Java 编译器
java“变量 x 可能未被初始化”解决
在Java中,如果编译器检测到变量可能在使用前未被初始化,会报“变量 x 可能未被初始化”的错误。解决方法包括:1. 在声明变量时直接初始化;2. 确保所有可能的执行路径都能对变量进行初始化。
262 2
|
3月前
|
存储 Java
java基础(7)变量以及变量的分类
Java变量是内存中存储数据的基本单元,包含数据类型、名称和字面值。变量的数据类型决定了分配的内存空间大小。变量声明格式为“数据类型 变量名;”,变量名应符合标识符命名规范。变量可以重新赋值,但数据类型需一致。变量可以一行声明多个,作用域决定了变量的可用范围。变量分为局部变量和成员变量,局部变量定义在方法体内,成员变量定义在方法体外、类体内。
49 2
|
24天前
|
Java
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
48 24
|
1月前
|
Java 编译器
Java重复定义变量详解
这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
Java重复定义变量详解
|
1月前
|
Java 程序员 容器
Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
在Java中,变量是一个可以随时改变的数据容器,类似于一个可以反复打开的小盒子。定义变量时需指定数据类型和名称。例如:`int age = 25;` 表示定义一个整数类型的变量 `age`,初始值为25。 常量则是不可改变的数据容器,类似于一个锁死的铁盒子,定义时使用 `final` 关键字。例如:`final int MAX_SPEED = 120;` 表示定义一个名为 `MAX_SPEED` 的常量,值为120,且不能修改。 变量和常量的主要区别在于变量的数据可以随时修改,而常量的数据一旦确定就不能改变。常量主要用于防止意外修改、提高代码可读性和便于维护。
|
2月前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
2月前
|
安全 Java
java BigDecimal 的赋值一个常量
在 Java 中,`BigDecimal` 是一个用于精确计算的类,特别适合处理需要高精度和小数点运算的场景。如果你需要给 `BigDecimal` 赋值一个常量,可以使用其静态方法 `valueOf` 或者直接通过字符串构造函数。 以下是几种常见的方法来给 `BigDecimal` 赋值一个常量: ### 使用 `BigDecimal.valueOf` 这是推荐的方式,因为它可以避免潜在的精度问题。 ```java import java.math.BigDecimal; public class BigDecimalExample { public static void
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
88 4
|
2月前
|
Java
java中父类方法return this.对象还是变量,子类去调用this.这个方法的问题
本文探讨了在Java中,当父类的方法返回`this`对象或变量时,子类调用该方法的行为,以及`this`关键字在不同类中调用方法时的指向问题。
17 0
java中父类方法return this.对象还是变量,子类去调用this.这个方法的问题
下一篇
DataWorks