int不是默认为0吗?为什么会提示要初始化?
2017-03-10 17:28
369 查看
准确地来说,应该是类字段变量是这样,而在方法中的变量需明确初始化,即给它赋值,否则会报错。
输出结果为:i = 0
Integer一样:
public class IODemo {
static Integer i;
public static void main(String[] args) {
System.out.println("i = " + i);
}
} 输出结果为:i = null
只要不是类字段和数组,其它变量一律要赋值。
public class IODemo { static int i; public static void main(String[] args) { System.out.println("i = " + i); } }
输出结果为:i = 0
Integer一样:
public class IODemo {
static Integer i;
public static void main(String[] args) {
System.out.println("i = " + i);
}
} 输出结果为:i = null
相关文章推荐
- 为什么int类型字段在mysql中默认int(11) 无符号默认int(10)?
- Hibernate Tip: 为什么要把变量类型设置为Long, Integer,而不是long, int
- SharePrefence存储中,get方法里面的默认值类型就是要和本身String 、int等一样,不是都是0
- read()方法读取的是一个字节,为什么返回是int,而不是byte
- 利用write(int)方法写入一个int型的数据为什么看见的却不是整形的数据?
- 为什么int是从-32768到32767而不是从-32767到32767呢?
- 为什么read()方法返回的是int类型而不是byte
- (转)为什么IO读取流的read方法返回的是int而不是byte的原因!
- 定义变量的时候为什么用的是Integer而不是int
- 为什么16位系统下,int类型能够表示的范围是:-32768到32767,而不是从-32767到32767呢?
- 关于C语言中为什么getchar的返回类型不是char而是int的说明
- 为什么mysql默认的隔离级别是rr不是rc
- win7为什么提示telnet不是内部或外部命令
- int数组为什么一般不能用memset初始化每个元素
- win7下elnet命令为什么提示telnet不是内部或外部命令,也不是可运行的程序或批处理文件
- 为什么int类型字段在mysql中默认int(11) 无符号默认int(10)?
- java.io.FileInputStream.read()的返回值类型为什么是int而不是byte
- 为什么是string::size_type而不是int?---顺便聊聊无符号数和负数的比较
- 【转】新建maven工程为什么jdk会是默认版本 而不是自己设置的版本?
- int为什么不是2的32次方