7. 【Java】变量与数据类型

发布时间:2026/7/14 6:18:52
7. 【Java】变量与数据类型 摘要本文讲解了Java中变量与数据类型这一核心基础概念。系统介绍了八种基本数据类型byte、short、int、long、float、double、char、boolean和引用类型的区别与用法详细说明了变量的声明、初始化、作用域规则以及类型转换机制并提供了完整的代码示例帮助读者巩固理解。关键词Java变量, 数据类型, 基本类型, 引用类型, 类型转换在上一篇里你亲手写了一个小项目。虽然它很朴素只有几十行代码但你已经体验到了“程序在跟人打交道”的感觉你问用户问题用户回答然后你根据回答做出回应。但你有没有想过那些用户输入的名字“张三”、年龄“25”、城市“成都”……它们在程序里到底是怎么存放的如果你在程序里写int age 25;那个25在计算机的内存里是什么样子的今天我们就来解答这些问题。我们要聊的是 Java 世界里最基础、也最重要的概念变量和数据类型。1. 先打个比方变量就像“贴了标签的盒子”想象你有一个收纳箱你需要把不同种类的物品放进去。为了以后方便找到你会在箱子上贴个标签写上“文具”或“衣物”。如果你放进去的是铅笔你当然不会在箱子上贴“食物”。在程序里变量就是一个“贴了标签的盒子”盒子的名字就是变量名比如age、name。盒子里装的东西就是变量的值比如25、张三。盒子的大小和用途由数据类型决定——有些盒子只能装整数有些盒子只能装文字不能混装。Java 是一门强类型语言意思是每个变量在声明时就必须明确它的数据类型而且一旦确定它就只能存储该类型的数据。这听起来有点严格但正是这种严格保证了程序的安全和稳定——你不会不小心把一个字符串塞进一个整数变量里从而引发难以察觉的 bug。2. 数据类型大家族一八种基本数据类型Java 的数据类型分为两大类基本类型primitive type和引用类型reference type。我们先讲基本类型。它们是 Java 语言内置的、最基础的原子类型一共只有 8 种按用途可以分为四组分组类型字节数取值范围简要默认值整数byte1-128 ~ 1270整数short2-32768 ~ 327670整数int4约 ±21 亿0整数long8约 ±9.22×10¹⁸0L小数float4约 ±3.4×10³⁸0.0f小数double8约 ±1.8×10³⁰⁸0.0d字符char20 ~ 65535Unicode‘\u0000’布尔boolean1虚拟true或falsefalse别被这个表格吓到。你不需要死记硬背每个字节数只需要知道以下几点① 整数byte、short、int、long你平时写整数默认就是int类型。比如int age 25;。如果数字特别大超过 21 亿就要用long并在数字后面加L或l小写 L但容易跟 1 混淆建议大写。例如long worldPopulation 8000000000L;。byte和short一般用在节省内存的场景比如大数组初学阶段用得不多但你得知道它们存在。② 小数float 和 double你平时写小数默认是double因为它精度更高。比如double pi 3.14159;。如果非要使用float数字后面要加F或f例如float price 9.99f;。关于小数的精度问题比如 0.1 0.2 不等于 0.3我们以后在进阶篇会细说现在先记住涉及金钱计算不要用 float 或 double要用BigDecimal后面会学。③ 字符charchar用来表示单个字符用单引号括起来。例如char grade A;、char chinese 好;。Java 使用 Unicode 编码所以char可以表示中文字符也可以表示表情符号但表情符号需要两个char组合以后再说。另外char底层其实是一个无符号的 16 位整数所以它可以直接和int互相赋值比如int num A;会得到数字 65ASCII码。这个特性在以后处理字符时非常有用。④ 布尔boolean只有两个值true和false。用在条件判断中比如“是否成年”、“是否登录成功”。3. 数据类型大家族二引用类型 —— 对象的“遥控器”除了八种基本类型其他所有类型都是引用类型reference type。引用类型的变量不直接存储数据本身而是存储数据在内存中的“地址”。打个比方基本类型的盒子里直接装着数据本身比如数字 25而引用类型的盒子里装的是一张写着电视机位置的小纸条内存地址你拿着这张纸条就像遥控器就能找到那台真正的电视机真正的对象。最常见的引用类型包括类比如我们之前用的String、Scanner、以及我们自己定义的Student。接口interface数组array在代码里引用类型的变量声明和使用方式跟基本类型很像但它们的行为有本质区别。我们以后会深入讲现在你先记住用new关键字创建出来的东西几乎都是引用类型。4. 变量的声明、初始化与作用域① 声明Declaration声明变量就是告诉编译器“我要一个盒子名字叫 xxx类型是 xxx。”intage;// 声明了一个 int 类型的变量 ageStringname;// 声明了一个 String 类型的变量 name引用类型② 初始化Initialization初始化就是第一次给变量赋值。变量必须初始化之后才能使用否则编译会报错。初学者经常遇到这个报错如果你的 IDE 旁边出现红色波浪线并提示variable might not have been initialized变量可能尚未初始化就是因为这个原因。age25;// 赋值name张三;// 赋值也可以声明和初始化写在一起intage25;Stringname张三;③ 作用域Scope变量的“存活范围”由它所在的花括号{}决定。一个变量从声明的位置开始到它所在的代码块结束为止都是有效的。超出这个范围变量就“消失”了。publicclassDemo{// 成员变量在整个类里都有效我们以后细讲privateintclassVar;publicvoidtest(){intlocalVar10;// 局部变量只在 test 方法内有效if(localVar5){intinnerVar20;// 只在 if 代码块内有效System.out.println(innerVar);}// System.out.println(innerVar); // 错误innerVar 已经不存在了}} 初学者最常见的错误之一就是在作用域外使用变量。IDEA 会给你红色波浪线提示记得留意。5. 类型转换 —— 数据之间的“翻译官”有时候我们需要把一种类型的数据转换成另一种。Java 的类型转换分为两种① 自动类型转换隐式转换当小范围类型赋值给大范围类型时Java 会自动帮你转不需要额外操作。范围从小到大排序byte short int long float double。这里有个“反直觉”的地方虽然long占 8 字节float只占 4 字节但float表示的范围却更大所以long可以自动转float但有精度损失。为什么呢因为浮点数在底层是用科学计数法存储的虽然 float 只有 4 个字节但它能表示的数字范围远大于 8 字节的 long代价是会牺牲一些精度大数字的末几位会被舍去。intnum100;longbigNumnum;// 自动转换没问题doublepinum;// 自动转换100.0② 强制类型转换显式转换当大范围类型赋值给小范围类型时必须强制转换因为可能会丢失数据。语法是在值前面加上(目标类型)。doubleprice9.99;intintPrice(int)price;// 强制转换结果为 9小数部分被截断System.out.println(intPrice);// 输出 9强制转换要小心因为它可能溢出或丢失精度。比如把一个很大的long强制转成int结果可能会变成一个完全不同的负数因为高位被截断。③ 字符串与数字的转换这是我们上一篇实际用到过的。Scanner读进来的都是字符串我们需要把它们转成数字字符串 → 整数Integer.parseInt(123)字符串 → 小数Double.parseDouble(3.14)数字 → 字符串可以用String.valueOf(123)或者直接用 123字符串拼接。6. 用实际代码感受一下我们写一个简单的小程序把今天讲的概念串起来packagecom.example.demo;publicclassDataTypeDemo{publicstaticvoidmain(String[]args){// 1. 基本类型声明与初始化byteb100;shorts20000;inti1234567890;longl9876543210L;// 注意 Lfloatf3.14f;// 注意 fdoubled2.71828;charcA;booleanbooltrue;// 2. 输出看看System.out.println(byte: b);System.out.println(short: s);System.out.println(int: i);System.out.println(long: l);System.out.println(float: f);System.out.println(double: d);System.out.println(char: c);System.out.println(boolean: bool);// 3. 引用类型StringStringname小明;System.out.println(名字name);// 4. 类型转换演示intnum256;bytebyteNum(byte)num;// 强制转换256 超出 byte 范围结果会溢出// 输出 0二进制高位被截断256的二进制是 1 0000 0000byte只取后8位即 0000 0000System.out.println(256 强转成 byte 后byteNum);doublepi3.14159;intintPi(int)pi;// 强制转换截断小数System.out.println(3.14159 强转成 int 后intPi);// 输出 3// 5. 字符串转数字StringageStr25;intageInteger.parseInt(ageStr);System.out.println(年龄age);// 6. 数字转字符串intscore95;StringscoreStrString.valueOf(score);System.out.println(成绩字符串scoreStr);}}你可以运行一下观察输出结果特别留意256强制转成byte后变成了0——这就是“数据溢出”的例子。7. 变量命名的最佳实践最后再强调一下命名变量名要做到“见名知意”。不要用a、b、c而要用age、studentName、totalScore。使用驼峰命名法camelCase第一个单词小写后续单词首字母大写。比如myAge、isStudent。常量用final修饰全部大写下划线分隔final double PI 3.14159;。今天的总结今天我们打开了 Java 数据世界的大门。你知道了Java 有八种基本数据类型byte、short、int、long、float、double、char、boolean。其他类型都是引用类型比如String、Scanner和我们自定义的类。变量需要先声明再初始化才能使用并且有作用域限制。类型转换分自动和强制两种强制转换要小心数据丢失。字符串和数字之间可以互相转换。这些概念看似简单却是你以后写任何 Java 程序的基石。从今天开始每当你声明一个变量都可以想一想它的类型是什么它会在哪里被使用它的值可能是什么范围动手试试把上面的DataTypeDemo代码敲一遍运行并观察结果。然后尝试把byte byteNum (byte) num;中的num改成 300、500看看输出分别是什么想想为什么。声明一个float变量赋值为3.14不加f看看编译器会不会报错体会一下为什么。写一段代码声明一个int变量maxInt Integer.MAX_VALUE;然后打印它再加 1打印结果看看发生了什么这就是整数溢出的经典例子。下篇文章我们会聊常量和字面量——那些“不变”的值以及final关键字、枚举的初步认识。我们继续一步步往前走。我们下一篇见。 获取本系列示例代码请访问 GitCode。

