当前位置: 首页 > news >正文

Java变量:从“盒子”比喻到代码实战

各位小伙伴们好,周末也要努力哦。

如果你学过数学,应该对“变量”这个词不陌生。但在编程世界里,变量的含义不太一样。你可以把它想象成一个“带标签的储物盒”:盒子里可以放东西(数据),标签上写着盒子叫什么名字(变量名),盒子本身还有材质和大小限制(数据类型)。今天就来聊聊Java里这个“储物盒”到底怎么用。

变量

概念

变量相当于内存中的一个数据存储空间的表示,你可以把变量看作是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)

变量是程序的基本组成单位,总共有三个基本要素:类型 + 名称 + 值

class Test { public static void main(String[] args) { //声明变量 int a = 1; //定义了一个变量,类型为 int 类型,名称为 a,值为1 int b = 3; //定义了一个变量,类型为 int 类型,名称为 b,值为3 b = 89; //把 89 值赋给 b 变量 System.out.println("a = " + a); //输出 a 变量的值 1 System.out.println("b = " + b); //输出 b 变量的值 89 } }

变量使用的基本步骤

1. 声明变量 int a;

2. 赋值 a = 60;

3. 使用 System.out.println(a); 打印 a 的值

也可以一步完成步骤 1 和 2:int a = 60;通常我们都是一步完成 ,上述代码可做参考

了解数据类型

学习变量,就需要先了解Java数据类型

这里我们先学习基本数据类型,引用数据类型等到后续再一一学习

[ ] 里面的数字指的是所占用的字节(byte),如字节型 byte 占用1个字节, 整型 int 占用4个字节

数据类型关键字占用字节默认值取值范围
字节型byte10-128 ~ 127
短整型short20-32768 ~ 32767
整型int40-2^15 ~ 2^15-1
长整型long80L-2^63 ~ 2^63-1
单精度浮点型float40.0f约 ±3.4E38
双精度浮点型double80.0d约 ±1.8E308
字符型char2'\u0000'0 ~ 65535
布尔型boolean不固定(通常1)falsetrue / false

注意:boolean 的大小没有明确定义,通常JVM实现中用一个字节表示

//定义变量 byte day = 5; //字节型 1bit short week = 7; //短整型 2bit long year = 365L; //整型 4bit int age = 20; //长整型 8bit float length = 32.6f; //单精度浮点型 4bit double score = 89.5; //双精度浮点型 8bit char gender = '男'; //字符型 2bit String name = "tom"; //字符串型 boolean bool = true; //布尔型

数据类型的解读

1. byte, short, long, int 定义范围都是整数,但是各有各的取值范围,结合所定义的值的大小选择数据类型。通常情况Java的整型常量(具体值)默认为 int 类型,如果有 int 不足以表示的大数,才使用 long,声明 long 型常量须后加 'l' 或 'L'(当然如果赋的值在 int 范围内,不声明也是可以的)

int n1 = 1; long n2 = 1; long n3 = 2147483648l; long n4 = 2147483648L;

2. float, double 定义范围是小数,其中 double 精确度更高,如果要求精确度很高的话,使用 double 最为保险。通常情况Java的浮点常量(具体值)默认为 double 类型,声明 float 型常量,须后加 'f' 或 'F'

float num1 = 1.1; //错误 float num2 = 1.1f; //可以 double num3 = 1.1;

浮点型常量有两种表现形式:

(1). 十进制数形式:如 5.12 512.0f .512(必须有小数点)

(2). 科学计数法形式:如 5.12e2(5.12 * 10^2) 5.12E-2(5.12 * 10^-2)

//十进制数形式 double num4 = .123; //等价0.123 //科学计数法形式 double num5 = 5.12e2; //512.0 double num6 = 5.12E-2; //0.0512

浮点数的使用陷阱:2.7 和 8.1 / 3 比较

如果只是但从数学角度讲,二者是相等的,但是对计算机来说,后者只是一个无限接近于但不等于2.7的一个小数

Math.abs(num2 - num2);指的是整数绝对值,即 num1 和 num2 的差的绝对值

3. char 定义范围是一个字符,字符可以是一个字母(如 'a'、'b' 等),也可以是一个汉字(如 '男'、'女' 等),用单引号括起。Java中还允许转义字符 '\' 来将其后的字符转变为特殊字符型常量,如:char c = '\n'; 其中 '\n' 表示换行符。在Java中,char 的本质是一个整数,输出时,时 Unicode 码对应的字符,如:char c = 97; 则对应输出的就是 'a'

4. String 定义范围是一个或多个字符,既可以是字母,也可以是汉字,用双引号括起

5. boolean 是用来判断对错的,定义范围只有 true(对)和 false(错)

boolean pass = true; if(pass) { System.out.println("通过考试"); } else { System.out.println("未通过考试"); } //输出:通过考试
int num1 = 20; int num2 = 25; System.out.println(num1 == num2); //false System.out.println(num1 != num2); //true

变量使用的注意事项

1. 变量表示内存中的一个存储区域,不同的变量,类型不同,占用的空间大小不同,比如:int 4个字节,double 8个字节
2. 该区域有自己的名称[变量名]和类型[数据类型]

int n = 100; //n 为变量名,int 为数据类型

3. 变量必须先声明,后使用,即有顺序
4. 该区域的数据可以在同一类型范围内不断变化
5. 变量在同一个作用域内不能重名



程序中 + 的使用

1. 当左右两边都是数值型时,则做加法运算

System.out.println(100 + 98); //198

2. 当左右两边有一方为字符串时,则做拼接运算(即将两个数据拼接在一起,不进行计算)

System.out.println("100" + 98); //10098 System.out.println(100 + 3 + "hello"); //103hello System.out.println("hello" + 100 + 3); //hello1003

3. 运算顺序是从左到右

小结

变量是Java程序中最基本的存储单元,它的作用是:在内存中开辟一块空间,用一个有意义的名字来存放可变化的数据,方便后续的读取、修改和传递。没有变量,程序就像没有仓库的工厂——原料无处放,产品无处存,根本无法运转。

以上就是白弟对变量内容的分享啦,下期我们来详细聊聊基本数据类型之间的转换!

http://www.zskr.cn/news/1440139.html

相关文章:

