Java数据类型

表示范围

计算时的自动类型转换

  • 所有的byte,short,char型的值将被提升为int型;
  • 如果有一个操作数是long型,计算结果是long型;
  • 如果有一个操作数是float型,计算结果是float型;
  • 如果有一个操作数是double型,计算结果是double型;

例:byte在运算时会自动转换为int

Integer的缓存机制

自动装箱

Integer i = 100;相当于编译器自动为您作以下的语法编译:Integer i = Integer.valueOf(100);

自动拆箱

int t = i;实际上执行了 int t = i.intValue();

自动装箱实际上是执行了valueOf代码,而java5后,valueOf的源码如下

public static Integer valueOf(int i) {                              if(i >= -128 && i <= IntegerCache.high)  // 没有设置的话,IngegerCache.high 默认是127                             return IntegerCache.cache[i + 128];                             else                                return new Integer(i);
}           

所以当要执行如下代码时

结果如下

这里代码满足以下两个条件

  • a与b采用的是valueOf的 而非 构造函数的初始化方式。
  • a与b的值相同且在 -128~127之间(缓存默认值)

问题

float及double的最大值最小值是如何用二进制表示的?或者说是如何在内存中表示的?

java8个基本类型相关推荐

  1. java8种基本类型长度_【Java基础】Java的8种基本数据类型深入介绍

    Java的8种基本数据类型介绍 基本数据类型存储大小说明,在了解存储大小说明之前我们先来了解几个基本的概念:位(bit):位表示的是二进制位,一般称为比特,是计算机存储的最小单位. 字节(byte): ...

  2. java8 stream_使用Java Stream摘要统计

    java8 stream 基本类型的流( IntStream等)提供了summaryStatistics( )方法,该方法可用于获取流的多个统计属性(最小值,平均值等). 假设我们有一个人的名单. 我 ...

  3. java类型比较_java 基本数据类型 ==和equals()比较

    1.基本类型的存储 Java 8种基本类型都是存储在堆栈中,例:int i = 1;String str = "hello world";也是存储在堆栈中. new基本类型的包装器 ...

  4. java8 注解: @FunctionalInterface (函数式接口)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Java8提倡函数式编程,因而新增了一个函数式接口.函数式接口保证了函数式编程,同时也保证了能够兼容 ...

  5. Java8 通关攻略

    Java8早在2014年3月就发布了,7年了,你有对它做个全面的了解吗 本文是用我拙劣的英文和不要脸的这抄抄那抄抄,熬出来的,没有深究源码,只是对 Java8 有一个整体的认知,可以上手用起来,示例代 ...

  6. Java8 新特性(下)

    本文主要总结了<Java8实战>,适用于学习 Java8 的同学,也可以作为一个 API 手册文档适用,平时使用时可能由于不熟练,忘记 API 或者语法. 异步编程 Future Futu ...

  7. 十个方面学习Java8

    前言 从编程语言特性来说java8绝对是一次革命性的的改进,有了JDK 8之后, Java语言的表达力.简洁性有了很大提高.毫无疑问,Java 8是自Java 5发布以来最大的一次版本升级. 一.La ...

  8. 【JAVA拾遗】Java8新特性合辑

    [JAVA拾遗]Java8新特性合辑 文章目录 [JAVA拾遗]Java8新特性合辑 0. 逼逼 [--/--]126 Lambda Expressions & Virtual Extensi ...

  9. 死磕 Java 8 的日期处理

    TIME Java 8 推出了全新的日期时间API并且已经很久了,因为业务中遇到的时间处理的还是不多,因此用的也少,而且大多是用封装好的时间共计包,就更少接触java8 的时间类型API了,因此对他不 ...

最新文章

  1. 为什么要使用Go语言?Go语言的优势在哪里?
  2. node-webkit学习(2)基本结构和配置
  3. postgres两条结果集合并无法区分那个表的数据结果集_Hulu在OLAP场景下数据缓存技术实战...
  4. 1.3 @Deprecated注解
  5. 【H2 Database】Server模式启动
  6. 程序员该如何选择靠谱的创业公司?
  7. 数据结构C语言实现动态顺序表
  8. 第11章 Spring Boot使用Actuator
  9. 无盘服务器集群,镜像(无盘柜)-单活集群解决方案
  10. python猴子选大王讲解_关于猴子选大王的面试题
  11. 企业用好大数据只需这6招
  12. 华为鸿蒙系统ui界面会变吗,华为鸿蒙系统:全新UI界面
  13. sqli-labs(19)
  14. 尚学堂马士兵_Struts2下载完成
  15. 马克思主义哲学(认识论)
  16. 多个域名指向一个ip
  17. \USER\stm32f10x.h(298): error: #67: expected a “}”
  18. java 坑爹的黑店,大土地神系统
  19. 基于python实现resnet_【Tensorflow系列】使用Inception_resnet_v2训练自己的数据集并用Tensorboard监控...
  20. document打印

热门文章

  1. WordPress网站速度优化教程
  2. 诱骗芯片PD+QC协议XSP06应用案例,支持5V9V12V15V20V
  3. Redis主从复制详解(入门教程)
  4. c语言指针p=*q,C语言中指针*p=*q与p=q有什么区别
  5. Cisco Packet Tracer交换机间相同VLAN通信
  6. python二分法求最值_数值分析之二分法、试值法 python
  7. Python编程——爬小说《星辰变》
  8. java里void的意思_void的用法和意义
  9. 郭德纲对18岁郭麒麟说的话,江湖阅历,字字珠玑,堪称郭氏家训
  10. OpenBmc开发8:devtool简介与使用