2024年Java最全JAVA自学-8大基础类型详解(1),Alibaba技术官内部私藏MySQL笔记分享

总结

在清楚了各个大厂的面试重点之后,就能很好的提高你刷题以及面试准备的效率,接下来小编也为大家准备了最新的互联网大厂资料。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

其实在oracle的官方文档中也有对boolean类型进行了简单的描述: boolean类型只有两种可能的值-真或假,这个数据类型用于做真假条件的简单标记跟踪,它的作用仅是用来标识这一个信息,但是它的大小并不是精确定义的。

image-20220123190217916

官方文档中对boolean也没有给出明确的大小定义,但是在JAVA虚拟机书籍中又说明了boolean是占用4个字节的,由此我们也能得出一个结论:boolean占用的存储空间实际上取决于JAVA虚拟机的具体实现来决定,1个还是4个字节都是存在可能性的,背后的逻辑其实是对执行效率和存储空间的一个取舍。

整数类型



byte、short、int、long都被归纳到整数类型中,它们的主要区别是能够描述的数值范围不一样,这样区分的目的主要是为了节省存储空间,因为表示的范围越大,需要占用内存的空间就越多,将整数类型划分为多种,可以让我们在编程的时候根据具体情况节省存储空间,表示范围从小到大依次为:byte < short < int < long。

如果定义的数值超越了具体数据类型的可以容纳值的范围(如用byte类型接收它范围之外的int类型的值),则会出现溢出,得到的结果是一个莫名其妙的值,这个因为涉及到的知识比较深,在有了一定基础后再继续进行讲解。

byte类型

byte类型属于整数类型的一种,它的特点是来表示取值范围较小(-128 到127),就好像我们生活中的单车,一般只能承载1到2个人乘坐。

使用举例:

  • 定义年龄为12岁:byte age = 12;

占用大小:1byte,8位

short类型

它也属于整数类型中的一员,不过它能够表示的范围比byte类型更大(-215 ~ 215-1),使用生活例子类比,它就像生活中的面包车,能够承载10到15人左右乘坐。

使用举例:

  • 变量定义:short mobilePhone = 10086

  • 可以转换成byte类型:short age = 100; byte byteAge = (byte)age;

占用大小:2byte,16位

int类型

它是整数类型中最常用到的数据类型,能够代表的取值范围为:-231 ~ 231-1,使用生活的例子来类比,它就像运货物的货车,能够承载50到100人左右。

使用举例:

  • 变量定义:int money = 1000

  • 可以转换成byte、short类型,但是必须是在这两种类型的取值范围内,否则会出现溢出的情况。

占用大小:4 byte, 32位

long类型

它是整数类型中能代表取值范围最大的数据类型,取值范围为: -263 ~ 263-1,用生活的例子来类比,它就像我们常坐的动车、高铁,能够承载100人以上。

特点:在定义一个数值为long类型时,需要在这个数值后面添加字母l或者L来标识,建议是使用大写字母L标识,因为小写字母l会很容易和数值1混淆。

使用举例:

  • 常量定义:long testLong = 1000L;

  • 可以转换成byte、short、int类型,但是必须是在这些类型的取值范围内,否则会出现溢出的情况。

占用大小:8 byte, 64位

字符类型



char类型

它表示使用单引号括起来的Unicode表中的任意一个字符,没有负数的char,取值范围为:0 ~ 65535。 char类型的变量在内存中实际上存储的是字符对应的Unicode排序位置**,如定义字符char demo = ‘a’,实际上demo在内存中存储的值是97(97是字符a在Unicode编码中的排序位置)。

如果想得到一个字符对应的Unicode排序位置,可以使用int类型显示转换,即使用int类型接收char字符类型的值,如:int p = ‘a’(此时p得到的值就是97)。

image-20220123231454046

使用举例:

  • 变量定义:char home = ‘家’

占用大小:2 byte, 16位

Unicode编码表如下:

image-20220123231038055

浮点类型



浮点类型代表的就是实数(即有理数和无理数的总称,更直地的说就是有限小数和无限小数的集合),在JAVA中区分为float类型和double类型。

float类型

float类型变量,在内存中需要占用4个字节,共32位(bit),它能够表示的数值范围是:-3.402 823*1038 ~ 3.402 823*1038,在存储float类型变量时保留8位有效数字(有效数字是指从左边第一个不为零的数起到最后不为零的数止),但是实际的精度取决于具体的数值,定义时需要使用字母f或者F标识。

使用举例:

  • 变量定义:float money = 3.14f;

image-20220123233617542

double类型

在内存中占用8个字节共64位,它能够表示的取值范围为:-1.7977*10308 ~ 1.7977*10308,在存储double类型数据的时候最大能够保留16位有效数值,实际的精度要取决于具体的数值。 在JAVA中,默认小数类型就是double,一般也使用d或者D来表示它是double类型。

使用举例:

  • 变量定义:double money = 3.14或者double = 123.5D;

image-20220123234256425

各大类型总结



| 类型 | 关键字 | 占用字节 | 适用场景 | 取值范围 |

| — | — | — | — | — |

| 字节类型 | byte | 1 | 适用取值范围很小的数 | -128 ~127 |

| 短整形 | short | 2 | 较小的整数 | -215 ~ 215-1 |

| 整形 | int | 4 | 一般整数 | -231 ~ 231-1 |

| 长整型 | long | 8 | 非常大的整数 | -263 ~ 263-1 |

| 浮点型 | float | 4 | 普通实数 | -3.402 823*1038 ~ 3.402 823*1038 |

| 双精度 | double | 8 | 非常大的实数 | -1.7977*10308 ~ 1.7977*10308 |

| 字符型 | char | 2 | 单个字符 | 0-65535 |

| 布尔类型 | boolean | 1(具体取决于虚拟机实现) | 只有真或假取值 | true和false |

基础数据类型转换



通过上文可以了解到,表达同一种含义的可以用多种类型表示(如整数类型有:byte、short、int、long),区别在于它们占用的空间以及可以表示的范围不一样。在JAVA中,一种数据类型变成另外一种数据类型被称之为转换,转换过程中也会涉及到数据转换。

常见的基础数据类型精度由低到高可以排序为:byte、short、char、int、long、float、double。当我们将低精度的数据类型赋值给高精度的数据类型时,系统会自动完成数据类型的转换(类比思想:将小容量的物体存放到大容量的容器中,当然是没有问题的),如:

image-20220124080730407

但如果需要将高精度的类型转换成低精度的类型,那么就会出现精度的丢失,所以必须显示指定类型转换,格式如下:(需要转换的类型)要转换的值

image-20220123235724510

系列文章推荐



总结

阿里伤透我心,疯狂复习刷题,终于喜提offer 哈哈~好啦,不闲扯了

image

1、JAVA面试核心知识整理(PDF):包含JVMJAVA集合JAVA多线程并发,JAVA基础,Spring原理微服务,Netty与RPC,网络,日志,ZookeeperKafkaRabbitMQ,Hbase,MongoDB,Cassandra,设计模式负载均衡数据库一致性哈希JAVA算法数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算共30个章节。

image

2、Redis学习笔记及学习思维脑图

image

3、数据面试必备20题+数据库性能优化的21个最佳实践

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

v6v6F-1714862565124)]

2、Redis学习笔记及学习思维脑图

[外链图片转存中…(img-YDaY6Ekg-1714862565124)]

3、数据面试必备20题+数据库性能优化的21个最佳实践

[外链图片转存中…(img-oYocl2iY-1714862565124)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值