相关新闻

别被坑!网站建设付款分期付款协议这么签才安全

别被坑!网站建设付款分期付款协议这么签才安全

找外包建站,尾款收不回?工期拖半年?这坑我踩过。今天教你一招。签对协议,钱才安全。很多老板怕麻烦。觉得口头约定就行。结果呢?对方拿钱跑路。或者做出来的东西像垃圾。你给也不是,不给也不是。这时候才想起要合同。晚了,真的晚了。我有个朋友老张。去年做个企业官网。…

发布时间:2026/7/14 6:17:45
在ASP.NET Core微服务中集成Workflow-Core:构建可扩展的业务流程引擎

在ASP.NET Core微服务中集成Workflow-Core:构建可扩展的业务流程引擎

1. 为什么选择Workflow-Core作为微服务业务流程引擎在ASP.NET Core微服务架构中引入业务流程引擎时,Workflow-Core凭借其轻量级和可嵌入特性成为理想选择。这个基于.NET Standard的库只有不到1MB的大小,却能处理复杂的长时间运行流程。我曾在电商订单系统…

发布时间:2026/7/14 6:16:55
邢台网站建设报价透明吗?老鸟揭秘3000元建站背后的坑与真相

邢台网站建设报价透明吗?老鸟揭秘3000元建站背后的坑与真相

