问题描述
- 有个java的问题想问问大家,欢迎进来帮忙解答下,谢谢
-
为什么这段代码运行结果0和3呢?public class Test {
static int a;
static int i=3;
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(a+"
"+i);
}}
解决方案
静态Int变量默认为0
解决方案二:
是的,这个static变量初始化的时候有默认值,boolean为false,其他数值类型都是0.
解决方案三:
静态 int 变量默认0
解决方案四:
int初始化就是0。和静态没关系吧?
解决方案五:
1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内......
答案就在这里:有个java的问题想问问大家,欢迎进来帮忙解答下,谢谢
解决方案六:
其实a=0这个是跟java中的变量类型有关,java中变量分为成员变量(类体中声明的,a,i都是)和局部变量(方法中声明的,例如在main方法中定义的变量就叫局部变量)两种,a是类的成员变量,在Test这个类初始化时会调用默认的无参函构造数,这个构造函数会将int类型的a初始化成0。
解决方案七:
java与c++的区别之一 就是java中定义的变量有默认值。
而c++中没有默认值。要在初始化列表中初始化。
解决方案八:
8种基础类型的默认值byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char 'u0000'
boolean false
解决方案九:
int 类型的变量,没定义初始值的话,默认是0,输出的时候就是0 换行 3,嗯就酱
解决方案十:
只要没定义初始值就是0,不用去想为什么,类似的东西有很多,比如
public class A
{
public static void main(String[] args)
{
int a = 'A';
int b = 'a';
int c = a+b;
System.out.println(c);
}
}
输出的结果是162,这个是牵涉到ASCII码的问题