java基本类型

简介: java基本类型

一、Java中的数据类型:基本数据类型和引用数据类型(复合数据类型)
1、基本数据类型:(四类八种)
(1)整型
数据类型 空间分配 取值范围 备注
long 8字节 -2^63---2^63-1 常量后缀一般是L或l
int 4字节 -2^31---2^31-1 常量默认为int类型
short 2字节 -2^15---2^15-1
byte 1字节 -128---127

(2)浮点型:
数据类型 空间分配 取值范围 备注
double 8 略 后缀是d或D,小数点后15位,适合科学计算和工程计算
float 4 略 后缀是f或F,小数点后7位,适合科学计算和工程计算

案例思考:double比long类型的数据的取值范围要大的多,为什么?

long采用补码存储,double和float存储分为三个部分,分别是符号位、指数位和尾数
float:最高位表示符号,  指数位8位,尾数位23
double:最高位表示符号,指数位11位,尾数位52

(3)字符型
数据类型 空间分配 取值范围 备注
char 2个字节 'u0000'~'uffff' 兼容ascii码字符集

(4)布尔型
数据类型 空间分配 取值范围 备注
boolean 1个位 true或false 不能与整型数据进行运行

补充内容:整型数据都采用补码存储。
(1)原码:一个数的绝对值+符号在计算机中的表达形式,如果是负数,最高位符号位是1,如果是整数符号位是0。

        正数在计算机中的表示形式:
        
   13:         00001101
  -13          10001101
  
  +0           00000000
  -0           10000000
   

(2)反码:对于正数原码和反码相同,负数原码符号位不变其余位按位取反

   13:         00001101
  -13          11110010
  
  +0           00000000
  -0           11111111

(3)补码:对于正数原码、反码和补码相同,对于负数反码末位+1

   13:         00001101
  -13          11110011
  
  +0           00000000
  -0           00000000
 进制:常见的进制包括10进制、2进制、8进制、16进制等等
 10进制:由0 1 2 ....9  十个 数字所组成的进制系统称为10进制,逢十进一,每一位的权是10的n次方。
       2进制:由0 1 两个 数字所组成的进制系统称为2进制,逢二进一,每一位的权是2的n次方。是计算机世界常采用的进制系统。
       8进制:由0 1 ...7 八个 数字所组成的进制系统称为8进制,逢八进一,每一位的权是8的n次方。
       八进制在使用时以0开头的,0123,   012,。。。。。
 16进制:由0 1 ...9 a b c d e f 十六个 数字所组成的进制系统称为16进制,逢十六进一,每一位的权是16的n次方。
      十六进制数在使用时以0x开头,0x123
      
       进制间的转换:
  10进制与2进制相互转换
  10进制转2进制:除2取余
        案例作业:给定一个十进制数转换二进制
        案例作业:进制之间的相互转换
 

2、引用类型:类、数组、接口、枚举等等
3、void:无值型, 用于定义方法

二、数据类型转换:包括自动转换和强制转换。
1、自动转换:也称为向上转型。
2、强制转换:也称为向下转型。Java中的语法格式:
(类型)表达式或者变量或者常量
注意事项:
对于基本类型数据强制转换发生时会损失精度,引用类型转换时可能会发生运行时异常ClassCastException的异常,
可以使用运算符instanceof来验证被强制转换的对象或者引用是否属于强转的类型

相关文章
|
1月前
|
负载均衡 NoSQL 算法
一天五道Java面试题----第十天(简述Redis事务实现--------->负载均衡算法、类型)
这篇文章是关于Java面试中Redis相关问题的笔记,包括Redis事务实现、集群方案、主从复制原理、CAP和BASE理论以及负载均衡算法和类型。
一天五道Java面试题----第十天(简述Redis事务实现--------->负载均衡算法、类型)
|
1月前
|
Java
【Java基础面试五】、 int类型的数据范围是多少?
这篇文章回答了Java中`int`类型数据的范围是-2^31到2^31-1,并提供了其他基本数据类型的内存占用和数值范围信息。
【Java基础面试五】、 int类型的数据范围是多少?
|
19天前
|
自然语言处理 算法 Java
Java如何判断两句话的相似度类型MySQL的match
【9月更文挑战第1天】Java如何判断两句话的相似度类型MySQL的match
18 2
|
1月前
|
存储 Java 程序员
Java中对象几种类型的内存分配(JVM对象储存机制)
Java中对象几种类型的内存分配(JVM对象储存机制)
62 5
Java中对象几种类型的内存分配(JVM对象储存机制)
|
25天前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之dal层中的mapper数据源类型进行组织的问题如何解决
Java应用结构规范问题之dal层中的mapper数据源类型进行组织的问题如何解决
|
30天前
|
前端开发 Java 数据库
Java系列之 Long类型返回前端精度丢失
这篇文章讨论了Java后端实体类中Long类型数据在传递给前端时出现的精度丢失问题,并提供了通过在实体类字段上添加`@JsonSerialize(using = ToStringSerializer.class)`注解来确保精度的解决方法。
|
1月前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。
|
1月前
|
安全 Java 测试技术
Java零基础(10) - 基本类型转换
【8月更文挑战第10天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
21 3
|
1月前
|
Java 数据安全/隐私保护
03 Java流程控制-分支(if+switch+变量类型)
03 Java流程控制-分支(if+switch+变量类型)
23 5
|
2月前
|
Java
java 文件上传 :MultipartFile 类型转换为file类型
java 文件上传 :MultipartFile 类型转换为file类型
50 9