滚雪球学Java(06):Java基础知识:数据类型和取值范围解析

简介: 【2月更文挑战第9天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!

在这里插入图片描述


🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!


@[toc]

前言

  在Java中,数据类型是用于声明不同类型的变量或对象的关键字。Java支持两种类型的数据类型:基本数据类型和引用数据类型。本文将着重介绍Java中的基本数据类型及其取值范围。

摘要

  本文将介绍Java中的8种基本数据类型,包括整型、浮点型、字符型和布尔型,并分别介绍它们的取值范围。

正文

  Java中的基本数据类型有8种,分别是:byte、short、int、long、float、double、char和boolean。

数据类型

整型

整型用于表示整数类型的变量。它们的取值范围如下:

数据类型 取值范围
byte -128 ~ 127
short -32768 ~ 32767
int -2147483648 ~ 2147483647
long -9223372036854775808L ~ 9223372036854775807L

  其中,byte类型占用1个字节,short类型占用2个字节,int类型占用4个字节,long类型占用8个字节。

以下是用Java代码定义整型变量的示例:

byte myByte = 100;
short myShort = 5000;
int myInt = 1000000;
long myLong = 12345678900L;

浮点型

浮点型用于表示带有小数部分的数值。它们的取值范围如下:

数据类型 取值范围
float 3.40282347E+38F ~ 1.40129846E-45F
double 1.7976931348623157E+308 ~ 4.9E-324

其中,float类型占用4个字节,double类型占用8个字节。

以下是用Java代码定义浮点型变量的示例:

float myFloat = 3.1415926F;
double myDouble = 2.718281828459045;

字符型

字符型用于表示单个字符。它们的取值范围如下:

数据类型 取值范围
char '\u0000' ~ '\uffff'

其中,char类型占用2个字节。

以下是用Java代码定义字符型变量的示例:

char myChar = 'A';

布尔型

  布尔型用于表示逻辑值,只有两个取值:true和false。它们的取值范围如下:

数据类型 取值范围
boolean true或false

以下是用Java代码定义布尔型变量的示例:

boolean myBoolean = true;

代码示例

  本文中的代码示例为使用Java定义基本数据类型变量的示例,没有涉及到任何代码方法。

代码演示

以下为一些测试用例,检验Java基本数据类型的取值范围是否正确:

package com.demo.javase.day06;

/**
 * 演示Java中的数据类型和取值范围解析
 *
 * @author bug菌
 * @version 1.0
 * @date 2023/10/10 17:08
 */
public class TestDataStyle {
   
   

    public static void main(String[] args) {
   
   
        byte myByte = (byte) 129; // 编译错误:超出取值范围
        short myShort = (short) 32768; // 编译错误:超出取值范围
        int myInt = 2147483648; // 编译错误:超出取值范围
        long myLong = 9223372036854775808L; // 编译错误:超出取值范围

        float myFloat = 3.40282347E+39F; // 编译错误:超出取值范围
        double myDouble = 1.7976931348623159E+309; // 编译错误:超出取值范围

        char myChar = '\uffff'; // 取值范围正确

        boolean myBoolean = true; // 取值范围正确

    }
}

执行结果

在这里插入图片描述

代码解析

  该代码主要演示了Java中数据类型的取值范围。其中,byte、short、int和long类型都表示整数类型,分别对应8位、16位、32位和64位的二进制补码形式。它们的取值范围分别为-128~127、-32768~32767、-2147483648~2147483647和-9223372036854775808~9223372036854775807。如果在给定的范围之外赋值会导致编译错误。

  float和double类型表示浮点数类型。其中,float类型为单精度浮点数,占32位;double类型为双精度浮点数,占64位。它们具有更高的精度和更大的取值范围,float类型的取值范围为1.4E-45~3.40282347E+38,double类型的取值范围为4.9E-324~1.7976931348623159E+308。如果在给定的范围之外赋值会导致编译错误。

  char类型表示Unicode字符类型,占16位。它的取值范围为'\u0000'~'\uffff',即Unicode字符集中的所有字符。因此,在给定范围内赋值是正确的。

小结

  Java基本数据类型包括8种类型,分别是byte、short、int、long、float、double、char和boolean。本文介绍了各个类型的取值范围,并给出了使用Java代码定义基本数据类型变量的示例。我们需要了解这些基本数据类型的取值范围,避免在使用中出现不必要的错误。

附录源码

  如上涉及所有源码均已上传同步在「Gitee」,提供给同学们一对一参考学习,辅助你更迅速的掌握。

总结

  Java中共有8种基本数据类型,分别为byte、short、int、long、float、double、char和boolean。其中,整型包括byte、short、int和long;浮点型包括float和double;字符型为char;逻辑型为boolean。这些数据类型都有对应的取值范围,超出取值范围的赋值会导致编译错误。我们在使用这些数据类型时要注意它们的取值范围,以避免程序出现不必要的错误。

☀️建议/推荐你


  无论你是计算机专业的学生,还是对编程有兴趣的小伙伴,都建议直接毫无顾忌的学习此专栏「滚雪球学Java」,bug菌郑重承诺,凡是学习此专栏的同学,均能获取到所需的知识和技能,全网最快速入门Java编程,就像滚雪球一样,越滚越大,指数级提升。

  最后,如果这篇文章对你有所帮助,帮忙给作者来个一键三连,关注、点赞、收藏,您的支持就是我坚持写作最大的动力。

  同时欢迎大家关注公众号:「猿圈奇妙屋」 ,以便学习更多同类型的技术文章,免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板、技术文章Markdown文档等海量资料。

