java里面的for循环的格式: for(String s : arr)是什么意思,能否详细...

发布网友 发布时间:2022-04-23 05:08

我来回答

8个回答

热心网友 时间:2022-04-23 14:59

分析如下:

for的循环语句
for(String s : args)这个格式是foreach的形式,表示取出数组args[]中的每一个元素,就是循环一次就依次取出一个元素赋值给s,知道取完为止
java中的foreach也是用for表示
具体语法分两种:

第一种-数组
for(type var : arr) {
//循环体
}
示例(这里以List为例):
List<String> list = new ArrayList<String>();
for(String item : list){
System.out.println("循环元素:" + item);
}
第二种-非数组类可迭代对象

for(type var : coll) {
//循环体
}
示例:
Map<String, String> map = new HashMap<String, String>();
for(Entry<String, String> item : map.entrySet()){
System.out.println("循环元素 key:" + item.getKey() + " value:" + item.getValue());
}

拓展资料

编程环境

1、DK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK 。

2、另外,可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境 [14]  。

3、JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可 [15]  。

参考资料来源:百度百科:Java

热心网友 时间:2022-04-23 16:17

for的循环语句for(String s : args)这个格式是foreach的形式,表示取出数组args[]中的每一个元素,就是循环一次就依次取出一个元素赋值给s,知道取完为止java中的foreach也是用for表示具体语法分两种:

第一种-数组for(type var : arr) {//循环体}示例(这里以List为例):List<String> list = new ArrayList<String>();for(String item : list){System.out.println("循环元素:" + item);}

第二种-非数组类可迭代对象for(type var : coll) {//循环体}示例:Map<String, String> map = new HashMap<String, String>();for(Entry<String, String> item : map.entrySet()){System.out.println("循环元素 key:" + item.getKey() + " value:" + item.getValue());}

其实本质上和for(int i=0;i<length;i++)没太大区别,但是for(String s : arr)中的arr一定是字符串数组,每次循环取一个字符串出来赋值给s,直到arr数组长度-1结束。

扩展资料:

Java for循环的几种用法:

在Java程序中,要“逐一处理”或者说,“遍历”某一个数组或Collection中的元素的时候,一般会使用一个for循环来实现(当然,用其它种类的循环也不是不可以,只是不知道是因为for这个词的长度比较短,还是因为for这个词的含义和这种操作比较配,在这种时候for循环比其它循环常用得多)。

对于遍历数组,这个循环一般是采取这样的写法:

清单1:遍历数组的传统方式

复制代码 代码如下:

/* 建立一个数组 */

int[] integers = {1, 2, 3, 4};

/* 开始遍历 */

for (int j = 0; j < integers.length; j++) {

int i = integers[j];

System.out.println(i);

}

而对于遍历Collection对象,这个循环则通常是采用这样的形式:

清单2:遍历Collection对象的传统方式

复制代码 代码如下:

/* 建立一个Collection */

String[] strings = {"A", "B", "C", "D"};

Collection stringList = java.util.Arrays.asList(strings);

/* 开始遍历 */

for (Iterator itr = stringList.iterator(); itr.hasNext();) {

Object str = itr.next();

System.out.println(str);

}

而在Java语言的最新版本――J2SE
1.5中,引入了另一种形式的for循环。借助这种形式的for循环,现在可以用一种更简单地方式来进行遍历的工作。

1、 第二种for循环

不严格的说,Java的第二种for循环基本是这样的格式:

for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体

借助这种语法,遍历一个数组的操作就可以采取这样的写法:

清单3:遍历数组的简单方式

复制代码 代码如下:

/* 建立一个数组 */

int[] integers = {1, 2, 3, 4};

/* 开始遍历 */

for (int i : integers) {

System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */

}

这里所用的for循环,会在编译期间被看成是这样的形式:

清单4:遍历数组的简单方式的等价代码

复制代码 代码如下:

/* 建立一个数组 */

int[] integers = {1, 2, 3, 4};

/* 开始遍历 */

for (int 变量名甲 = 0; 变量名甲 < integers.length; 变量名甲++) {

System.out.println(integers[变量名甲]); /* 依次输出“1”、“2”、“3”、“4” */

}

这里的“变量名甲”是一个由编译器自动生成的不会造成混乱的名字。

参考资料来源:百度百科:for循环

热心网友 时间:2022-04-23 17:51

for(String s : arr)遍历了数组arr里面的所有元素。增强型for循环使用起来比较方便,代码也比较简单,如果只是操作集合中元素的而不使用索引的话,建议用此方法。对于普通for循环,如果需要使用索引进行其它操作的话,建议用这个。

for(String s : arr)相当于

for(int i=0;i<arr.length();i++){

String s = arr[i];

}

扩展资料:

增强for循环与普通for循环区别:

增强for循环必须有被遍历的目标(如集合或数组)。

普通for循环遍历数组的时候需要索引。

增强for循环不能获取下标,所以遍历数组时最好使用普通for循环。

增强for循环特点:

书写简洁。

对集合进行遍历,只能获取集合元素,不能对集合进行操作,类似迭代器的简写形式,但是迭代器可以对元素进行remove操作(ListIterator可以进行增删改查的操作)。



热心网友 时间:2022-04-23 19:43

其实本质上和for(int i=0;i<length;i++)没太大区别,但是for(String s : arr)中的arr一定是字符串数组,每次循环取一个字符串出来赋值给s,直到arr数组长度-1结束。

热心网友 时间:2022-04-23 21:51

增强循环 。
jdk 1.5 中是这么用的 : for(int a : arr) { }
jdk 1.6 进行了规范,一般用作 : foreach (int a : arr) { }
只是改了下名, c/c# 与java 相互学习的结果 。

热心网友 时间:2022-04-24 00:15

对数组中的每一个元素执行循环体内容。
等价于for(int i = 0; i < arr.length; i++) {String s = arr[i]; 循环体内容;}

热心网友 时间:2022-04-24 02:57

这种for循环 是 java 增强的for 是jdk1.5 新增的特性

简化了集合的遍历。假设我们要遍历一个集合对其中的元素进行一些处理。典型的代码为:
void processAll(Collection c){
for(Iterator i=c.iterator(); i.hasNext();){
MyClass myObject = (MyClass)i.next();
myObject.process();
}
}
  使用For-Each循环,我们可以把代码改写成:
void processAll(Collection<MyClass> c){
for (MyClass myObject :c)
myObject.process();
}
  这段代码要比上面清晰许多,并且避免了强制类型转换。

热心网友 时间:2022-04-24 05:55

JDK5的新特性,就相当于用s去遍历arr

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com