深入理解 Java 变量类型、声明及应用

本文涉及的产品
应用实时监控服务-用户体验监控,每月100OCU免费额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 变量是用于存储数据值的容器。在 Java 中,有不同类型的变量,例如:String - 存储文本,例如 "你好"。字符串值用双引号引起来。int - 存储整数(全数字),没有小数,例如 123 或 -123。float - 存储浮点数,带有小数,例如 19.99 或 -19.99。char - 存储单个字符,例如 'a' 或 'B'。字符值用单引号引起来。boolean - 存储具有两种状态的值:true 或 false。

Java 变量

变量是用于存储数据值的容器。在 Java 中,有不同类型的变量,例如:

  • String - 存储文本,例如 "你好"。字符串值用双引号引起来。
  • int - 存储整数(全数字),没有小数,例如 123-123
  • float - 存储浮点数,带有小数,例如 19.99-19.99
  • char - 存储单个字符,例如 'a''B'。字符值用单引号引起来。
  • boolean - 存储具有两种状态的值:truefalse

声明(创建)变量

要创建变量,您必须指定其类型并为其分配一个值:

语法:

type variableName = value;

其中:

  • type 是 Java 的一种类型(例如 intString)。
  • variableName 是变量的名称(例如 xname)。
  • 等号用于将值分配给变量。

以下示例演示如何创建一个用于存储文本的变量:

示例:

String name = "John";
System.out.println(name);

以下示例演示如何创建一个用于存储数字的变量:

示例:

int myNum = 15;
System.out.println(myNum);

您也可以在不分配值的情况下声明变量,然后稍后再分配值:

示例:

int myNum;
myNum = 15;
System.out.println(myNum);

请注意,如果将新值分配给现有变量,它将覆盖以前的值:

示例:

int myNum = 15;
myNum = 20; // myNum 现在是 20
System.out.println(myNum);

final 变量

如果您不想让其他人(或自己)覆盖现有值,请使用 final 关键字(这将声明变量为 "final" 或 "常量",这意味着不可更改和只读):

示例:

final int myNum = 15;
myNum = 20; // 会产生错误:无法为 final 变量赋值

其他类型

下面演示如何声明其他类型的变量:

示例:

int myNum = 5;
float myFloatNum = 5.99f;
char myLetter = 'D';
boolean myBool = true;
String myText = "你好";

打印变量

println() 方法经常用于显示变量。

要将文本和变量结合起来,可以使用 + 运算符:

示例:

String name = "John";
System.out.println("你好 " + name);

您也可以使用 + 运算符将一个变量添加到另一个变量:

示例:

String firstName = "John ";
String lastName = "Doe";
String fullName = firstName + lastName;
System.out.println(fullName);

对于数值,+ 运算符作为数学运算符 (请注意这里使用的是 int (整数) 变量):

示例:

int x = 5;
int y = 6;
System.out.println(x + y); // 打印 x + y 的值
  • x 存储值为 5
  • y 存储值为 6
  • 然后我们使用 println() 方法来显示 x + y 的值,即 11

声明多个变量

在 Java 中,要声明多个相同类型的变量,您可以使用逗号分隔的列表:

示例:

通常写法:

int x = 5;
int y = 6;
int z = 50;
System.out.println(x + y + z);

简写方式:

int x = 5, y = 6, z = 50;
System.out.println(x + y + z);

这样可以更简洁地声明多个变量。

为多个变量赋值

您也可以在一行代码中为多个变量分配相同的值:

示例:

int x, y, z;
x = y = z = 50;
System.out.println(x + y + z);

这会同时设置 xyz 的值为 50

标识符

所有 Java 变量都必须用独特的名称来标识。这些独特的名称称为标识符。

标识符可以是短名称(如 xy),也可以是更具描述性的名称(如 agesumtotalVolume)。

示例:

// 优秀
int minutesPerHour = 60;

// 可以,但不太容易理解 m 实际代表什么
int m = 60;

