A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zeizeizeiaaa 中级黑马   /  2015-3-24 13:14  /  1205 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.heimait;

public class Test11 {
public static void main(String[] args) {
       
        String[] books = { "《Java就业培训教程》", "《深入体验JAVA Web 开发内幕--高级特性》","《Java邮件开发详解》 " };
    //代码1
       
    for(int i = 0;i<books.length;i++);
    {
        int i = 0;
                System.out.println("第i个元素的值:" + books[i]);
    }
   
    //代码2
    int i =0;
    for(;i<books.length-1;i++);
    {
        System.out.println("第i个元素的值:" +  books[i]);
    }
}
}

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1

查看全部评分

9 个回复

倒序浏览
控制台最后输出的是:第i个元素的值:《Java就业培训教程》
                              第i个元素的值:《Java邮件开发详解》
回复 使用道具 举报
  System.out.println("第i个元素的值:" +  books[i]);

你这里的i是字符串类型
("第"+i+"个元素的值:" +  books[i]);
将i放开才行

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1 很给力!

查看全部评分

回复 使用道具 举报
这个不是重点,重点是为什么只打印一次
回复 使用道具 举报
代码1: for() 小括号后面不能加分号,不但下面就成了成员代码块,与for无关
          然后,减掉分号之后,语句体里面对i经行赋值是错误的
代码2: 同理 还有长度有问题
因为这里i<books.length-1
长度为3 你减去1 就只剩下2
还要小于
所以只剩下0和1 两次了
回复 使用道具 举报
圣光忏悔 发表于 2015-3-24 13:42
代码1: for() 小括号后面不能加分号,不但下面就成了成员代码块,与for无关
          然后,减掉分号之后,语 ...

大神,第一段懂了,第二段为什么是输出的books[2],不是应该books[1]吗?
回复 使用道具 举报
代码2的开头将i定义为了0,但是在for循环中,已经将i循环到了2
同代码1,for条件和后面的语句题分号隔开,无影响,所以打印出来的的就是i为2的结果.
回复 使用道具 举报
你代码1 for循环里还有个int i=0 ,那不是无限循环了?每次都是输出books[0]的值。。
回复 使用道具 举报
剑雨飘扬 发表于 2015-3-24 14:25
你代码1 for循环里还有个int i=0 ,那不是无限循环了?每次都是输出books[0]的值。。 ...

忘记看了,你for()后面还有分号
回复 使用道具 举报
圣光忏悔 发表于 2015-3-24 14:18
代码2的开头将i定义为了0,但是在for循环中,已经将i循环到了2
同代码1,for条件和后面的语句题分号隔开,无影 ...

懂了,谢谢大神
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马