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

2.4 Java的基础概念(数据类型)

一、什么是数据类型在 Java 中数据类型决定了三件事存什么变量能存储的数据种类是整数、小数还是文字。占多大在内存中占用多少空间字节数。怎么算支持哪些操作如加减运算、逻辑比较。Java 是强类型语言。所有变量必须先声明类型且类型一旦确定通常不能随意改变。二、Java 数据类型的分类Java 的数据类型主要分为两大类基本数据类型和引用数据类型。Data Types数据类型/ \Primitive Types基本/原始类型 Reference Types引用类型graph TD A[Data Types 数据类型] -- B(Primitive Types 基本类型) A -- C(Reference Types 引用类型)1. 基本数据类型Primitive Types共8 种直接存储值本身效率极高通常存储在**栈Stack**内存中。分类类型关键字字节取值范围/说明默认值整数型byte1-128 ~ 1270short2-32,768 ~ 32,7670int4约 ±21亿 (-2³¹ ~ 2³¹−1)0long8约 ±9.2×10¹⁸0L浮点型float4单精度 (6~7位有效数字)0.0fdouble8双精度 (15~16位有效数字)0.0字符型char20 ~ 65,535 (Unicode 编码)\u0000布尔型boolean未定义true/falsefalseLong字面量必须加L或l建议大写 L避免与数字 1 混淆。Float字面量必须加F或f。DoubleJava 默认的浮点类型不加后缀即为 double。long bigNum 1234567890123L; float price 19.99f; // 不加 f 会报错因为默认是 double2. 引用数据类型Reference Types存储的是对象的引用内存地址实际对象存储在**堆Heap**内存中。类Class如String,Scanner, 自定义类。接口Interface如List,Runnable。数组Array如int[],String[]。枚举Enum。String name Alice; // name 是引用指向堆中的对象 int[] nums new int[5]; // nums 是数组引用三、基本类型 vs 引用类型特性基本类型引用类型存储内容实际数值对象的内存地址存储位置栈Stack引用在栈对象在堆默认值0, false, \u0000null是否有方法无有如.length()内存开销小高效相对较大四、字面量Literals字面量是直接写在代码中的常量值。类型字面量示例说明整数42,0b101默认是int长整数100L必须带L浮点数3.14默认是double单精度3.14f必须带f字符A,\n单引号只能存一个字符字符串Hello双引号属于引用类型布尔true,false仅两个值五、类型转换Type Conversion1. 自动类型提升Widening小范围 → 大范围安全自动完成。顺序byte→short→int→long→float→double特例char→intint a 100; double d a; // 自动转为 100.02. 强制类型转换Narrowing大范围 → 小范围可能丢失精度需显式转换。语法(目标类型) 变量名double x 123.456; int n (int) x; // 结果123直接截断小数不四舍五入布尔类型boolean不能与其他任何类型进行转换六、包装类Wrapper ClassesJava 为每个基本类型提供了对应的类主要用于集合泛型和工具方法。基本类型包装类基本类型包装类byteByteintIntegershortShortlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean自动装箱与拆箱JDK 5Integer num 100; // 自动装箱基本类型 - 对象 int n num; // 自动拆箱对象 - 基本类型七、常见陷阱与最佳实践1. 浮点数精度丢失System.out.println(0.1 0.2); // 输出 0.30000000000000004 System.out.println(0.1 0.2 0.3); // false解决方案涉及金额计算或高精度要求时必须使用BigDecimal。2. String 是引用类型abc是String对象而a是char基本类型。比较字符串内容请用.equals()不要用。3. char 是无符号的char范围是0~65535不能存储负数。最佳实践建议默认选择整数用int小数用double。大数处理超出int范围再用long。常量命名使用static final 全大写。public static final double PI 3.14159;八、练习public class TextData { public static void main(String[] args) { String name 黑马谢广坤; int age 18; char sex 男; double height 180.1; boolean flag true; System.out.println(姓名为: name); System.out.println(年龄为: age); System.out.println(性别为 sex); System.out.println(身高为: height); System.out.println(是否单身 flag); } }

相关文章:

2.4 Java的基础概念(数据类型)

一、什么是数据类型?在 Java 中,数据类型决定了三件事:存什么:变量能存储的数据种类(是整数、小数还是文字?)。占多大:在内存中占用多少空间(字节数)。怎么算…...

开源阅读鸿蒙版完整指南:打造你的专属数字图书馆

