第2篇数据与数据类型——存储信息的小盒子**作者**中文编程倡导者—— 李金雨联系方式wbtm2718qq.com目标掌握Java的四种基本数据类型学会存储各种信息预计时间3课时135分钟难度⭐⭐☆☆☆有点挑战一、开篇引入1.1 本课目标学完本篇你将能够✅ 理解什么是数据用盒子比喻✅ 掌握整数、小数、文字、真假四种数据类型✅ 学会给数据取名并赋值✅ 学会创建固定不变的固定数据final✅ 学会数据类型之间的转换1.2 生活场景引入数据就像贴了标签的收纳盒想象你的书桌上整数盒子放3支笔、2块橡皮、5本书小数盒子放1.75米的身高、60.5公斤的体重文字盒子放张三这个名字、男这个性别真假盒子放是或否、“真或假”编程中我们用不同类型的数据来存储不同种类的信息1.3 预期成果展示运行今天的程序后你会看到 个人信息 姓名张三 年龄15岁 身高1.75米 体重60.5公斤 是否会员是 圆周率3.14159二、概念讲解2.1 什么是数据数据就是存储在计算机中的信息。在Java中每个数据都有三个要素数据类型 数据名 数值; ↓ ↓ ↓ int 年龄 15;就像贴标签的收纳盒数据类型 盒子的大小和形状能放什么数据名 盒子上的标签叫什么名字数值 盒子里放的东西具体内容2.2 四种基本数据类型 整数数据int、long—— 用于计数类型能存的范围用途int-21亿 ~ 21亿年龄、人数、分数long超大范围人口数、距离int年龄15;int班级人数50;long世界人口8000000000L;// long类型后面要加大写L 小数数据float、double—— 用于测量类型精度用途double15-16位小数身高、体重、成绩float7位小数精度要求不高时double身高1.75;float体重60.5f;// float类型后面要加小写fdouble圆周率3.141592653589793; 文字数据String、char—— 用于表达类型说明示例String一串文字用双引号你好、张三char单个文字用单引号男、AString姓名张三;String学校第一中学;char性别男;char等级A;注意区分String用双引号 char用单引号 真假数据boolean—— 用于判断只有两个值true真/是false假/否boolean是否会员true;boolean是否及格false;boolean是否成年true;2.3 数据的命名规则给数据取名要遵循以下规则✅ 必须遵守以中文、英文字母、下划线_或美元符号$开头后面可以是中文、字母、数字、下划线不能使用Java关键字如class、int、if等✅ 命名习惯本教程要求数据名要用中文名词含义清晰一看就懂// ✅ 好名字 - 一看就知道是什么int年龄15;String姓名张三;double考试成绩95.5;// ❌ 不好的名字 - 看不懂inta15;Stringb张三;doublec95.5;2.4 固定数据final关键字固定数据就是一但赋值就不能修改的数据。finaldouble圆周率3.14159;finalint最大分数100;finalString学校名称第一中学;为什么需要固定数据防止不小心修改了重要的数据让程序更安全、更清晰修改时只需要改一处2.5 类型转换有时候需要把一种类型转换成另一种类型自动转换隐式转换小盒子 → 大盒子int年龄15;double年龄小数年龄;// 自动转成15.0强制转换显式转换大盒子 → 小盒子可能有丢失double身高1.75;int身高整数(int)身高;// 结果是1小数部分被截断了字符串转数字String数字文字123;int真实数字Integer.parseInt(数字文字);// 变成真正的数字123String小数文字3.14;double真实小数Double.parseDouble(小数文字);// 变成真正的3.14三、动手实践3.1 基础练习必做练习1创建个人档案publicclassMain{publicstaticvoidmain(String[]args){// 整数数据int年龄15;int班级人数50;// 小数数据double身高1.75;float体重60.5f;finaldouble圆周率3.14159;// 文字数据String姓名张三;char性别男;// 真假数据boolean是否会员true;boolean是否及格false;// 显示个人信息System.out.println( 个人信息 );System.out.println(姓名姓名);System.out.println(年龄年龄岁);System.out.println(身高身高米);System.out.println(体重体重公斤);System.out.println(是否会员(是否会员?是:否));System.out.println(圆周率圆周率);}}运行结果 个人信息 姓名张三 年龄15岁 身高1.75米 体重60.5公斤 是否会员是 圆周率3.141593.2 进阶练习选做练习2计算BMI指数BMI 体重(kg) ÷ 身高(m)的平方publicclassMain{publicstaticvoidmain(String[]args){String姓名张三;double体重60.5;// 公斤double身高1.75;// 米doublebmi体重/(身高*身高);System.out.println(姓名姓名);System.out.println(体重体重公斤);System.out.println(身高身高米);System.out.println(BMI指数String.format(%.2f,bmi));}}练习3温度转换器摄氏转华氏publicclassMain{publicstaticvoidmain(String[]args){double摄氏温度25.0;double华氏温度摄氏温度*9.0/5.032.0;System.out.println(摄氏温度摄氏温度°C);System.out.println(华氏温度华氏温度°F);}}3.3 挑战练习拓展练习4综合个人信息卡publicclassMain{publicstaticvoidmain(String[]args){// 基本信息 String姓名张三;int年龄15;char性别男;String学校第一中学;String班级初三(1)班;// 身体信息 double身高1.72;double体重58.5;doublebmi体重/(身高*身高);// 考试信息 int语文成绩88;int数学成绩95;int英语成绩82;int总分语文成绩数学成绩英语成绩;double平均分(double)总分/3.0;// 输出 System.out.println(═══════════════════════);System.out.println( 学生信息卡);System.out.println(═══════════════════════);System.out.println(姓名姓名 (性别));System.out.println(年龄年龄岁);System.out.println(学校学校 班级);System.out.println(身高身高米 体重体重公斤);System.out.println(BMIString.format(%.1f,bmi));System.out.println(─── 考试成绩 ───);System.out.println(语文语文成绩 数学数学成绩 英语英语成绩);System.out.println(总分总分 平均分String.format(%.1f,平均分));System.out.println(═══════════════════════);}}四、知识总结4.1 核心概念回顾数据类型关键字用途示例整数int计数、年龄、分数int 年龄 15长整数long很大的数long 人口 80亿L小数double身高、体重、价格double 身高 1.75单精度小数float精度要求不高float 体重 60.5f文字串String姓名、地址String 姓名 张三单个文字char性别、等级char 性别 男真假boolean判断条件boolean 是否会员 true固定数据final不可修改的数据final int 满分 1004.2 关键代码速查// 定义数据int年龄15;double身高1.75;String姓名张三;boolean是否会员true;finaldouble圆周率3.14159;// 类型转换int整数(int)3.14;// 强制转换结果是3double小数15;// 自动转换结果是15.0int数字Integer.parseInt(123);// 文字→数字4.3 常见错误提醒错误原因解决方法类型不匹配把文字赋值给数字检查等号两边的类型是否一致找不到符号数据名拼写错误检查数据名是否一致可能尚未初始化使用前没赋值给数据赋一个初始值不兼容的类型类型转换错误检查转换是否合理五、课后作业5.1 巩固练习创建你的个人档案姓名、年龄、身高、城市计算数学和英语两科的总分和平均分用final定义一个固定数据你的生日年份5.2 创意编程设计一个商品信息卡包含商品名称、价格、库存数量是否在打折折扣后的价格用符号装饰输出5.3 下篇预习 有了数据怎么让它们动起来 怎么计算、比较、判断下一篇我们将学习数据的运算——让数据动起来 小贴士给数据取名时名字要能清楚地表达它的含义。好的命名是写好程序的第一步