解释:int型默认值为0的问题
目录
- 解释:int型默认值为0
- 但我们尝试发现并不能通过:
- 原因:
- int的默认值为0,而Integer的默认值为null
- 尤其在java 中声明时:
解释:int型默认值为0
在java书中往往强调:如果没对int型赋初值,默认是0。
但我们尝试发现并不能通过:
public class test{ public static void main(String args[]){ int i; System.out.println(i); } }
提示:
1 个错误
JobsdeMacBook-Pro:~ LuXin$ javac Test.java
Test.java:3: 错误: 变量 testInt 未在默认构造器中初始化
public static final int testInt;
原因:
你定义的i是 临时变量,这种临时变量是不会初始化的,只有类的成员变量才会被初始化。比如
然后你创建一个test对象,new test(),那么这个对象的属性i就会被默认初始化为0。
class Test{ public static void main(String[] args) { Test2 test2 = new Test2(); //tent为test2的一个成员变量 System.out.println(test2.tent); } }
上面定义了两个类,在类Test中new Test2,那么Test2中的成员变量tent就会实例化为0
int的默认值为0,而Integer的默认值为null
注意:
Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。
int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,
尤其在java 中声明时:
int a; //默认为0 integer b; //默认为null
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Java中八种基本数据类型的默认值
通过一段代码来测试一下 8种基本数据类型的默认值 package dierge; public class Ceshi { int a; double b; boolean c; char d; float f; byte e; long h; short j; public static void main(String args[]){ Ceshi a=new Ceshi(); System.out.println("整型的默认值是:"+a.a); System.out.print
-
Java基本数据类型与封装类型详解(int和Integer区别)
int是java提供的8种原始数据类型之一. Java为每个原始类型提供了封装类,Integer是java为int提供的封装类(即Integer是一个java对象,而int只是一个基本数据类型).int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer.在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字
-
Mybatis Integer类型参数值为0时得到为空的解决方法
今日遇到的问题: 查询版本信息时,由于version是Integer类型,所以当前台选择版本为0时,变成了查询了所有的版本信息. sql片段: </if> <if test="version != null and version != '' "> AND a.version = #{version} </if> 原因: MyBatis因自身原因默认了 Integer类型数据值等于0时 为 ""(空字符串) 解决办法: 1. 某些
-
简单了解java中int和Integer的区别
这篇文章主要介绍了简单了解java中int和Integer的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化(new 一下是最常见的实例化)后才能使用,而int变量不需要 3.Integer实际是对象的引用,new Integer(),实际上是生成一个指针指向此对象:而int则是直接存储数据值 4.Integer的默认值是null,in
-
解释:int型默认值为0的问题
目录 解释:int型默认值为0 但我们尝试发现并不能通过: 原因: int的默认值为0,而Integer的默认值为null 尤其在java 中声明时: 解释:int型默认值为0 在java书中往往强调:如果没对int型赋初值,默认是0. 但我们尝试发现并不能通过: public class test{ public static void main(String args[]){ int i; System.out.println(i); } } 提示: 1 个错误 JobsdeMacBook-
-
MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
目录 LambdaQueryWrapper使用 int默认值问题 问题现象 解决方法 问题分析 小结一下 lambdaquerywrapper in使用样例 直接使用列名报错 下面这样ok LambdaQueryWrapper使用 int默认值问题 问题现象 一顿操作,感觉不可能有问题,调试后发现,没传任何参数,日志里面居然有两个参数, 进入对象中发现 解决方法 int类型替换成 Integer 类型 问题消失 问题分析 1.了解一下int int: int 数据类型是32位.有符号的以二进制补
-
C#不同类型的成员变量(字段)的默认值介绍
创建类的一个实例时,在执行构造函数之前,如果你没有给成员变量赋初始值,C#编译器缺省将每一个成员变量初始化为他的默认值. 如果变量是方法的局部变量,编译器就会认为在使用该变量之前,代码必须给它显示的设定一个值.否则会发生"使用了未赋值的局部变量"的错误. 对于其他情况,编译器会在创建变量时,把变量初始化为默认值.1.对于整型.浮点型.枚举类型(数值型),默认值为0或0.0.2.字符类型的默认值为\x0000.3.布尔类型的默认值为false.4.引用类型的默认值为null. 如果声时变
-
Java八种基本变量作为类的成员变量的默认值操作
目录 Java类成员变量的默认值 下面我们看看我们的八种数据类型的默认值是什么样的 总结 boolean型变量的默认值问题 1.首先分析Java中的三种不同变量的区别 2.然后判断boolean型变量的类型 Java类成员变量的默认值 基本数据类型作为类的成员变量时可以不赋予初值,在方法中输出也不会报错. 下面我们看看我们的八种数据类型的默认值是什么样的 上代码 package objectandclass; import java.awt.SecondaryLoop; public class
-
聊聊java变量的初始化之后的默认值
变量初始化后的默认值 对于类的成员变量 不管程序有没有显示的初始化,Java 虚拟机都会先自动给它初始化为默认值. 1.整数类型(byte.short.int.long)的基本类型变量的默认值为0. 2.单精度浮点型(float)的基本类型变量的默认值为0.0f. 3.双精度浮点型(double)的基本类型变量的默认值为0.0d. 4.字符型(char)的基本类型变量的默认为 "/u0000". 5.布尔性的基本类型变量的默认值为 false. 6.引用类型的变量是默认值为 null.
-
Java未赋值变量的初始值解析(默认值)
目录 Java未赋值变量的初始值(默认值) 初始值(默认值) 实例变量(非静态字段) 类变量(静态字段) 本地变量 参数 解决java未赋值变量的默认值问题 如下所示 Java未赋值变量的初始值(默认值) 初始值(默认值) 参考:官方文档 Java程序中,任何变量必须初始化后才能使用. 以下为不同数据类型的默认值. 数据类型 初始值 byte 0 short 0 int 0 long 0L char 'u0000' float 0.0f double 0 boolean false 所有引用类型
-
.net数据库连接池配置技巧(默认值)
以连接字符串关键字控制Connection Pool ConnectionString属性是SQLConnection 对象的一个属性,它支持一个连接串/值对,这个对是用于调整connection pool行为的.下表是ConnectionString 的值及解释. 名称 默认值 描述 Connection Lifetime 0 当连接返回pool时,它的时间和创建时间相比,如果它的存在时间超过了Connection Lifetime,它被释放.这对于新加入集群的服务器平衡是很有用的.值0可以保
-
Java利用移位运算将int型分解成四个byte型的方法
package 移位运算; public class 移位运算 { public static void main(String[] args) { //00000111 01011011 11001101 00010101 int n=123456789; //n为需要进行移位处理的32位int型初始值 byte[] a =chai(n); for (int i = 0; i < a.length; i++) { byte b=a[i]; System.out.print(b+" &qu
-
MySQL 如何处理隐式默认值
有同学说遇到了主从不一致的问题. 大概情况是,从库是用mysqldump导出导入数据的方式创建的.创建成功后,在用mysqldump验证主从的表结构是否一致的时候,发现有些表定义不一致: 从他的比较结果可以看到,在从库端,有三个列的定义中被加入了"default null". 怀疑环境被人人为修改过,但是最终确认环境没有被动过.然后又做了一边测试,使用mysqldump导出数据,使用source将数据导入从库后,发现还是有这个现象,问是不是source命令有bug! 其实,这个跟MyS
-
使用JavaBean根据指定条件设置属性值默认值方式
目录 JavaBean根据指定条件设置属性值默认值 使用场景 使用范围 使用示例 JavaBean对象成员变量默认值及数组默认值 JavaBean根据指定条件设置属性值默认值 使用场景 当bean数据中已经装配好其他数据,在逻辑以及数据转换完成的最后一步进行数据默认值设置:如果bean的属性较少,可以手动写if条件就行了,如果bean的属性太多,你不希望写太多if的时候,这个方法是很不错的方法: 使用范围 仅限于当前类,不能给父类设置值 也是参考了其他博主的方法,做的优化和修改,由于时间过了很长
随机推荐
- ruby on rails 代码技巧
- mongodb中随机获取1条记录的实现方法
- 详解Vue-Cli 异步加载数据的一些注意点
- 详解iOS开发中使用storyboard创建导航控制器的方法
- ASP.NET 页面事件执行顺序介绍
- PHP中常用的输出函数总结
- PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
- 《PHP边学边教》(02.Apache+PHP环境配置——下篇)
- Python实现文件按照日期命名的方法
- Python内置数据类型详解
- Javascript/Jquery——简单定时器的多种实现方法
- jquery过滤特殊字符',防sql注入的实现方法
- php array_map使用自定义的函数处理数组中的每个值
- IIS7.5 安全配置研究(推荐)
- 探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释
- Android开发小技巧篇之集合
- Python如何快速上手? 快速掌握一门新语言的方法
- 利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
- Android ContentProvider实现手机联系人读取和插入
- 快速了解Java中ThreadLocal类