java 初始化

来源:百度知道 编辑:UC知道 时间:2024/05/31 06:08:12
int min=99, temp=0,arr1[]={1,2,3,4,8,7,6,5};
for(int i=0;i<arr1.length;i++)
{
System.out.print(" "+arr1[i]);
}
for(int j=1;j<arr1.length;j++)
{
if(arr1[temp]>arr1[j])
{
min=arr1[j];
temp=j;
}
else
{
min=arr1[temp];
}
}
System.out.println("The minimum is "+min);
不好意思,第一次发错了,大家看程序的第一行min 我没有初始化,程序出错,为什么要初始化啊??我知道如果min直接参与运算那么需要初始化,但是程序只是给它赋值啊??
int min, temp=0,arr1[]={1,2,3,4,8,7,6,5};
for(int i=0;i<arr1.length;i++)
{
System.out.print(" "+arr1[i]);
}
for(int j=1;j<arr1.length;j++)
{
if(arr1[temp]>arr1[j])
{
min=arr1[j];
temp=j;
}
else
{
min=arr1[temp];
}
}
System.o

补充:java要求方法级别的变量都要初始化。这是java的特点。用来提高代码的安全性(内存寻址)。
请参考:
http://zhidao.baidu.com/question/20192637.html
--------------------
程序没有编译问题,运行也很正常,运行结果为:
1 2 3 4 8 7 6 5The minimum is 1

int[] arr1 = new int[] {1,2,3,4,8,7,6,5};

你要问什么?

程序逻辑有问题,最后的else没有用:
int min=99, temp=0,arr1[]={1,2,3,4,8,7,6,5};
for(int i=0;i<arr1.length;i++)
{
System.out.print(" "+arr1[i]);
}
for(int j=1;j<arr1.length;j++)
{
if(arr1[temp]>arr1[j])
{
min=arr1[j];
temp=j;
}
}
System.out.println("The minimum is "+min);

在c++中,你不对其初始话的话,其值可能是0,也可能是任意数.所以在java中规定必须对其初始话.负责会报错