命名变量的一般规则:

  • 名称可以包含字母、数字、下划线和美元符号
  • 名称必须以字母开头
  • 名称应以小写字母开头,并且不能包含空格
  • 名称也可以以 $_ 开头
  • 名称区分大小写 ("myVar" 和 "myvar" 是不同的变量)
  • 保留字 (例如 Java 关键字,如 intboolean) 不能用作名称

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

相关文章
|
2月前
|
存储 缓存 安全
除了变量,final还能修饰哪些Java元素
在Java中,final关键字不仅可以修饰变量,还可以用于修饰类、方法和参数。修饰类时,该类不能被继承;修饰方法时,方法不能被重写;修饰参数时,参数在方法体内不能被修改。
33 2
|
2月前
|
人工智能 安全 Java
Java和Python在企业中的应用情况
Java和Python在企业中的应用情况
62 7
|
13天前
|
安全 算法 Java
Java CAS原理和应用场景大揭秘:你掌握了吗?
CAS(Compare and Swap)是一种乐观锁机制,通过硬件指令实现原子操作,确保多线程环境下对共享变量的安全访问。它避免了传统互斥锁的性能开销和线程阻塞问题。CAS操作包含三个步骤:获取期望值、比较当前值与期望值是否相等、若相等则更新为新值。CAS广泛应用于高并发场景,如数据库事务、分布式锁、无锁数据结构等,但需注意ABA问题。Java中常用`java.util.concurrent.atomic`包下的类支持CAS操作。
44 2
|
2月前
|
缓存 Java 开发者
Java多线程并发编程:同步机制与实践应用
本文深入探讨Java多线程中的同步机制,分析了多线程并发带来的数据不一致等问题,详细介绍了`synchronized`关键字、`ReentrantLock`显式锁及`ReentrantReadWriteLock`读写锁的应用,结合代码示例展示了如何有效解决竞态条件,提升程序性能与稳定性。
163 6
|
1月前
|
监控 Java 数据库连接
Java线程管理:守护线程与用户线程的区分与应用
在Java多线程编程中,线程可以分为守护线程(Daemon Thread)和用户线程(User Thread)。这两种线程在行为和用途上有着明显的区别,了解它们的差异对于编写高效、稳定的并发程序至关重要。
37 2
|
2月前
|
关系型数据库 MySQL Java
MySQL索引优化与Java应用实践
【11月更文挑战第25天】在大数据量和高并发的业务场景下,MySQL数据库的索引优化是提升查询性能的关键。本文将深入探讨MySQL索引的多种类型、优化策略及其在Java应用中的实践,通过历史背景、业务场景、底层原理的介绍,并结合Java示例代码,帮助Java架构师更好地理解并应用这些技术。
57 2
|
2月前
|
存储 安全 Java
Java多线程编程中的并发容器:深入解析与实战应用####
在本文中,我们将探讨Java多线程编程中的一个核心话题——并发容器。不同于传统单一线程环境下的数据结构,并发容器专为多线程场景设计,确保数据访问的线程安全性和高效性。我们将从基础概念出发,逐步深入到`java.util.concurrent`包下的核心并发容器实现,如`ConcurrentHashMap`、`CopyOnWriteArrayList`以及`BlockingQueue`等,通过实例代码演示其使用方法,并分析它们背后的设计原理与适用场景。无论你是Java并发编程的初学者还是希望深化理解的开发者,本文都将为你提供有价值的见解与实践指导。 --- ####
|
2月前
|
Java 测试技术 API
Java 反射机制:深入解析与应用实践
《Java反射机制:深入解析与应用实践》全面解析Java反射API,探讨其内部运作原理、应用场景及最佳实践,帮助开发者掌握利用反射增强程序灵活性与可扩展性的技巧。
124 4
|
Oracle Java 关系型数据库
我的Java开发学习之旅------>解惑Java进行三目运算时的自动类型转换
今天看到两个面试题,居然都做错了。通过这两个面试题,也加深对三目运算是的自动类型转换的理解。 题目1.以下代码输出结果是()。 public class Test { public static void main(String[] args) { int a=5; System.
1035 0