news 2026/5/12 18:14:33

2.Java入门必看!数据类型和变量核心知识点全梳理(附代码示例)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2.Java入门必看!数据类型和变量核心知识点全梳理(附代码示例)

目录

一、字面常量:程序里的“固定值”

字面常量的分类(结合代码示例)

二、数据类型:Java里的“数据身份证”

1. 基本数据类型(4大类8种)

2. 引用数据类型

什么是字节?

三、变量:会“变”的数据容器

1. 变量概念

2. 语法格式

3. 代码示例(定义+使用变量)

4. 注意事项(划重点!)

四、各类型变量详解(附注意事项)

1. 长整型变量(long)

2. 短整型变量(short)

3. 字节型变量(byte)

4. 浮点型变量(重点!)

(1)双精度浮点型(double)

(2)单精度浮点型(float)

5. 字符型变量(char)

6. 布尔型变量(boolean)

五、类型转换:小类型→大类型,大类型→小类型

1. 自动类型转换(隐式转换)

2. 强制类型转换(显式转换)

3. 类型提升(混合运算时)

(1)int和 long之间:int会被提升为 long

(2)byte和 byte的运算

六、字符串类型(String):不是基本类型!

1. 字符串拼接

2. 字符串与整型转换

(1)int转 String

(2)String转 int

总结:一张图理清数据类型和变量(背下来!!!)


作为刚入门Java的小白,最近在学习数据类型和变量这块,整理了这篇笔记,把图片里的重点都汇总了,希望能帮到同样在打基础的你~


一、字面常量:程序里的“固定值”

上节课的Hello World程序中,System.out.println("Hello World");输出的"Hello World"就是字面常量。常量就是程序运行期间固定不变的数据,比如:一周7天、一年12个月。

字面常量的分类(结合代码示例)

public class Demo { public static void main(String[] args){ System.out.println("hello world!"); // 字符串常量 System.out.println(100); // 整型常量 System.out.println(3.14); // 浮点数常量 System.out.println('A'); // 字符常量 System.out.println(true); // 布尔常量 System.out.println(false); // 布尔常量 } }
  1. 字符串常量:由""括起来,比如"12345""hello""你好"

  2. 整型常量:直接写的数字(无小数点),比如1001000

  3. 浮点数常量:直接写的小数,比如3.140.49

  4. 字符常量:单引号括起来的单个字符,比如'A''1'

  5. 布尔常量:只有truefalse

  6. 空常量null(后面讲)。

⚠️ 注意:字符串、整型、浮点型、字符型、布尔型,在Java中都称为数据类型


二、数据类型:Java里的“数据身份证”

Java中数据类型分为两类:基本数据类型引用数据类型

我这里给大家一个手写的思维导图(牢牢记在脑子中噢):

1. 基本数据类型(4大类8种)

⚠️ 注意:

  • 不论16位还是32位系统,int占4字节,long占8字节。

  • 整型和浮点型都是带符号的。

  • 整型默认是int,浮点型默认是double

  • 字符串属于引用类型(后面介绍)。

2. 引用数据类型

包括:String(字符串类型)、接口枚举抽象类……

什么是字节?

字节是计算机中表示空间大小的基本单位。

计算机使用二进制表示数据。我们认为 8 个二进制位(bit) 为一个字节(Byte)。

我们平时的计算机为 8GB 内存,意思是 8G 个字节。

其中 1KB = 1024 Byte,1MB = 1024 KB,1GB = 1024 MB。

所以 8GB 相当于 80 多亿个字节。


三、变量:会“变”的数据容器

1. 变量概念

程序中,除了固定常量外,经常改变的内容称为变量。比如:人的年龄、身高、成绩分数、数学函数的计算结果等。数据类型用来定义不同类型的变量。

2. 语法格式

数据类型 变量名 = 初始值;

3. 代码示例(定义+使用变量)

int a = 10; // 定义整型变量a,初始值10 double d = 3.14; // 定义浮点型变量d,初始值3.14 char c = 'A'; // 定义字符型变量c,初始值'A' boolean b = true;// 定义布尔型变量b,初始值true System.out.println(a); System.out.println(d); System.out.println(c); System.out.println(b); a = 100; // 变量a的值可以修改 System.out.println(a); // 一行定义多个同类型变量 int a1 = 10, a2 = 20, a3 = 30; System.out.println(a1); System.out.println(a2); System.out.println(a3);

4. 注意事项(划重点!)

  1. int不论何种系统都是4个字节。

  2. 推荐定义时赋初始值;若没合适初始值,可设为0

