导航:首页 > 编程语言 > javafor循环理解

javafor循环理解

发布时间:2021-02-25 20:06:05

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

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结束。

(1)javafor循环理解扩展阅读:

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” */

}

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

2. java 里面for 怎么理解

这种来写法是增强for循环,

for(int i = 0;i < s.length(); i++){
String str = s[i]; //当成数自组的写法
}
编译器会认为:

1.创建名称为str 的String变量。
2.将s的第一个元素赋给str 。
3.执行重复的内容。
4.赋值给下一个元素str 。
5.重复执行至所有的元素都被运行为止

优点:
这种写法让我们代码看起来更加的简洁
缺点话:
1. 只能顺次遍历所有元素,无法实现较为复杂的循环
2对于数组,不能方便的访问下标值;
3对于集合,与使用Interator相比,不能方便的删除集合中的内容(在内部也是调用Interator).
4 除了简单遍历并读取其中的内容外,不建议使用增强的for循环

3. java的for循环语句有点看不懂,求文字解释!!在线等回答。

for(int j=2 ; j<i ; j++){//质数是指只能被自身和1整除的数,所以从2开始循环
if(i%j == 0){//i是101开始到200的数,循环的去除以-小于自身-1的数,例如:101就是除以2,3,4...100,在这中间,如果有被整出,那么这个书就不是质数,所以,令f= false
f=false;
break;
}*/

我给你一个我回答过的找质数的程序:

public class Test {
public static void main(String[] args) {
//循环1000以内的数
for (int n=2;n<=1000;n++){
//给b初始值true
boolean b = true;
//如果循环拿到的数n不等于1,就进入下面循环
if (n != 1 ){
//i从大于1的第一个数也就是2开始,一次循环到比这个数n本身小的最大的数
//何为质数,除了1和他本身不能再被其他数整除。所以...这样循环
for (int i = 2; i < n; i++){
if (n % i == 0){//如果取余为0,也就是除了1和其本身有其他数可以乘除他,所以置为false
b = false;
//跳出当前循环,判断是否打印,并且到外面循环继续
break;
}

}
}
//如果b为true打印下面的质数
if (b){
System.out.println(n + "是质数");
}
}
}
}

4. JAVA中for循环的这种写法怎么理解

这是JAVA1.5 增强的for 循环的新特性。。(enhanced for loop)
所谓“增强的for 循环”,主要也是针对容器的。使用该项特性时,开发者可以将“利用iterator
遍历容器”的逻辑交给编译器来处理。例如下列代码:
void cancelAll(Collection c) {
for (Iterator i = c.iterator(); i.hasNext(); ) {
TimerTask tt = (TimerTask) i.next();
tt.cancel();
}
}
可以用增强的for 循环改写为:
void cancelAll(Collection c) {
for (Object o : c)
((TimerTask)o).close();
}
编译器判断对象c 是一个Collection 子对象(即是容器)之后,就会允许使用增强的for 循环
形式,并自动取到c 的迭代器,自动遍历c 中的每个元素。
可以看到,上面的代码中仍然有一个强制类型转换(((TimerTask)o).close();)。实际上,这
项特性应该普遍地与泛型结合,以获得最大的利益。结合泛型之后,上述代码变成:
void cancelAll(Collection c) {
for (TimerTask task : c)
task.cancel();
}

5. java 基于集合的for循环,java中for(;;)是什么意思怎么理解。

for(int i=0;i<3;i++){
System.our.println(i);
}
输出结果为:
0
1
2
第一个表示式:给 i 赋初始值
第二个表达式:判断i,如果符合这回个条件就执行循环体答里的程序,否则跳出循环;
第三个表达式:没执行完一次循环对i的操作,这里指的是没循环一次i加1

6. Java 中的for语句理解

J2SE5.0新特性之Foreach

C#中提供了Foreach的用法:
foreach (string item in f)

{

Console.WriteLine(item);

}

Java也增加了这样的功能:

package com.kuaff.jdk5;
import java.util.*;
import java.util.Collection;
public class Foreach

{
private Collection<String> c = null;

private String[] belle = new String[4];

public Foreach()

{
belle[0] = "西施";
belle[1] = "王昭君";
belle[2] = "貂禅";
belle[3] = "杨贵妃";
c = Arrays.asList(belle);
}

public void testCollection()
{
for (String b : c)
{
System.out.println("曾经的风化绝代:" + b);
}
}

public void testArray()
{
for (String b : belle)
{
System.out.println("曾经的青史留名:" + b);
}
}

public static void main(String[] args)
{
Foreach each = new Foreach();
each.testCollection();
each.testArray();
}
}

对于集合类型和数组类型的,我们都可以通过foreach语法来访问它。上面的例子中,以前我们要依次访问数组,挺麻烦:

for (int i = 0; i < belle.length; i++)
{
String b = belle[i];
System.out.println("曾经的风化绝代:" + b);
}
现在只需下面简单的语句即可:
for (String b : belle)
{
System.out.println("曾经的青史留名:" + b);
}

对集合的访问效果更明显。以前我们访问集合的代码:

for (Iterator it = c.iterator(); it.hasNext();)
{
String name = (String) it.next();

System.out.println("曾经的风化绝代:" + name);
}

现在我们只需下面的语句:
for (String b : c)
{
System.out.println("曾经的风化绝代:" + b);
}

Foreach也不是万能的,它也有以下的缺点:

在以前的代码中,我们可以通过Iterator执行remove操作。

for (Iterator it = c.iterator(); it.hasNext();)
{
itremove()
}

但是,在现在的foreach版中,我们无法删除集合包含的对象。你也不能替换对象。

同时,你也不能并行的foreach多个集合。所以,在我们编写代码时,还得看情况而使用它。

7. 谁给我讲下这个我怎么理解,JAVA中的FOR循环

for(int i=1;i<=7;i+=2){
int i=1这是循环的复初始值
i<=7循环判制断条件
i+=2即i=i+2每次累加2,直到i=7结束循环!
for(int kong=7;kong>i-1;kong--){
int kong=7;kong>i-1跟前面相同!
kong--是每次减少1!
说的不好大家别骂我呀!

8. 请问我对 java 中for循环语句的理解正确吗

	for(inti=0;i<1;i++){
System.out.println(i);
}
for(inti=0;i<1;++i){
System.out.println(i);
}

简单测试一下,这里只打印了0说明什么?说明先回执行的赋值然后答是判断,自增是在大括号结束后执行的

9. java中for循环

for{
每第一个循环进来都会执行里面的这个循环
for{
当里面的这个FOR循环完成后进入第专一个FOR的下一属轮循环

}
}

通俗点讲就是第一个FOR循环了第二个FOR几次,而第一个FOR每轮循环都要等里面的第二个FOR循环结束.

有帮助没?

10. Java里for循环语句如何解释

没有for循环语句,不解释

阅读全文

与javafor循环理解相关的资料

热点内容
韩国徐元有哪些电影 浏览:1
苹果手机能看的网站有哪些 浏览:756
u盘格式化存储更大文件 浏览:307
电脑网线未识别的网络连接电脑 浏览:101
岛国电影网址 浏览:735
linux互传文件 浏览:603
谷歌商店微信支付宝 浏览:965
一级动物和人电影有哪些 浏览:611
十部顶级原始部落电影 浏览:210
win10按键精灵连不上手机助手 浏览:586
东莞市经济数据是多少 浏览:910
编程会运用到哪些程序 浏览:662
游戏在c盘中哪个文件夹 浏览:53
三不直接分管出自哪个文件 浏览:426
公司网站在哪个时间设置比较好 浏览:539
linux安装后没网卡 浏览:275
提示空文件夹 浏览:906
家电清洗类app哪个好 浏览:334
尺度电影网址 浏览:389
dw悬浮窗口代码 浏览:184

友情链接