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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【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电子书籍、简历模板等海量资料。


目录
相关文章
|
5天前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
51 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
12天前
|
存储 缓存 Java
Java 并发编程——volatile 关键字解析
本文介绍了Java线程中的`volatile`关键字及其与`synchronized`锁的区别。`volatile`保证了变量的可见性和一定的有序性,但不能保证原子性。它通过内存屏障实现,避免指令重排序,确保线程间数据一致。相比`synchronized`,`volatile`性能更优,适用于简单状态标记和某些特定场景,如单例模式中的双重检查锁定。文中还解释了Java内存模型的基本概念,包括主内存、工作内存及并发编程中的原子性、可见性和有序性。
Java 并发编程——volatile 关键字解析
|
10天前
|
Java 数据库连接 Spring
反射-----浅解析(Java)
在java中,我们可以通过反射机制,知道任何一个类的成员变量(成员属性)和成员方法,也可以堆任何一个对象,调用这个对象的任何属性和方法,更进一步我们还可以修改部分信息和。
|
1月前
|
存储 算法 Java
Java内存管理深度解析####
本文深入探讨了Java虚拟机(JVM)中的内存分配与垃圾回收机制,揭示了其高效管理内存的奥秘。文章首先概述了JVM内存模型,随后详细阐述了堆、栈、方法区等关键区域的作用及管理策略。在垃圾回收部分,重点介绍了标记-清除、复制算法、标记-整理等多种回收算法的工作原理及其适用场景,并通过实际案例分析了不同GC策略对应用性能的影响。对于开发者而言,理解这些原理有助于编写出更加高效、稳定的Java应用程序。 ####
|
2月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
87 2
|
3月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
87 0
|
3月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
68 0
|
3月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
73 0
|
11天前
|
存储 设计模式 算法
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。 行为型模式分为: • 模板方法模式 • 策略模式 • 命令模式 • 职责链模式 • 状态模式 • 观察者模式 • 中介者模式 • 迭代器模式 • 访问者模式 • 备忘录模式 • 解释器模式
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
|
11天前
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: • 代理模式 • 适配器模式 • 装饰者模式 • 桥接模式 • 外观模式 • 组合模式 • 享元模式
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析

推荐镜像

更多