关于java的foreach语法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java的foreach语法相关的知识,希望对你有一定的参考价值。
--------写法一----------
int[] i=0,1,2,3;
for (int index:i)
---------写法二-------------
for (int index:0,1,2,3)
为什么写法二不可以?
改成
for (int index:new int[]0,1,2,3)
就可以了 参考技术B Java语法不允许写法二。“”在代码里除了可以表示数组初始化,还大量用于表示code block,放在表达式里面有可能造成编译器过于复杂。这大概是Java不允许类似写法二的原因吧
java中的foreach语法
public class p177
public static void main(String[] args)
int[] a =new int[] 1,2,3;
for(int index: a)
System.out.print(a);
控制台输出的是[I@156ee8e
请问我错在哪里了?
是这样的,楼主你第一个错误是,类命名不对,首字母规范是大写,P117
第二
public class p177
public static void main(String[] args)
int[] a =new int[] 1,2,3;
for(int index: a)
System.out.print(a);
程序输出的是a的地址,你sout没有放到循环里面
如果这样
public class p177
public static void main(String[] args)
int[] a =new int[] 1,2,3;
for(int index: a)
System.out.print(a);
for里面的内容会执行三次,就是说会输出三次a的地址
如果你想输出数组里面的内容,你应该这样写
public class p177
public static void main(String[] args)
int[] a =new int[] 1,2,3;
for(int i : a)
System.out.print(i);
希望可以帮到你,谢谢 参考技术A 你这是输出a[]数组的内存地址,应该改为
public class p177
public static void main(String[] args)
int[] a =new int[] 1,2,3;
for(int b: a)
System.out.print(b);
本回答被提问者采纳 参考技术B 嘿,你的System.out.print(a);放在哪 啊??况且这是打印这个数组,又不是打印数组里的元素!!还有,类命最好取有意义的,养成好习惯
至于你打印出来的内容,是因为数组在java中是一个对象 ,打印对象都是这种形式的!
应该是这样的:
public class p177
public static void main(String[] args)
int[] a =new int[] 1,2,3;
for(int index: a)
System.out.print(index);
追问
如果我要是输出1呢?怎么写
追答你是说输出索引为1的元素??
这种形式不行,需要得到特定元素只能用原始的那种循环方式,这种形式在虚拟机内部保存循环对象的索引,是用来输出全部元素的一种简便方式!
public class p177
public static void main(String[] args)
int[] a =new int[] 1,2,3;
for(int index=0;i<a.length;i++)
System.out.print(a[index]);
参考技术D a 是数组名,也只是一个数组引用变量,存放的内容是数组头元素的地址。
以上是关于关于java的foreach语法的主要内容,如果未能解决你的问题,请参考以下文章
java关于集合的遍历与增强for循环(foreach)的使用