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

元素变量与遍历对象的问题

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(scores);
  }
 }
}

在foreach语句中写为,for(int score : scores)。在打印输出语句中,打印score结果是正确的,如果打印的为scores数组,则结果为:

[I@659e0bfd
[I@659e0bfd
[I@659e0bfd
[I@659e0bfd
[I@659e0bfd

正在回答

2 回答

import java.util.Arrays;


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


输出

打印测试[I@11cf3710
[I@11cf3710
[I@11cf3710
[I@11cf3710
[I@11cf3710
[I@11cf3710
[I@11cf3710

说明:scores是数组的变量名,打印的scores是数组scores的第一个元素的内存地址,从测试中可以看出,内存地址是不会变的。而score是数组中的每个元素。

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

长_歌 提问者

非常感谢!
2017-08-10 回复 有任何疑惑可以回复我~

直接打印数组名  打印的是相当于数组的一个指针   要想把数组元素打印出来  必须遍历数组 或者使用toString()

你这个程序的意思是  遍历数组中的每一个元素  打印出数组的地址  所以打印出来5遍


我是这样理解的 

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

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165254    人
  • 解答问题       17581    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

元素变量与遍历对象的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信