前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 基础语法(2)- 基础数据类型

Java 基础语法(2)- 基础数据类型

作者头像
小菠萝测试笔记
发布2021-07-08 14:34:24
4450
发布2021-07-08 14:34:24
举报
文章被收录于专栏:自动化、性能测试

前言

直接搬别人的笔记了,只做排版梳理,可能会加一点自己见解

Java的数据类型

  • 基础数据类型
  • 引用类型:除了基础数据类型剩下都是引用类型

Java 中的几种基本数据类型是什么?

Java 中有 8 种基本数据类型
  • 6 种数字类型 :byteshortintlongfloatdouble
  • 1 种字符类型:char
  • 1 种布尔型:boolean
位(bit)

是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数

字节(byte)
  • 是计算机中 数据处理 的基本单位,习惯上用大写B来表示
  • 1Byte(字节) = 8bit(位)
  • 1bit 表示1位
  • 1024B = 1KB
  • 1024KB = 1M
  • 1024M = 1G
字符

是指计算机中使用的字母、数字、字和符号

各自占用多少字节呢?

这 8 种基本数据类型的默认值以及所占空间的大小如下:

基本类型

位数

字节

默认值

int

32

4

0

short

16

2

0

long

64

8

0L

byte

8

1

0

char

16

2

'u0000'

float

32

4

0f

double

64

8

0d

boolean

1

false

另外,对于 boolean,官方文档未明确定义,它依赖于 JVM 厂商的具体实现。逻辑上理解是占用 1 位,但是实际中会考虑计算机高效存储因素

基础类型注意点
  1. Java 里使用 long 类型的数据一定要在数值后面加上 L,否则将作为整型解析
  2. char 用单引号, String a = "hello" String 用双引号

char a = 'h'

  1. String 不是基础数据类型,是引用类型
整型中 byte、short、int、long 的取值范围
  • byte:byte用 1 个字节来存储,范围为 -128(-2^7) 到 127(2^7-1),在变量初始化的时候,byte 类型的默认值为 0
  • short:short用 2 个字节存储,范围为-32,768 (-2^15) 到 32,767 (2^15-1),在变量初始化的时候,short 类型的默认值为 0,一般情况下,因为Java本身转型的原因,可以直接写为 0
  • int:int用 4 个字节存储,范围为-2,147,483,648 (-2^31) 到 2,147,483,647 (2^31-1),在变量初始化的时候,int 类型的默认值为 0
  • long:long用 8 个字节存储,范围为-9,223,372,036,854,775,808 (-2^63) 到 9,223,372,036, 854,775,807 (2^63-1),在变量初始化的时候,long类型的默认值为 0L 或 0l,也可直接写为 0
类型转换

由于 Java 是强类型语言,所有需要有些运算的时候的,需要用到类型转换。

低 --------------------------------------->高

byte, short, char -> int -> long -> float -> double

​ (小数的优先级高于整数)

  • 运算中,不同类型的数据先转换为同一类型,然后进行运算
  • 强制类型转换,优先级 高 转 低
  • 这个后面专门的文章来讲解
自动类型转换

由低到高直接输入,无需强制转换

转换注意
  • 不能对布尔值进行转换
  • 不能把对象类型转换为不相干的类型
  • 在把高容量转换到低容量的时候,需要强制转换
  • 转换的时候可能存在内存溢出,或者精度问题!
各自的对应的包装类是什么?

基本类型

包装类型

int

Integer

short

Short

long

Long

byte

Byte

char

Character

float

Float

double

Double

boolean

Boolean

基础类型和包装类型注意点
  • 包装类型不赋值就是 Null
  • 而基本类型有默认值所以不是 Null
单精度、双精度
  • 单精度浮点数(float)在计算机存储器中占用 4 个字节(32 bits),利用“浮点”(浮动小数点)的方法,可以表示一个范围很大的数值
  • 比起单精度浮点数,双精度浮点数(double)使用 64 位(8字节) 来存储一个浮点数
浮点数拓展
  • float; double 不够准确
  • 实际过程中浮点数无限且离散的,但是float是有限的,他会自动舍入误差,大约接近,但不等于
  • 银行等准确的计算工具最好使用BigDecimal 数学工具类

精确的对账最好完全避免使用浮点数进行比较

精确的对账最好完全避免使用浮点数进行比较

精确的对账最好完全避免使用浮点数进行比较

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-07-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Java的数据类型
  • Java 中的几种基本数据类型是什么?
    • Java 中有 8 种基本数据类型
      • 位(bit)
        • 字节(byte)
          • 字符
            • 各自占用多少字节呢?
              • 基础类型注意点
                • 整型中 byte、short、int、long 的取值范围
                  • 类型转换
                    • 自动类型转换
                      • 转换注意
                        • 各自的对应的包装类是什么?
                          • 基础类型和包装类型注意点
                            • 单精度、双精度
                              • 浮点数拓展
                              相关产品与服务
                              对象存储
                              对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档