上周二下午,我在邢台桥西区的一家小咖啡馆里,碰见个刚毕业的小伙子。他手里攥着个笔记本,眉头锁得死紧,跟我说他在网上找了个报价3000块的邢台网站建设套餐,结果对方发来的demo页面丑得像上世纪九十年代的网吧主页,而且连个移动端适配都没有。小伙子问我:“哥,这行是不…

发布时间:2026/7/14 6:16:26
响应式网站建设费用到底多少?2024年真实报价与避坑指南

响应式网站建设费用到底多少?2024年真实报价与避坑指南

响应式网站建设费用今天聊点实在的。别再问那种“做个网站多少钱”的问题了。这就像问“买辆车多少钱”一样,离谱。我在这行摸爬滚打八年,见过太多被坑的客户。有的预算三千,非要我要苹果级的体验。有的预算三十万,结果找外包公司做个模板站。真的,心累。先说个真相。响应…

发布时间:2026/7/14 11:45:48
对电子商务网站建设与管理的理解:别被忽悠了,这才是真话

对电子商务网站建设与管理的理解:别被忽悠了,这才是真话

说实话,以前我也觉得做个网站挺简单的,找个人套个模板,上传点产品,完事。直到我自己真金白银砸进去,才发现这水深得能淹死人。今天就想掏心窝子跟大家聊聊,我对电子商务网站建设与管理的理解,全是血泪教训换来的,不整那些虚头巴脑的理论。首先,别一上来就谈高大上的架…

