×

Java中for(:)的使用_java for :

前端技术网 前端技术网 发表于2024-01-27 21:27:36 浏览971 评论0

抢沙发发表评论

一、java中for循环的几种写法

以下为for循环的几种写法:

/***

Java中for(:)的使用_java for :

方法一:最普通的不加思考的写法

*<p>*优点:较常见,易于理解

*<p>*缺点:每次都要计算list.size()*/

for(int i= 0; i< list.size(); i++){

System.out.println(list.get(i));

}

Java中for(:)的使用_java for :

/***

方法二:数组长度提取出来

*<p>*优点:不必每次都计算

*<p>*缺点:

1、m的作用域不够小,违反了最小作用域原则

2、不能在for循环中操作list的大小,比如除去或新加一个元素*/

int m= list.size();

for(int i= 0; i< m; i++){

System.out.println(list.get(i));

}

/***

方法三:数组长度提取出来

*<p>*优点:

1、不必每次都计算

2、所有变量的作用域都遵循了最小范围原则

*<p>*缺点:

1、m的作用域不够小,违反了最小作用域原则

2、不能在for循环中操作list的大小,比如除去或新加一个元素*/

for(int i= 0, n= list.size(); i< n; i++){

System.out.println(list.get(i));

}

/***

方法四:采用倒序的写法

*<p>*优点:

1、不必每次都计算

2、所有变量的作用域都遵循了最小范围原则

*<p>*缺点:

1、结果的顺序会反

2、看起来不习惯,不易读懂

*<p>*适用场合:与显示结果顺序无关的地方:比如保存之前数据的校验*/

for(int i= list.size()- 1; i>= 0; i--){

System.out.println(list.get(i));

}

/***

方法五:Iterator遍历

*<p>*优点:简洁

*<p>*缺点:*/

for(Iterator<String> it= list.iterator(); it.hasNext();){

System.out.println(it.next());

}

/***方法六:

jdk1.5新写法

*<p>*优点:简洁结合泛型使用更简洁*

<p>*缺点:jdk1.4向下不兼容*/

for(Object o: list){

System.out.println(o);

}

二、java中for嵌套for循环的详细讲解

就是一个执行循序问题,先执行外面的循环:

1 for(int i=0;i<10;i++){

2 for(int j=0;j<3;j++){

3 System.out.print("i*j="+i*j);

4}

5}

6....

....

当开始循环的时候,i=0,然后继续运行,j=0,输出i*j=0

此时循环从j=1,i仍旧为0, j的值为2

输出结果为i*j=0,此时j++,j的值为2

循环从j=2,i仍旧为0,输出结果为i*j=0

当j=3,不满足j<3跳出内部for循环,执行外部for循环第二行代码,此时i++,i的值变为1

循环i=1, j=0时,结果为i*j=0

i=1,j=1结果为i*j=1;

;;;;;;

;;;;;

当i循环到9,j=2是,输出循环结果为i*j=18

当i=10,不满足i<10,跳出外部循环,执行第6行

我只是拿一个例子给你讲解的,我像这样比给你讲解概念好理解。

三、for在java里怎么用

格式:

for(initialization;condition;increment)statement;

其中:

initialization是for循环的初始部分,它用来设置循环控制变量,并制初值;

condition是条件判断部分,由该条件判断的真假决定for循环合时推出;

increment是增量部分,每执行一次循环后,由增量部分决定循环控制的变化情况;

(这三部分必须用分号隔开)

statement称为for循环的循环体,它可以是一条语句也可以是一个语句块。

执行步骤:

首先执行初始化部分,然后执行条件判断部分,若条件为真,则执行for循环的statement语句,

当循环的statement语句执行完后执行增量部分,然后再执行条件判断部分,为真,则继续执行

循环,否则执行for循环后面的语句。

例:for(i=1;i<=10;i++)sytem.out.println(i);

1.当初始化、条件判断、增量三部分为空时,就实现了一种无限循环:

for(;;)statement;

但实际中,这样的无限循环往往并不是真的让它无限执行下去,只要在statement中在合适的条件下执行

break语句就可以跳出循环体。

2.无循环体的for循环,此时不提供statement:

for(t=0;t<some_value;t++);

这种循环一般用来产生时间延迟。

3.JAVA语言不支持逗号运算符,但在循环初始化和增量两部分允许采用逗号,这样也就可以使用由逗号

隔开多个表达式,从而在for循环中模拟了逗号运算符的功能,但注意,条件判断部分必须是一个值为布尔

型的表达式:

int i;

string s;

for(i=0,s="testing";

(i<10&&(s.length()>=1);

i++,s=s.substring(1)

{

system.out.println(s)

}

4.JAVA的for循环允许在初始化部分零食说明局部循环变量:

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

system.out.println(" a ["+ i+"]="+my_array[i]);

用这种方法定义的零食循环变量的作用域只在for循环体内,换句话说,它们的作用域在for循环体、

初始化、条件测试和增量中有效,在定义他们的循环外使用的有相同名字的变量不会受这些临时的

循环变量的影响。

注意:JAVA语法只允许程序员在初始化部分要么定义多个由逗号隔开的表达式,要么定义具有相同

类型的由逗号隔开的多个变量,但不能混用。

int j=3;

fot(int=0, j=0;i<j;i++,j--)

system.out.println("k="+i*j);

system.out.println("j=",j);

在for循环的初始化部分说明了 i和 j两个循环变量,并将他们的值设置为0,在循环外,使用了一个

与循环变量 j相同的变量,但 for循环对 j的值没有影响,屏幕上输出的 j值还是3.

四、java 里 出现这样的for循环 是 for(A:B){ }

1.Collection是接口,是容器类的总接口。像那些子接口:set,Queue,List等都继承了这个接口,像实现类:HashSet、ArrayList等都实现了对应的Set、List等接口。

要获取里面的元素很简单,在方法体中,像你代码中的“RosterEntry entry”对象“entry”就是。

2.for(:){……}这个是个JDK1.5的增强for循环也叫for-each.是为了方便遍历数组和collection的.由于collection都实现了Iterable(可迭代的)接口,所以可以用for-each来遍历容器类,示例一:

List<String> list=new ArrayList<String>();

list.add("a");

list.add("b");

list.add("c");

for(String str: list){

System.out.println(str);

}

另外我最常用的就是遍历数组,示例二

int[] arr= new int[3];

arr[0]= 1;

arr[1]=2;

arr[2]= 3;

for(int i: arr){

System.out.println(i);

}

感谢您的阅读!希望本文对解决您关于Java中for(:)的使用_java for :的问题有所帮助。如果您还有其他疑问,欢迎随时向我们提问。