前提概要

Java为每个原始类型提供了封装类,Integer是java为int提供的封装类
        int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况。

代码示例

public class TestJava {public static int i;public static Integer j;public static void main(String[] args) {System. out.println(i);System. out.println(j);}
}

输出:

0
null

由此看出int的默认值为0,而Integer的默认值为null。那如果将i和j定义到main方法里呢?

public class TestJava {public static void main(String[] args) {int i;Integer  j;System. out.println(i);System. out.println(j);}}

运行:

为啥这样就失败了呢?查阅static关键词后发现:

将一个方法声明为静态方法,通常是为了方便在不创建对象的情况下调用。那我们可以理解为将方法声明为静态就可以出创建对象,int是基础类型,integer是包装类 加了static就省略了new了,非静态变量需要初始化才能输出值

另外,Java静态变量初始化遵循以下规则:

1.静态变量会按照声明的顺序先依次声明并设置为该类型的默认值,但不赋值为初始化的值。
2.声明完毕后,再按声明的顺序依次设置为初始化的值,如果没有初始化的值就跳

链接:JAVA关于对象创建过程中初始化和声明顺序问题

int默认值为0,Integer默认值为null相关推荐

  1. python字符串和List:索引值以 0 为开始值,-1 为从末尾的开始位置;值和位置的区别哦...

    String(字符串) Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符. 字符串的截取的语法格式如下: 变量[头下标:尾下标] 索引值以 0 为开 ...

  2. c语言malloc返回值,malloc(0)的返回值

    很多嵌入式c面试,会问到这个问题,我也就百度了下,集合几位网友的分析,记录下来,便于我自己随时查看 当malloc分配内存时它除了分配我们指定SIZE的内存块,还会分配额外的内存来存储我们的内存块信息 ...

  3. androd报错Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null object refere

    每个报错会有不同的情况:t我这里的情况: 出错的是这行代码,三目运算符来判断这个值是否等于0 tvProductAccount_isGift.setText((editProductAccount.g ...

  4. python如何返回多个值_python- 如何返回多个值 | 学步园

    如何写一个返回多个值的函数 函数的return 语句只能返回一个值,可以是任何类型. 因此,我们可以"返回一个 tuple类型,来间接达到返回多个值 ". 例:   x 除以 y ...

  5. Mybatis中 Integer 值为0时,默认为空字符串的解决办法

    问题 需求是查询级别为0的用户 User对象里的level字段的值为0,查询时居然没有查到为level为0的用户. <select id="selectSelective" ...

  6. java integer的默认值_int和Integer的默认值

    群里有一个小伙伴发了一段和下面差不多的代码啊,问了一个问题,代码如下: public static voidmain(String[] args) { doem01 doem01= newdoem01 ...

  7. JAVA中stacksize是什么意思_【Java Thread StackSize】如何理解Java中Thread构造器中的stackSize的默认值为0?...

    Thred的stackSize默认值 e-mail:rolltion.zhang@foxmail.com 前言:为什么要研究默认值 在Java和Java开发框架中,我们经常会遇到一系列的默认值,尽管他 ...

  8. sql 默认值为0_int 默认值为0

    在java书中:如果没对int型赋初值,默认是0. 但我们尝试发现并不能通过: public static void main(String[] args) { int i; System.out.p ...

  9. springboot设置默认值_spring boot jpa存储数据的默认值为java的默认值

    问题描述 使用jpa的save方法保存数据后返回的实体类为java数据类型的默认值 问题出现的环境背景及自己尝试过哪些方法 环境背景: 用户新增功能,调用新增接口后根据返回对象的id去查询等级表的等级 ...

最新文章

  1. 在Apache的POI XWPFRun对象分隔文本行
  2. 动态获取的图片当做背景,而且图片是小图
  3. 并发基础(三): java线程优先级小试牛刀
  4. Python中比元组更好用的namedtuple
  5. 启动celery后执行任务报错:django.core.exceptions.ImproperlyConfigured
  6. 2.OD-C++的虚函数表遍历
  7. Gradle常用配置-版本号自增
  8. SAP Spartacus的一个问题 - CheckoutStepsSetGuard无法import
  9. webpack最新版本_webpack小结-开发环境构建优化
  10. ABB机器人VGT文件_ABB机器人与焊机之间通讯方式
  11. Linux常用命令——关机重启命令
  12. 【bzoj5090】组题 分数规划
  13. Galera Cluster:一种新型的高一致性MySQL集群架构
  14. 零束银河全栈技术解决方案之数字化体验平台产品篇
  15. 【VOIP】yate sip客户端直接呼叫
  16. 扎实干货!PP-Tracking:百度提出实时目标跟踪系统(附源码教程)
  17. php curl 客户端,php通过curl设置客户端cookie
  18. 数据分析师的个人修养
  19. 【壮丽70年·奋斗新时代】宿州:从农业大市转身为“中国云都”
  20. 乘着爱的翅膀—《爱的教育》读后感—吕中琪

热门文章

  1. pip工具使用总结以及常用库PIL、freetype的安装
  2. 【java机器学习】词向量在贝叶斯中的概念
  3. Undo/Redo框架实现
  4. 开源微服务编排框架:Netflix Conductor
  5. 好代码实践:基于Redis的轻量级分布式均衡消费队列
  6. Python C扩展的引用计数问题探讨
  7. 微软KV Store Faster如何巧妙实现1.6亿ops
  8. 支付宝这些程序员要逆天,滑板、画漫画、写科幻小说、航拍,玩得太溜
  9. 如何使用confd+ACM管理Nginx配置
  10. IP应用加速技术详解:如何提升动静混合站点的访问速率?