开源阅读鸿蒙版完整指南:打造你的专属数字图书馆 【免费下载链接】legado-Harmony 开源阅读鸿蒙版仓库 项目地址: https://gitcode.com/gh_mirrors/le/legado-Harmony 开源阅读鸿蒙版是一款专为鸿蒙系统用户设计的免费开源电子书阅读器,它彻底改变…...

如何快速配置Zotero插件:终极管理解决方案与插件市场指南

如何快速配置Zotero插件:终极管理解决方案与插件市场指南 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing, installing, and reviewing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-addons …...

Claude Code 常用技巧:这几个操作让我开发效率翻倍

Claude Code 常用技巧:这几个操作让我开发效率翻倍 说实话,用 Claude Code 差不多也有小半年了,从一开始"就这?"的怀疑,到现在每天开工第一件事就是把它招呼进来,中间踩了不少坑,也真…...

MouseOverShapeBox

MouseOverShapeBox MouseOverShapeBox 源码详解 - 鼠标悬停高亮标注框 这是一个增强版图像标注控件,当鼠标移动到形状上时,会高亮显示该形状。类似于图片标注工具中鼠标悬停时边框变色的效果。📄 文件头部(版权信息) /…...

Pixel Mind Decoder 版本管理与协作:Git工作流在AI项目中的应用

Pixel Mind Decoder 版本管理与协作:Git工作流在AI项目中的应用 1. 为什么AI项目需要版本管理 在开发Pixel Mind Decoder这样的情绪分析系统时,我们会频繁修改代码、调整Prompt模板、更新模型参数。如果没有版本管理,很容易陷入混乱&#x…...

从零上手!用 Python+OpenCV 实现 LBPH 人脸识别,小白也能跑通

一、写在前面:人脸识别到底是什么?你有没有好奇过,手机的人脸解锁、门禁的刷脸开门,到底是怎么认出你的?其实核心逻辑很简单:先 “记住” 人脸:把你的多张照片喂给算法,让它学习你的…...

FLUX.1-dev像素艺术生成实战:像素幻梦在RPG地图设计中的落地应用