  • 1 ROS和ROS2是什么?--读后感
  • 2026 年郸城知名装修公司口碑榜,本地业主实测靠谱推荐! - 博客万
  • 视频硬字幕提取难题终结者:87种语言本地OCR全攻略
  • 如何3秒将网页LaTeX公式完美复制到Word文档?LaTeX2Word-Equation给你答案
  • 微信立减金回收 教你把过期前的闲置红包变现金 - 团团收购物卡回收
  • thinkphp5.2反序列化
  • 《GNZ48十周年:在舞台与回忆中继续书写属于青春的故事》 - 博客万
  • AI教父Hinton声称AI已具意识,为何却被说成不如教皇懂AI?
  • Unity TextMeshPro 3.2.x Pre-Release版本导入避坑指南:如何正确获取并配置Emoji Sprite Asset
  • SVN 分支管理详解
  • 3个关键突破:用Blender 3MF插件重塑你的3D打印工作流
  • Claude 深度技术解析:从宪法 AI 到百万级上下文的架构革命
  • ncmdumpGUI:Windows平台NCM音频格式转换的完整集成实战应用
  • AI 圈四大术语通俗讲透:CLI、GUI、MCP、Skills,看完秒懂 2026 年终端革命
  • 【Gemini推送转化率翻倍计划】:基于17个高DAU应用的A/B测试数据,教你用3个配置参数+1个Hook拦截点重构通知生命周期
  • 2026年合肥餐饮工装/烘焙店装修/茶饮店设计/美妆店整装/奢侈品门店装修推荐——三大品牌实力榜单 - 资讯快报
  • 宇视VM实况组显示功能配置指导
  • 【信息科学与工程学】【安全领域】 第八十八篇 网络空间安全18
  • RK3568开发板Maskrom模式进入全攻略:不止UPDATE键,还有音量-和复位键怎么用?
  • 树莓派与OpenCV:构建家庭AIoT智能系统的核心技术与实践
  • 2026长春二手机哪家好?手机店哪家最靠谱?实测体验TOP3 - 博客万
  • 2026年哈尔滨系统门窗推荐榜:家装/别墅/大玻璃/德式/防渗漏/高性能/隔热/隔音/静音/抗风压系统窗源头厂家与封阳台品牌深度解析 - 品牌企业推荐师(官方)
  • Godot PCK文件解包:3分钟提取游戏资源的完整指南
  • 别再手动导入了!用SimMechanics Link实现SolidWorks模型到Simulink的自动化仿真流程
  • 终极艾尔登法环帧率解锁与游戏增强完整指南
  • 华为防火墙双机热备HRP:负载分担模式下,配置命令到底谁说了算?
  • 避坑指南:Prepar3D多屏合成失败?检查这5个NVIDIA Surround和P3D的隐藏设置
  • 2026音频转文字怎么做?最佳方法加工具推荐保姆级教程
  • LaTeX2Word-Equation:3分钟掌握学术写作的公式转换终极方案
  • 二、信号与槽