滚雪球学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电子书籍、简历模板等海量资料。


目录
相关文章
|
1天前
|
Java 测试技术 数据安全/隐私保护
滚雪球学Java(23):包机制
【4月更文挑战第12天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
14 3
滚雪球学Java(23):包机制
|
2天前
|
Java 编译器 API
Java基础教程(17)-Java8中的lambda表达式和Stream、Optional
【4月更文挑战第17天】Lambda表达式是Java 8引入的函数式编程特性,允许函数作为参数或返回值。它有简洁的语法:`(parameters) -> expression 或 (parameters) ->{ statements; }`。FunctionalInterface注解用于标记单方法接口,可以用Lambda替换。
|
3天前
|
存储 安全 Java
Java并发编程中的高效数据结构:ConcurrentHashMap解析
【4月更文挑战第25天】在多线程环境下,高效的数据访问和管理是至关重要的。Java提供了多种并发集合来处理这种情境,其中ConcurrentHashMap是最广泛使用的一个。本文将深入分析ConcurrentHashMap的内部工作原理、性能特点以及它如何在保证线程安全的同时提供高并发性,最后将展示其在实际开发中的应用示例。
|
3天前
|
Java
Java输入输出流详细解析
Java输入输出流详细解析
Java输入输出流详细解析
|
3天前
|
Java
[Java 基础] Java修饰符
[Java 基础] Java修饰符
|
4天前
|
IDE Java 开发工具
Java从入门到精通:1.3.1实践编程巩固基础知识
Java从入门到精通:1.3.1实践编程巩固基础知识
|
4天前
|
存储 Java C++
Java集合篇之深度解析Queue,单端队列、双端队列、优先级队列、阻塞队列
Java集合篇之深度解析Queue,单端队列、双端队列、优先级队列、阻塞队列
17 0
|
4天前
|
Java
Java基础知识整理,驼峰规则、流程控制、自增自减
在这一篇文章中我们总结了包括注释、关键字、运算符的Java基础知识点,今天继续来聊一聊命名规则(驼峰)、流程控制、自增自减。
34 3
|
4天前
|
Java 开发者
Java基础知识整理,注释、关键字、运算符
在日常的工作中,总会遇到很多大段的代码,逻辑复杂,看得人云山雾绕,这时候若能言简意赅的加上注释,会让阅读者豁然开朗,这就是注释的魅力!
37 11
|
4天前
|
存储 安全 Java
滚雪球学Java(19):JavaSE中的内存管理:你所不知道的秘密
【4月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
30 4
滚雪球学Java(19):JavaSE中的内存管理:你所不知道的秘密

推荐镜像

更多