读书人

java关于FOR循环初始值替零或一的区别

发布时间: 2012-07-29 15:26:14 作者: rapoo

java关于FOR循环初始值为零或一的区别!

根据需求编写了如下代码:
import java.util.*;
public class BreakTest1
{
/**
*循环录入某学生5门课的成绩并计算平均分
*如果某分数录入为负,停止录入并提示录入错误
*/
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("请您输入学生的姓名:");
int score = 0;
boolean wrong = true;
String name = input.next();
for (int i=0;i<5 ;i++ )
{
System.out.println("请输入5门功课中第"+(i+1) + "门课程的成绩");
score = input.nextInt(); //从控制台接收数据
if (score<0)
{
wrong = false; //出差标识
break; //退出循环
}
}
System.out.println("您输入的成绩错误!!!");
}
}
问题:
for循环中:
for (int i=0;i<5 ;i++ )
{
System.out.println("请输入5门功课中第"+(i+1) + "门课程的成绩");
}
我把它改写成如下代码:
for (int i=1;i<=5 ;i++ )
{
System.out.println("请输入5门功课中第"+i+ "门课程的成绩");
}
运行结果一样,但为什么作者要将i的初始化赋值为0?答案留给读者们来回答。

来自:http://blog.csdn.net/long892230

5楼qq37493617前天 07:34
俩种写法而已,多心了把
Re: long892230前天 13:27
回复qq37493617n有写第二种的道理。n从时间与空间的角度考虑。
4楼kakalubi3天前 13:21
习惯从0开始,是因为程序代码的各种计数都是从0开始,而不是1,久而久之程序员的数数也成了0开始,成了一种自然而然的写法。n实际上怎么写都是个人的习惯,无所谓。从0开始更加符合大多数情况,如数组下标等。n除此之外,想不出其他理由了。nn再或者是<=和<的判断对程序会造成额外的开销?这个理由应该不存在吧,呵呵,搞笑了。
Re: long8922303天前 13:39
回复kakalubin利害
3楼anily20103天前 09:20
习惯问题吧,写0是因为数组的下标从0开始,这种问题上我个人就喜欢从1开始,感觉i比(i+1)简洁一些
2楼fccfcc12343天前 09:01
因为数组的下标从0开始。
Re: long8922303天前 09:19
回复fccfcc1234n有一点道理。还没说完整。
1楼qingdaozhengyl3天前 07:41
怎么感觉写0时花费的时间更多呢?空间就不不知道了 呵呵

读书人网 >编程

热点推荐