  3. 赋值不能超过变量类型范围,否则溢出

  4. 变量使用之前必须初始化,否则编译报错。

  5. int的包装类型为Integer

⚠️ 强提醒:在Java中,变量定义后,使用前必须已经初始化


四、各类型变量详解(附注意事项)

1. 长整型变量(long

int a = 10; long b = 10L; // 建议加L或l,否则默认是int long c = 100; // 也可以,但超过int范围会报错 long d = 101l; // 一般加L,小写l易和1混淆

⚠️ 注意事项:

  • 长整型初始值后加Ll,推荐加L

  • 长整型任何系统下都占8字节。

  • 范围:-2^63 ~ (2^63)-1

  • long的包装类型为Long

2. 短整型变量(short

public static void main(String[] args) { short a = 10; System.out.println(a); System.out.println(Short.MIN_VALUE); System.out.println(Short.MAX_VALUE); }

⚠️ 注意事项:

  • short任何系统下都占2字节。

  • 范围:-32768 ~ 32767

  • 使用时注意不要超过范围(一般很少用)。

  • 包装类型为Short

3. 字节型变量(byte

byte b = 10; System.out.println(b); System.out.println(Byte.MIN_VALUE); System.out.println(Byte.MAX_VALUE);

⚠️ 注意事项:

  • byte任何系统下都占1字节。

  • 范围:-128 ~ 127

  • 包装类型为Byte

💡 思考:byteshortintlong都能定义整型变量,为什么分4种?

(答案:为了节省内存,byte存小整数,long存大整数,按需选择)

4. 浮点型变量(重点!)

(1)双精度浮点型(double

double d = 3.14; System.out.println(d);

⚠️ 神奇代码一:

int a = 1; int b = 2; System.out.println(a / b); // 输出0(int相除取整)

⚠️ 神奇代码二:

double num = 1.1; System.out.println(num * num); // 输出1.2100000000000002(浮点数近似)

(2)单精度浮点型(float

float num = 1.8f; // 必须加f或F,否则默认是double System.out.println(num);

⚠️ 注意事项:

  • double任何系统下都占8字节。

  • 浮点数与整数存储方式不同,不能单纯用形式计算(如int/int是整数除法)。

  • double遵守IEEE 754标准,是近似值,不是精确值。

  • float占4字节,也遵守IEEE 754,工程中优先用doublefloat不推荐。

  • float的包装类型为Float

5. 字符型变量(char

char c1 = 'A'; // 大写字母 char c2 = '1'; // 数字字符 char c3 = '中'; // 汉字 System.out.println(c1); System.out.println(c2); System.out.println(c3); // 注意:char只能用单引号,且只能放单个字符 char c4 = 'ab'; // 报错!

⚠️ 注意事项:

  • Java中用单引号 + 单个字符表示字符面值。

  • 计算机中字符本质是二进制,Java用Unicode表示(种类更多,包括中文)。

  • char的包装类型为Character

6. 布尔型变量(boolean

boolean b = true; System.out.println(b); b = false; System.out.println(b);

⚠️ 注意事项:

  • 只有truefalse两个值。

  • Java的booleanint不能相互转换(不存在1=true0=false的用法)。

  • JVM没有明确规定boolean占几个字节,通常用1字节(Oracle规范)。

  • 包装类型为Boolean


五、类型转换:小类型→大类型,大类型→小类型

Java是强类型语言,不同类型变量赋值时,会有严格的校验。

1. 自动类型转换(隐式转换)

特点:数据范围小的会自动转换为范围大的,编译时自动处理。

System.out.println((int)3.14); // 强制转为int,结果是3 System.out.println(3.14); // 默认是double int a = 10; long b = 100L; b = a; // int→long,自动转换 byte b1 = 10; byte b2 = 20; byte b3 = (byte)(b1 + b2); // 正确写法:先提升为int,再强转

⚠️ 结论:bytebyte运算,会被提升为int再计算(因为CPU按4字节处理,byte/short先升为int)。

2. 强制类型转换(显式转换)

特点:数据范围大的转范围小的,需要手动加(类型),可能精度丢失

int a = 1024; byte b = (byte)a; // 强转,可能溢出(1024超出byte范围) int a = 10; long b = 100L; a = (int)b; // long→int,强转 float f = 3.14f; double d = 5.12; d = f; // float→double,自动转换(小→大) f = (float)d; // double→float,强制转换(大→小) byte b1 = 10; // 10默认是int,但没超过byte范围,自动转换 byte b2 = (byte)257; // 257是int,强转后溢出(257-256=1)

⚠️ 注意事项:

  1. 小范围类型赋值给大范围,自动转换。

  2. 大范围转小范围,必须强转,可能精度丢失。

  3. 字面量赋值时,Java会自动检查范围。

  4. 强转不一定成功,不相关的类型(如intboolean)不能互转。

3. 类型提升(混合运算时)

不同类型数据混合运算时,范围小的会提升到范围大的

(1)intlong之间:int会被提升为long

int a = 10; long b = 20; int c = a + b; // 报错!a+b的结果是long,不能赋给int long d = a + b; // 正确,a提升为long,结果是long

(2)bytebyte的运算

byte a = 10; byte b = 20; byte c = a + b; // 报错!a和b先提升为int,结果是int,不能赋给byte byte c = (byte)(a + b); // 正确,强转

⚠️ 结论:bytebyte运算,先提升为int再计算,所以结果是int,需强转回byte


六、字符串类型(String):不是基本类型!

Java中用String类定义字符串,属于引用类型

1. 字符串拼接

public static void main(String[] args) { String s1 = "hello"; String s2 = "world"; System.out.println(s1); System.out.println(s2); System.out.println(s1 + s2); // 拼接成"helloworld" }

2. 字符串与整型转换

(1)intString

int num = 10; String str1 = num + ""; // 方法1:拼接空字符串 String str2 = String.valueOf(num); // 方法2:用valueOf

(2)Stringint

String str = "100"; int num = Integer.parseInt(str);

⚠️ 注意:

  • String不是基本类型,是引用类型String类)。

  • 整数变字符串:num + ""String.valueOf(num)

  • 字符串转整数:Integer.parseInt(str)

  • 示例:int a = 10; String s = a+""; System.out.println(s);会输出"10"

(1):

(2):


总结:一张图理清数据类型和变量(背下来!!!)

  • 数据类型:基本(4类8种)+ 引用(String、类、接口、枚举、抽象类……)

  • 八种包装类除了int和char有特殊,其他都是首字母大写

  • 变量:定义(数据类型 变量名 = 初始值;)、初始化(必须!)、类型转换(自动/强制)、字符串操作


💡 学习小技巧:多敲代码,尤其是类型转换和变量初始化的例子,编译报错时看提示,很快就能掌握!

希望这篇笔记能帮你理清Java数据类型和变量的核心知识点~如果有疑问,欢迎留言讨论~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 18:14:32

3.Java运算符大揭秘:从算术到逻辑,一篇搞懂所有重点!

目录 一、什么是运算符? 二、算术运算符 1. 基本四则运算: - * / % 2. 增量运算符: - * % 3. 自增/自减: -- 三、关系运算符:判断“大小/相等” 四、逻辑运算符:判断“真假组合” 1. 逻辑与 &&…

作者头像 李华
网站建设 2026/5/12 18:14:29

VS Code语音唤醒扩展Wake Word:本地化关键词检测提升开发效率

1. 项目概述:用声音唤醒你的代码编辑器 作为一名在开发一线摸爬滚打了十多年的程序员,我对手速和快捷键的依赖几乎到了“人键合一”的地步。但最近,我的工作流里加入了一个新伙伴——声音。不是那种对着电脑自言自语,而是真正用语…

作者头像 李华
网站建设 2026/5/12 18:12:09

通过 Taotoken CLI 工具一键配置多开发环境下的模型终端

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过 Taotoken CLI 工具一键配置多开发环境下的模型终端 在开发过程中,我们经常需要在不同的工具和项目里接入大模型服…

作者头像 李华
网站建设 2026/5/12 18:07:25

从苹果产品开发看硬件工程:超长周期、并行开发与供应链管理

1. 从一则“口误”看苹果的产品开发哲学与供应链管理2013年4月,一则来自《旧金山审查员报》的报道在科技圈激起了不小的涟漪。报道称,苹果公司的政府联络官迈克尔福克斯在与旧金山地区检察官乔治加斯康讨论智能手机“远程销毁开关”以遏制盗窃问题时&…

作者头像 李华
网站建设 2026/5/12 18:07:24

从CD到5G:Reed-Solomon码如何默默守护你的数字生活

从CD到5G:Reed-Solomon码如何默默守护你的数字生活 当你用一张划伤的CD听完一整首《加州旅馆》而没有跳音,或者在超市扫描一个缺角的二维码成功付款时,背后都藏着一项诞生于1960年代的数学魔法——Reed-Solomon码(简称RS码&#x…

作者头像 李华