「java三种for循环」java for 循环
本篇文章给大家谈谈java三种for循环,以及java for 循环对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java的for循环、增强for循环、lambda表达式中的forEach 三种方式优缺点比较?
- 2、java中for循环的几种写法
- 3、java的这三种for循环有什么区别?
- 4、用java实现三种方法循环输出九九乘法表:
Java的for循环、增强for循环、lambda表达式中的forEach 三种方式优缺点比较?
个人理解不喜勿喷。
简单的来说其实三种并没有什么太大的区别,一般情况下的性能也差不多。
for循环:
优点:可以直接获取下标,能更精确的定位。下标变量属于循环内变量,循环结束会自动回收。下标变量的步长可以自定,比较灵活。
缺点:需要根据下标才会获取循环内容。只能循环有序集合和数组,如Set和Map就无法遍历。
增强for:
优点:循环直接进行赋值,直接得到循环对象,不需要通过下标获取。可以遍历所有集合类型和数组。
缺点:循环有序集合时无法定位下标,需要在循环外层定义下标。无法遍历Map类型。
lambda:
优点:可以对所有集合类型和Map进行循环,特别是支持对Map进行循环,循环也是直接进行赋值,直接得到循环对象。
缺点:循环有序集合时无法定位下标,无法遍历数组,因为理论上来说他是属于迭代器的一种。同时因为循环体属于一个封闭范围的线程,在循环体内使用部分循环体外的变量需要加final关键字,很不方便。
另外说到了迭代器,可以参考lambda,不过写法就没lmbda那么方便了,不过迭代器有很多功能是循环比不上的,可以去看看。
java中for循环的几种写法
以下为for循环的几种写法:
/***
方法一:最普通的不加思考的写法
* p*优点:较常见,易于理解
* p* 缺点:每次都要计算list.size()*/
for (int i = 0; i list.size(); i++) {
System.out.println(list.get(i));
}
/***
方法二:数组长度提取出来
* 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 (IteratorString 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循环
这个应该没啥好说的
第二种是第一种for循环的变种也可以说是简写
只能对数组或者是List这样的集合使用
这个是java
1.5新加入的
第三种不是for循环。使用的是迭代器
iterator
像是List这样的集合
一般多是用这种方法
用java实现三种方法循环输出九九乘法表:
for循环的结构:for(表达式 1;表达式 2;表达式 3) { 循环体 }
表达式 1:一般为赋值表达式;
表达式 2:一般为关系表达式或逻辑表达式;
表达式 3:一般为赋值表达式或自增、自减表达式,用以修改循环变量的值。
while循环的结构: while(表达式) 循环体
1、while 是C语言中的关键字;
2、圆括号中的表达式可以是C语言中任意合法的表达式,不能为空,用它来控 制循环体是否执行;
3、循环体是一条语句,若需要使用多条语句,应使用复合语句(用{ }括起来);
4、若条件开始直接为假,则直接跳出循环。
do...while语句为先执行后判断表达式的值。
1、do 是C语言的关键字,必须和while一起使用;
2、循环由do开始,由while结束;
3、循环体是一条语句,若需要使用多条语句,应使用复合语句(用{ }括起来);
4、圆括号中的表达式可以是C语言中任意合法的表达式,不能为空,用它来控 制循环体是否执行;
扩展资料:
一般形式为:
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。
俩“;”号之间的条件表达式是一个关系表达式, 其为循环的正式开端,当条件表达式成立时执行中间循环体。
执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体 。
执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。
Pascal语言中的for循环:
for 循环变量:=初值 to/downto 终值 do
begin
循环体
end;
循环变量从起点到终点每次加1或减1(to 为加1,downto为减1)。
Pascal
while 条件 do 语句
意为当条件符合时,接着做下面的语句;不符合时,退出循环。
C
do 语句 while(条件);
while(条件) 语句;
C++
while(条件) 语句;
do 语句 while(条件);
Java
while(条件) {语句;}
do {语句;} while(条件);
二者的区别是do-while最少会被执行一次。
循环中可以使用continue结束当前循环,回到循环开始处开始下一次循环。也可以用break跳出整个循环。
javascript
JavaScript中while循环的目的是为了反复执行语句或代码块。
只要指定条件为true,循环就可以一直执行代码块。
JavaScript中while循环的语法如下:
while (条件) {需执行的代码 };
do {需执行的代码 } while (条件);
注意:do...while 循环是 while 循环的变种。该循环程序在初次运行时会首先执行一遍其中的代码,然后当指定的条件为 true 时,它会继续这个循环。所以可以这么说,do...while 循环为执行至少一遍其中的代码,即使条件为 false,因为其中的代码执行后才会进行条件验证。
PHP
while 循环是 php 中最简单的循环类型。它和 C 语言中的 while 表现得一样。语法如下:
while(expr){
statement
}
参考资料来源:百度百科--for循环
参考资料来源:百度百科--while
java三种for循环的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java for 循环、java三种for循环的信息别忘了在本站进行查找喔。
发布于:2022-11-29,除非注明,否则均为
原创文章,转载请注明出处。