黑马程序员技术交流社区
标题:
程序中有个小插曲不理解,多问多学,互相交流。
[打印本页]
作者:
王林涛
时间:
2013-5-12 10:40
标题:
程序中有个小插曲不理解,多问多学,互相交流。
本帖最后由 王林涛 于 2013-5-13 10:23 编辑
class ArrayTest
{
public static int getMax(int[] arr) →此位置是要获取数组arr中的最大值
{
int max = arr[0]; →此语句为何要使 max=arr[0];应该是定义一个变量,此变量应该是数组arr中的任意一个数值,可这里为什么要写成arr[0]呢,arr[0]代表什么,是arr数组中0角标的数值吗?
for(int x=1;x<arr.length;x++)
{
if( arr[x]>max)
max=arr[x];
}
return max;
}
public static void main(String[] args)
{
int[] arr ={5,1,6,4,2,8,9};
int max = getMax(arr); → 此处getMax(arr)如何解释?
System.out.println("max="+max);
}
//System.out.println("max="+max); →如果把输出语句写到这个位置是否正确?
}
作者:
徐启坤
时间:
2013-5-12 10:52
第一个是先假定数组中的第一个为最大,然会循环比较,比它大就把它换掉
第二个就是传入你定义的数组作为参数调用函数,然后直接把函数返回的最大值赋值给max变量
第三个,主函数是程序执行的入口,不说放在外面报不报错,就算不报错也根本不会执行它的
作者:
王林涛
时间:
2013-5-12 10:53
尹桥印 发表于 2013-5-12 10:41
占楼~~回答
第一个问题:
int max = arr[0]; 这个是在给变量max初始化值,初始化值就是arr数组中第一个元素 ...
OK,谢啦,理解啦
作者:
、__WSD吴少东
时间:
2013-5-12 11:03
class ArrayTest
{
public static int getMax(int[] arr) //这个方法就是为了获取一个int类型数组的最大值,
{
int max = arr[0]; //在这里,是假设,0脚标上的元素是最大值,然后用for循环将它和其它脚标上的元素进行比较,
//如果其他脚标上的元素比它大,就将该脚标上的元素赋给max 这一步是一直进行的,知道讲该数组全部比完,
for(int x=1;x<arr.length;x++)
{
if( arr[x]>max)
max=arr[x];
}
return max;
}
public static void main(String[] args)
{
int[] arr ={5,1,6,4,2,8,9};
int max = getMax(arr); //这里调用的你编写的getMax()方法, 所有的方法,必须通过主函数,也就是带有main 的一个静态函数,来启动,所以这一步是必不可少的,
// 括号里的arr 是因为,你定义的getMax()需要的参数是一个int 类型的数组, 也就是定义getMax()函数的时候,括号里面的(int[] arr)
System.out.println("max="+max);
}
//System.out.println("max="+max); //把输出语句放在这里,你是想打印什么? getMax() 唔..你可以认为是一个使用后,就消失的局部变量,虽然不是很恰当。
// 用完之后就已经消失了,那还打印什么? 空气?
}
唔..我觉得这样够详细了已经,你要是还不懂,那就死记住,用多了就知道了,熟能生巧.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2