首页 > 编程语言 >Java基础-基本类型和包装类型

Java基础-基本类型和包装类型

时间:2024-07-18 22:40:41浏览次数:16  
标签:基本 默认值 Java 包装 类型 null

基本类型

Java有八种基本类型

  • int
  • float
  • double
  • long
  • boolean
  • char
  • short
  • byte
    基本类型如果是局部变量,那它们的位置会在虚拟机栈种。如果是成员变量它们会存放在堆中。

包装类型

相对应的Java也有八种包装类型

  • Int
  • Float
  • Double
  • Long
  • Boolean
  • Char
  • Short
  • Byte

区别

1.默认值:基本类型都各自有自己的默认值,包装类型的默认值是null
2.使用:除了定义一些常量和局部变量之外,在方法参数、对象属性中很少会使用基本类型来定义变量。
而且包装类型可用于泛型,而基本类型不可以。(比如int的默认值是0,Integer的默认值是null,null对于程序来说比较好处理,可以进行空值判断,而且数据库中字段值可能为null,这个时候int会报错,而Integer不会)
3.比较方式:基本类型直接都用==比较,而包装类型用equals()来比较。
4.存储位置:几乎所有对象都存放在堆上,不说全部是因为HotSpot 虚拟机引入了 JIT 优化之后,会对对象进行逃逸分析,如果发现某一个对象并没有逃逸到方法外部,那么就可能通过标量替换来实现栈上分配,而避免堆上分配内存。

标签:基本,默认值,Java,包装,类型,null
From: https://www.cnblogs.com/frankLiang442/p/18310546

相关文章

  • Java基础常见面试题总结(下)
    目录异常Exception和Error有什么区别?Throwable类常用方法有哪些?  try-catch-finally如何使用?finally代码块中的代码一定会执行吗? 异常使用有哪些需要注意的地方? 泛型什么是泛型?有什么作用?泛型的使用类型有哪几种?项目中哪里使用到了泛型?反射反射是什么? ......
  • C++11 包装器
    前文C++11lambda表达式-CSDN博客C++11新的类功能&&可变参数模板-CSDN博客C++11右值引用和移动语义-CSDN博客function包装器1.概念        目前我们知道的可调用对象有:函数指针(类型定义太复杂),仿函数对象(要定义一个类,用的时候有点麻烦,不适合做类型统一),lam......
  • Java基础-Java代码变成机器可执行代码过程
    1Javac编译因为JVM把Javac把Java代码编译成字节码,即把.java文件变成.class文件,JVM(Java虚拟机)可以理解字节码文件,将其转换为机器可以执行的代码,所以只要安装了JVM的平台,都可以运行Java程序。2JVMJavac编译后,Java文件就变成了字节码文件,JVM类加载器会去加载字节码文件,然后由解......
  • 基于Java安卓的爱读书APP设计与实现(源码+lw+部署文档+讲解等)
    文章目录前言详细视频演示项目运行截图技术框架后端采用SpringBoot框架前端框架Vue可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......
  • JavaWeb基本概念和Tomcat
    JavaWeb基本概念在Java中,动态web资源开发的技术统称为JavaWeb动态Web:类似淘宝,几乎所有的网站提供给所有人看的数据始终会发生变化,千人千面技术栈:Servlet/JSP,ASP,PHPweb应用程序web应用程序:可以提供浏览器访问的程序;a.html、b.html......多个web资源,这些web资源都可以......
  • clock gating check两种类型归类
    前言:之前我一直以为clockgatingcheck只涉及AND/ORgate,直到前阵子后仿发现了minwidthpulseviolation,才从后端口中了解到MUX作为gatingcell也可以做clockgatingcheck。TO后对此研究了一番,先把基本概念搞清楚放这儿,后面再写解决该violation的两个方法。clock_gating_che......
  • Java基础第三弹
    文章目录Java基础知识全解第三弹一、面向对象编程1.1面向对象编程思想1.2类和对象关系1.2.1类1.2.2对象2.对象创建和使用3.构造方法4.方法的调用5.java的内存结构6.成员变量和局部变量7.方法的重载二、this、static关键字1.this2.static(静态的)三、包1.包的由来2......
  • RxJava快速入门
    简单来说RxJava是一个实现响应式编程的类库。那什么是响应式编程?响应式编程的核心思想是"数据流是第一等公民”,程序的逻辑建立在数据流的变化之上。响应式编程的几个核心概念:(1)数据流:在响应式编程中,数据以流(Streans)的形式存在。流就像一条河,源源不断。比如一个数组或集合可......
  • 揭秘Java世界:轻松检测两个List是否有交集
    哈喽,大家好,我是木头左!快速入门:什么是List的交集?在Java中,当提到两个List的交集,指的是这两个列表共有的元素集合。例如,如果有两个List,其中一个包含元素A,B,C,另一个包含B,C,D,那么它们的交集就是B,C。理解了这一点,就可以开始探讨如何检测这个交集,以及它对编程实践的意义。Ja......
  • Java中interface的default和static方法
    Java中interface的default和static方法Java中interface的default和static方法完整代码及其运行结果从Java8开始:static方法:接口不能通过实例调用static方法接口中的static方法不能被继承子类不能继承接口的static方法,可以继承、不能覆写父类的static方法。default......