FLUX.1-dev像素艺术生成实战:像素幻梦在RPG地图设计中的落地应用 1. 像素艺术生成新纪元 在独立游戏开发领域,像素艺术始终保持着独特的魅力。传统像素画创作需要艺术家逐格绘制,耗时耗力。而基于FLUX.1-dev模型的像素幻梦(Pixel Dream Wor…...

无障碍技术实践:OpenClaw+Phi-3-vision-128k-instruct构建语音图文助手

无障碍技术实践:OpenClawPhi-3-vision-128k-instruct构建语音图文助手 1. 项目背景与动机 去年夏天,我在一次志愿者活动中遇到几位视障开发者。他们提到日常工作中最大的障碍不是编程本身,而是无法快速获取图像信息和处理文档内容。这让我开…...

终极指南:如何无需Steam客户端轻松下载创意工坊模组

终极指南:如何无需Steam客户端轻松下载创意工坊模组 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否曾因Steam客户端无法访问创意工坊而烦恼?或者…...

P4084 [USACO17DEC] Barn Painting G 题解

题目描述Farmer John 有一个大农场,农场上有 N 个谷仓(1≤N≤105),其中一些已经涂色,另一些尚未涂色。Farmer John 想要为这些剩余的谷仓涂色,使得所有谷仓都被涂色,但他只有三种可用的油漆颜色…...

Claude颠覆AI编程

🚀 Claude 4 正式发布!Anthropic 这次真的要颠覆 AI 编程了 今天,AI 领域迎来核弹级更新——Anthropic 正式发布 Claude 4 系列模型!免费可用、7 小时自主编程,开发者直呼"生产力革命来了"! 一、…...

[特殊字符] Python 装饰器实战学习知识点梳理文档(从错题到全对版)

📚 Python 装饰器实战学习知识点梳理文档(从错题到全对版) 一、核心基础概念 ✨(装饰器的“地基”) 1. 变量作用域(避坑前提)全局变量:函数外面定义,全程序都能使用局部变…...

如何高效管理百度网盘文件:自动化批量转存与分享的完整指南

如何高效管理百度网盘文件:自动化批量转存与分享的完整指南 【免费下载链接】BaiduPanFilesTransfers 百度网盘批量转存、分享和检测工具 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduPanFilesTransfers 在数字资源日益丰富的今天,百度网盘…...

N_m3u8DL-CLI-SimpleG:跨平台M3U8视频下载工具全场景应用指南

N_m3u8DL-CLI-SimpleG:跨平台M3U8视频下载工具全场景应用指南 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG 一、场景定位:用户能力与需求匹配模型 三级…...

后端实战案例:企业级框架设计与优化实践

一、前言在 2026 年的软件开发中,Java 已经成为每一位工程师必须掌握的技能。无论是构建高性能后端服务、开发响应式前端界面,还是维护生产级服务器集群,这项技术都在其中扮演着关键角色。很多开发者在入门阶段会遇到一个普遍问题&#xff1a…...

基于NSGA-II多目标遗传优化算法的考虑风光火储+需求响应+P2G多能源系统多目标优化调度研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

OpenCore Legacy Patcher技术揭秘:老设备升级macOS的创新方案与实战指南

OpenCore Legacy Patcher技术揭秘:老设备升级macOS的创新方案与实战指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 在苹果生态系统中&#x…...

Windows Defender Remover完整指南:如何彻底移除Windows安全组件

Windows Defender Remover完整指南:如何彻底移除Windows安全组件 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_m…...

为什么传统PDF翻译总是破坏格式?BabelDOC如何5分钟实现专业文档精准翻译

为什么传统PDF翻译总是破坏格式?BabelDOC如何5分钟实现专业文档精准翻译 【免费下载链接】BabelDOC Yet Another Document Translator 项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC 你是否曾经尝试翻译一份学术论文或技术文档,却发…...

如何通过智能辅助提升原神游戏体验:BetterGI全方位解决方案

如何通过智能辅助提升原神游戏体验:BetterGI全方位解决方案 【免费下载链接】better-genshin-impact 📦BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游…...

如何通过抖音批量下载工具实现高效内容管理与分析

如何通过抖音批量下载工具实现高效内容管理与分析 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下载…...

Java的迪米特原则介绍

01.问题思考的分析什么是迪米特原则,这个原则如何理解,如何运用到实际开发,举例说明一下?什么是高内聚松耦合,能否举例说明一下?迪米特法则。尽管它不像 SOLID、KISS、DRY 原则那样,人尽皆知&am…...

glb模型在Cesium中发黑的机理分析

最近在将一款火箭模型(fbx模式)转换为glb(gltf)格式后,在Cesium中加载结果模型看起来全黑,经过分析发现是由于高光的折射率等级(IOR level)默认设置错误(设置为0)导致的,将其设置为0.5即可在Cesium中表现正常。 现象 现有一个fbx格…...

【Epic认证级适配流程】:UE6.5.0–6.5.3全版本C++27支持矩阵,含3大禁用扩展、2个ABI断裂风险点与1份可审计迁移Checklist

第一章:Epic认证级C27适配的合规性基准与目标定义Epic Games官方于2024年Q3发布的《Unreal Engine 5.5 C Language Compliance Framework》首次将C27草案核心特性纳入引擎构建工具链的强制验证范围。本章确立的合规性基准并非仅面向语法兼容,而是聚焦于A…...

关于初次学习的c语言心得

我是一名大一下的学生,双非二本,因为一些原因休学了两年,现在正在努力学习c语言目标成为公司里面所谓的精通编程,学习c语言的过程每天坚持三小时以上,希望能进入像京东,华为等公司,我也想挣钱买…...

Windows驱动存储深度管理:DriverStore Explorer全方位解决方案

Windows驱动存储深度管理:DriverStore Explorer全方位解决方案 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 一、驱动管理困境与突破路径 1.1 系统驱动管理的核心挑战 W…...

Youtu-Parsing快速部署指南:一键启动Web服务,5分钟开始解析文档

Youtu-Parsing快速部署指南:一键启动Web服务,5分钟开始解析文档 1. 引言:为什么选择Youtu-Parsing 在日常工作中,我们经常需要处理各种文档——合同、报告、表格、发票等。传统的手动录入方式不仅效率低下,还容易出错…...

3个技巧让你轻松获取Steam创意工坊资源:WorkshopDL的跨平台下载解决方案

3个技巧让你轻松获取Steam创意工坊资源:WorkshopDL的跨平台下载解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 在游戏模组爱好者的日常中,总会…...

专业级OBS模糊插件全攻略:obs-composite-blur技术解析与应用指南

专业级OBS模糊插件全攻略:obs-composite-blur技术解析与应用指南 【免费下载链接】obs-composite-blur A comprehensive blur plugin for OBS that provides several different blur algorithms, and proper compositing. 项目地址: https://gitcode.com/gh_mirro…...