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循环语句,不解释