发布时间:2026/7/14 11:45:28
淮安人必看!淮安市住房和城乡建设局网站首页怎么逛不迷路?

淮安人必看!淮安市住房和城乡建设局网站首页怎么逛不迷路?

本文关键词:淮安市住房和城乡建设局网站首页说实话,以前我总觉得政府网站那种冷冰冰的界面挺让人头大的。每次有点啥事,比如想查查自家小区的房产证进度,或者看看最近有没有新的购房补贴政策,我就得在百度里搜半天,出来的结果五花八门,有的还是中介广告,看得人眼晕。直…

发布时间:2026/7/14 11:45:25
避坑指南:云南文投建设投资有限公司网站查资质别踩雷

避坑指南:云南文投建设投资有限公司网站查资质别踩雷

搞工程、找合作,最怕啥?怕遇到“皮包公司”!前阵子我有个兄弟,想接个文旅配套的小活儿。对方说是国企背景,让他赶紧打定金。他信了,差点把老本都赔进去。后来我让他去查查底细,这一查,好家伙,水太深了。今天我就掏心窝子说说,怎么通过云南文投建设投资有限公司网站 来…

发布时间:2026/7/14 11:44:38
珠海网站建设网络公司怎么样靠谱吗?别被忽悠了

珠海网站建设网络公司怎么样靠谱吗?别被忽悠了

前两天有个朋友找我。说他想在珠海搞个网站。问我是找大公司还是小团队。这问题挺实在的。毕竟现在市面上公司太多了。有的吹得天花乱坠。有的报价低得吓人。我听了直摇头。其实珠海网站建设网络公司怎么样。真不是看广告做得多响。得看他们干过什么活。记得去年有个餐饮老板。…

发布时间:2026/7/14 11:42:08
网站建设开票内容是什么意思?老板们别再被糊涂账坑了,看完这招省大钱

网站建设开票内容是什么意思?老板们别再被糊涂账坑了,看完这招省大钱

上周跟几个做电商的朋友喝茶,大家吐槽最多的不是流量贵,而是财务那边的一堆烂账。特别是找外包公司做网站的时候,那张发票到底该怎么开,里面水有多深,真不是外行能一眼看穿的。很多人第一反应是:不就是开个发票吗?能有多难?错,大错特错。一旦搞不清楚“网站建设开票内…

发布时间:2026/7/14 11:41:40
别被忽悠了!襄阳网络公司 网站建设 避坑指南:500块和5000块的真相

别被忽悠了!襄阳网络公司 网站建设 避坑指南:500块和5000块的真相

很多老板在找襄阳网络公司 网站建设 的时候,第一句话总是问:“做官网多少钱?”这时候如果你直接报个价,十有八九要挨骂。要么觉得你贵,要么觉得你便宜没好货。我在襄阳这行混了快十年,见过太多因为贪便宜最后网站打不开、数据泄露、甚至被扣尾款的案例。今天我不讲虚的,…

发布时间:2026/7/14 0:00:06
揭秘2024最大网站建设公司排名,小白避坑指南

揭秘2024最大网站建设公司排名,小白避坑指南

别再看那些所谓的“全球十大”榜单了。全是花钱买的广告位。你信了,你就输了。很多老板找公司建站,最后钱花了,网站还打不开。这不仅仅是技术问题,更是信息不对称的陷阱。今天我不讲虚的,直接告诉你怎么挑。毕竟,在“最大网站建设公司排名”里,最大的往往不是最好的。而…

