为了账号安全,请及时绑定邮箱和手机立即绑定

System.out.println(score);输出的时候为什么不是scores

import java.util.Arrays;


public class HelloWorld {

    

    public static void main(String[] args) {

        

// 定义一个整型数组,保存成绩信息

int[] scores = { 89, 72, 64, 58, 93 };

        

// 对Arrays类对数组进行排序

Arrays.sort(scores);

        

// 使用foreach遍历输出数组中的元素

for (int score:scores                  ) {

System.out.println(score);

}

}

}在代码中为什么元素变量不是scores而且输出的时候也不是scores呢


正在回答

7 回答

首先不要被中文命名误导,foreach在java中是规定(后定义变量的类型 后定义变量:前定义变量)//这些只是本人俗称

Scores是一开始定义的变量,也是未进行处理过的变量,我们要输出的是经过排序处理的变量score

http://img1.sycdn.imooc.com//57bc657800010e0604850291.jpg

小编也无聊试一下将前定义变量作为输出语句,显然是行不通的~

1 回复 有任何疑惑可以回复我~

foreach是专门用来遍历数组或者集合(这个可能在之后你会学到)的,这点要记住,,scores是数组名,数组都是引用类型,如果你打印的话,你会发现得到的是一个16进制的地址,因此对scores进行操作是没有什么意义的,只有里面的元素才有价值,foreach是对数组scores中的元素进行从前到后依次使用,score一个变量,比如说,把数组中的第一个元素赋值给score,然后我们执行一次大括号内的程序之后,它会自动把第二个元素赋值给score,再执行大括号内的程序。你可以通过代码来看清楚http://img1.sycdn.imooc.com//57d115d50001d1e205080253.jpga是不断改变的

其次,建议你不要受别人影响,不要只知道个大概,建议多研究研究,这才是一个程序员往高级发展的必经之路。希望这个答案能给你帮助

0 回复 有任何疑惑可以回复我~

元素变量不是scores,foreach语法就是这样的呀。

0 回复 有任何疑惑可以回复我~

import java.util.Arrays;

  

public class HelloWorld {

      

    public static void main(String[] args) {

          

        // 定义一个整型数组,保存成绩信息

        int[] score = { 89, 72, 64, 58, 93 };

          

        // 对Arrays类对数组进行排序

        Arrays.sort(score);

          

        // 使用foreach遍历输出数组中的元素

        for ( int i:score ) {

            System.out.println(i);

        }

    }

}


0 回复 有任何疑惑可以回复我~

foreach的语句格式是这样的:
for(元素类型t 元素变量x : 遍历对象obj){ 
     引用了x的java语句; 

可以看得出来,scores是用来接受数组或者集合的对象,score是定义了一个局部变量用来接受scores的的赋值。

这在foreach方法中是固定的。


0 回复 有任何疑惑可以回复我~

foreach循环在编译的时候会强制检查数组对象类型是否是int类型,如果不是会报编译错误。

import java.util.Arrays;
 
public class HelloWorld {
     
    public static void main(String[] args) {
         
        // 定义一个整型数组,保存成绩信息
        int[] score = { 89, 72, 64, 58, 93 };
         
        // 对Arrays类对数组进行排序
        Arrays.sort(score);
         
        // 使用foreach遍历输出数组中的元素
        for ( int i:score ) {
            System.out.println(i);
        }
    }
}


0 回复 有任何疑惑可以回复我~

这是用foreach的语法啊,当然输出的时候当然不是scores了。foreach的语法为for(元素类型 元素变量:遍历对象)

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

System.out.println(score);输出的时候为什么不是scores

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号