📣关于我

  我是bug菌,CSDN | 掘金 | infoQ | 51CTO 等社区博客专家,历届博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,华为云 | 阿里云| 腾讯云等社区优质创作者,全网粉丝合计15w+ ;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板等海量资料。


目录
相关文章
|
Java 开发者
重学Java基础篇—Java类加载顺序深度解析
本文全面解析Java类的生命周期与加载顺序,涵盖从加载到卸载的七个阶段,并深入探讨初始化阶段的执行规则。通过单类、继承体系的实例分析,明确静态与实例初始化的顺序。同时,列举六种触发初始化的场景及特殊场景处理(如接口初始化)。提供类加载完整流程图与记忆口诀,助于理解复杂初始化逻辑。此外,针对空指针异常等问题提出排查方案,并给出最佳实践建议,帮助开发者优化程序设计、定位BUG及理解框架机制。最后扩展讲解类加载器层次与双亲委派机制,为深入研究奠定基础。
633 0
|
IDE Java 开发工具
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
IntelliJ IDEA创建Java项目的图文详细步骤,手把手带你创建Java项目
2278 10
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
|
存储 Java 程序员
Java 基础知识点全面梳理包含核心要点及难点解析 Java 基础知识点
本文档系统梳理了Java基础知识点,涵盖核心特性、语法基础、面向对象编程、数组字符串、集合框架、异常处理及应用实例,帮助初学者全面掌握Java入门知识,提升编程实践能力。附示例代码下载链接。
540 0
|
存储 安全 Java
2025 年最新 40 个 Java 基础核心知识点全面梳理一文掌握 Java 基础关键概念
本文系统梳理了Java编程的40个核心知识点,涵盖基础语法、面向对象、集合框架、异常处理、多线程、IO流、反射机制等关键领域。重点包括:JVM运行原理、基本数据类型、封装/继承/多态三大特性、集合类对比(ArrayList vs LinkedList、HashMap vs TreeMap)、异常分类及处理方式、线程创建与同步机制、IO流体系结构以及反射的应用场景。这些基础知识是Java开发的根基,掌握后能为后续框架学习和项目开发奠定坚实基础。文中还提供了代码资源获取方式,方便读者进一步实践学习。
3251 2
|
存储 安全 Java
Java 基础知识面试题汇总 最全面的 Java 基础面试题整理
本文全面解析Java基础知识面试题,涵盖Java基础概念、面向对象编程、异常处理、集合框架等核心内容。通过实际应用场景,提供技术方案与应用实例,如JDK与JRE区别、==与equals()差异、String类特性、final与static关键字用法、多继承替代方案及接口与抽象类对比。帮助开发者夯实基础,高效备考,提升实战能力。附带完整代码示例,可供下载学习。
1022 3
|
存储 设计模式 Java
重学Java基础篇—ThreadLocal深度解析与最佳实践
ThreadLocal 是一种实现线程隔离的机制,为每个线程创建独立变量副本,适用于数据库连接管理、用户会话信息存储等场景。
588 5
|
存储 监控 安全
重学Java基础篇—类的生命周期深度解析
本文全面解析了Java类的生命周期,涵盖加载、验证、准备、解析、初始化、使用及卸载七个关键阶段。通过分阶段执行机制详解(如加载阶段的触发条件与技术实现),结合方法调用机制、内存回收保护等使用阶段特性,以及卸载条件和特殊场景处理,帮助开发者深入理解JVM运作原理。同时,文章探讨了性能优化建议、典型异常处理及新一代JVM特性(如元空间与模块化系统)。总结中强调安全优先、延迟加载与动态扩展的设计思想,并提供开发建议与进阶方向,助力解决性能调优、内存泄漏排查及框架设计等问题。
702 5
|
机器学习/深度学习 人工智能 Java
Java机器学习实战:基于DJL框架的手写数字识别全解析
在人工智能蓬勃发展的今天,Python凭借丰富的生态库(如TensorFlow、PyTorch)成为AI开发的首选语言。但Java作为企业级应用的基石,其在生产环境部署、性能优化和工程化方面的优势不容忽视。DJL(Deep Java Library)的出现完美填补了Java在深度学习领域的空白,它提供了一套统一的API,允许开发者无缝对接主流深度学习框架,将AI模型高效部署到Java生态中。本文将通过手写数字识别的完整流程,深入解析DJL框架的核心机制与应用实践。
1035 3
|
安全 IDE Java
重学Java基础篇—Java Object类常用方法深度解析
Java中,Object类作为所有类的超类,提供了多个核心方法以支持对象的基本行为。其中,`toString()`用于对象的字符串表示,重写时应包含关键信息;`equals()`与`hashCode()`需成对重写,确保对象等价判断的一致性;`getClass()`用于运行时类型识别;`clone()`实现对象复制,需区分浅拷贝与深拷贝;`wait()/notify()`支持线程协作。此外,`finalize()`已过时,建议使用更安全的资源管理方式。合理运用这些方法,并遵循最佳实践,可提升代码质量与健壮性。
584 1

推荐镜像

更多
  • DNS