码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【java篇】你真的了解“基本数据类型”吗?


    目录

    基本介绍:        

    整数类型

    浮点类型 

    布尔类型和char类型

     自动类型转换

     数据类型转换必须满足如下规则:


    基本介绍:        

            Java是一门强类型语言,这就意味着必须为每一个变量声明一种类型。Java为我们提供了八种基本类型(primitive type),其中又分为4种整数类型、2种浮点类型、1种字符类型char;

    整数类型

    基本数据类型字节数默认值范围包装数据类型
    byte10-2^7—2^7-1Byte
    short20-2^15—2^15-1Short
    int40-2^31—2^31-1Integer
    long80-2^63—2^63-1Long

     当我们在给long类型赋值时,如果常量超出int类型的表示范围,就需要在数字后面加上后缀L或l,像下面这样就会报错;

     之所以要加L或l,是因为数字常量默认为int类型,而上面这个数字很明显已经超出int范围了;

    浮点类型 

    基本数据类型字节数默认值包装数据类型备注
    float40.0fFloat数字后加f
    double80.0dDouble

     其中double类型的数值精度是float类型的两倍,所以也被称为双精度类型;

    值得注意的是:float类型的数值后面有一个后缀F或f (例如3.14F) ,如果没有后缀的情况下3.14会被默认为double类型,你也可以写成3.14D或3.14d;但是如果你写成下面这样就会报错;

    浮点型(float/double) 用来表示浮点数据,实际以指数形式存储,所以和实际值之间有偏差。

    1,为 float 类型赋值必须在数字后加 f,否则数字默认被识别为 double 类型,会导致赋值出错。

    2,数字基本类型都包含最大最小值常量,如 Integer.MAX_VALUE 和 Integer.MIN_VALUE .

    3,在浮点型有三个特殊数值表示溢出和出错:

        POSITIVE_INFINITY :正无穷大,正数除以 0 可以得到。

        NEGATIVE_INFINITY :负无穷大,负数除以 0 可以得到。

        NaN :非数,零除以 0 可以得到。(两个 NAN 值也不相等) 

    布尔类型和char类型

    基本数据类型字节数默认值包装数据类型备注
    char2'\u0000‘(或0)Character必须用单引号
    boolean1falseBoolean

     自动类型转换

    整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。

    转换从低级到高级。

     数据类型转换必须满足如下规则:

    • 1. 不能对boolean类型进行类型转换。

    • 2. 不能把对象类型转换成不相关类的对象。

    • 3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

    • 4. 转换过程中可能导致溢出或损失精度,例如:

      1. int i =128;
      2. byte b = (byte)i;

      因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。

    • 5. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:

    1. (int)27.9 == 27;
    2. (int)-45.89f == -45

  • 相关阅读:
    设施云解决方案,解决园区设施管理痛点
    Java面试题总结(一):Java基础
    PyTorch搭建Bert对IMDB数据集进行情感分析(文本分类)
    RPA处理重复工作,助力高效资金管理
    使用 Python 进行测试(7)...until you make it
    避坑版-OpenSSH 用户名枚举漏洞(CVE-2018-15473)
    基于MindSpore实现BERT对话情绪识别
    应用3之Like运算符的应用
    排序算法之归并排序
    泛微开发修炼之旅--15后端开发连接外部数据源,实现在ecology系统中查询其他异构系统数据库得示例和源码
  • 原文地址:https://blog.csdn.net/m0_64231944/article/details/127912111
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号