发布时间:2026/7/14 0:00:44
别被那些吹上天的教程骗了,phpstudy建设网站视频教程里没人告诉你的三个血泪坑

别被那些吹上天的教程骗了,phpstudy建设网站视频教程里没人告诉你的三个血泪坑

本文关键词:phpstudy建设网站视频教程说实话,现在网上搜“phpstudy建设网站视频教程”,出来的东西真是一言难尽。要么就是几年前的老版本录屏,要么就是那种为了骗点击量,标题起得惊天动地,内容全是废话的营销号。我自己在本地搭环境的时候,也踩过不少坑,今天就不整那些…

发布时间:2026/7/14 0:02:45
别装了,你的学院网站建设推进会就是场大型尴尬现场

别装了,你的学院网站建设推进会就是场大型尴尬现场

看着后台那点可怜的访问量,你急不急?方案改了八版,还是没人看。今天这文,只说怎么把会开成,把事做成。上周去隔壁职院蹭会,那场面,真叫一个窒息。会议室里坐满了人,领导在台上讲PPT,底下的人不是在玩手机,就是在发呆。投影仪闪了两下,灭了。没人去修,接着讲。这种会…

发布时间:2026/7/14 8:24:42
七彩建设集团官方网站怎么找?避坑指南与真实体验分享

七彩建设集团官方网站怎么找?避坑指南与真实体验分享

找官网找得头大?这篇直接告诉你怎么辨别真伪,别被假网站坑了钱。昨天半夜两点,我还在电脑前盯着屏幕,心里那个急啊。家里装修刚进场,工长突然说需要确认一份材料清单,说是七彩建设那边要求的。我手忙脚乱地打开浏览器,搜了一堆“七彩建设”,结果出来一堆广告,什么“七…

发布时间:2026/7/14 2:42:40
找可信赖的龙岗网站建设公司?别踩坑,看这几点就够

找可信赖的龙岗网站建设公司?别踩坑,看这几点就够

做企业,网站就是脸面。 在龙岗,想找个靠谱的网站公司,真不容易。 市面上广告满天飞。 承诺得天花乱坠。 最后交付的东西,却让人想砸电脑。 今天不聊虚的。 只聊怎么避坑。 怎么找到真正可信赖的龙岗网站建设团队。先说个大实话。 别信什么“三天上线”。 那是骗小白的。 正…

发布时间:2026/7/13 8:40:50
建站7年才悟出的网站建设思路,别再花冤枉钱了

建站7年才悟出的网站建设思路,别再花冤枉钱了

做建站这行整整7年了。 见过太多老板花几万块, 最后做出来的网站像个垃圾场。 今天不整那些虚头巴脑的术语。 就聊聊我踩过的坑, 和真正能落地的网站建设思路。很多老板一上来就问: “多少钱能做个高大上的?” 我通常直接劝退。 因为方向错了, 你给再多钱也是打水漂。 真正…

发布时间:2026/7/11 8:50:55
合肥的网站建设避坑指南:别被低价忽悠,这3个细节决定生死

合肥的网站建设避坑指南:别被低价忽悠,这3个细节决定生死

做企业官网最怕什么?不是技术难,是交钱后没人管,或者上线一个月连个访客都没有。这篇东西不扯虚的,直接告诉你怎么在合肥找个靠谱的团队,或者自己怎么避坑。先说个大实话,我在合肥混这行五年多,见过太多老板因为贪便宜吃大亏。你去百度搜“合肥的网站建设”,出来一堆报…

发布时间:2026/7/10 18:05:06
别被忽悠了!德州网站建设那些坑,我拿真金白银换来的教训

别被忽悠了!德州网站建设那些坑,我拿真金白银换来的教训

做这行久了,心里就憋着一股火。每次看到客户拿着网上抄来的模板,问我能不能做成“苹果官网”那种效果。我就想笑。真的,太想笑了。今天咱不整那些虚头巴脑的专业术语。就聊聊德州网站建设里,那些让人头秃的真实事儿。我有个客户,老张。他是做德州本地建材的,实在人。当初…

发布时间:2026/7/13 2:08:03