JAVA中的for循环几种使用方法讲解

 更新时间:2021年09月27日 08:55:14   作者:MoLC  
这篇文章主要介绍了JAVA中的for循环几种使用方法讲解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

一般写法

1.遍历数组的传统方式

/* 建立一个数组 */
int [] integers={1,2,3,4};
/* 开始遍历 */
for (int j=0;j<integers.length;j++){
 int i = integers[j];
     System.out.println(i);
}

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);
 }

第二种写法

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

3.遍历数组的简单方式

/* 建立一个数组 */
 int[] integers = {1, 2, 3, 4};
 /* 开始遍历 */
 for (int i : integers) {
     System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */
 }

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

/* 建立一个数组 */
 int[] integers = {1, 2, 3, 4};
 /* 开始遍历 */
 for (int 变量名甲 = 0; 变量名甲 < integers.length; 变量名甲++) {
     System.out.println(integers[变量名甲]); /* 依次输出“1”、“2”、“3”、“4” */
 }

4.遍历Collection的简单方式

/* 建立一个Collection */
 String[] strings = {"A", "B", "C", "D"};
 Collection list = java.util.Arrays.asList(strings);
 /* 开始遍历 */
 for (Object str : list) {
     System.out.println(str); /* 依次输出“A”、“B”、“C”、“D” */
 }

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

/* 建立一个Collection */
 String[] strings = {"A", "B", "C", "D"};
 Collection stringList = java.util.Arrays.asList(strings);
 /* 开始遍历 */
 for (Iterator 变量名乙 = list.iterator(); 变量名乙.hasNext();) {
     Object str = 变量名乙.next();
     System.out.println(str); /* 依次输出“A”、“B”、“C”、“D” */
 }

防止在循环体里修改循环变量

5.禁止重新赋值

int[] integers = {1, 2, 3, 4};
 for (final int i : integers) {
     i = i / 2; /* 编译时出错 */
 }

这只是禁止了对循环变量进行重新赋值。给循环变量的属性赋值,或者调用能让循环变量的内容变化的方法,是不被禁止的。

在这里插入图片描述

6.允许修改状态

Random[] randoms = new Random[]{new Random(1),new Random(2), new Random(3)};
 for (final Random r : randoms) {
     r.setSeed(4); /* 将所有Random对象设成使用相同的种子 */
     System.out.println(r.nextLong()); /* 种子相同,第一个结果也相同 */
 }

类型相容问题

7.使用和要被遍历的数组中的元素相同类型的循环变量

int[] integers = {1, 2, 3, 4};
 for (int i : integers) {
     System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */
 }

8.使用和要被遍历的Collection中的元素相同类型的循环变量

Collection< String> strings = new ArrayList< String>();
  strings.add("A");
  strings.add("B");
  strings.add("C");
  strings.add("D");
  for (String str : strings) {
  System.out.println(str); /* 依次输出“A”、“B”、“C”、“D” */
  }

循环变量的类型可以是要被遍历的对象中的元素的上级类型。 例如,用int型的循环变量来遍历一个byte[]型的数组,用Object型的循环变量来遍历一个Collection< String>(全部元素都是String的Collection)等。

9.使用要被遍历的对象中的元素的上级类型的循环变量

String[] strings = {"A", "B", "C", "D"};
Collection< String> list = java.util.Arrays.asList(strings);
for (Object str : list) {
System.out.println(str);/* 依次输出“A”、“B”、“C”、“D” */
}

10.使用能和要被遍历的对象中的元素的类型自动转换的类型的循环变量

int[] integers = {1, 2, 3, 4};
for (Integer i : integers) {
System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */
}

注意,这里说的“元素的类型”,是由要被遍历的对象的决定的――如果它是一个Object[]型的数组,那么元素的类型就是Object,即使里面装的都是String对象也是如此。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mybatis group by substr函数传参报错的解决

    mybatis group by substr函数传参报错的解决

    这篇文章主要介绍了mybatis group by substr函数传参报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • JavaEE Spring MyBatis如何一步一步实现数据库查询功能

    JavaEE Spring MyBatis如何一步一步实现数据库查询功能

    这篇文章主要介绍了JavaEE Spring MyBatis如何一步一步实现数据库查询功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • java验证用户是否已经登录 java实现自动登录

    java验证用户是否已经登录 java实现自动登录

    这篇文章主要介绍了java验证用户是否已经登录,java实现自动登录,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • 如何将jdk10降版本到jdk1.8

    如何将jdk10降版本到jdk1.8

    这篇文章主要介绍了如何将jdk10降版本到jdk1.8问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Java中SimpleDateFormat方法超详细分析

    Java中SimpleDateFormat方法超详细分析

    这篇文章主要给大家介绍了关于Java中SimpleDateFormat方法超详细分析的相关资料,SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • 浅谈SpringSecurity重写默认配置

    浅谈SpringSecurity重写默认配置

    这篇文章主要介绍了SpringSecurity重写默认配置,包括注入Bean、扩展WebSecurityConfigurerAdapter、重写端点授权配置及实现AuthenticationProvider,感兴趣的可以了解一下
    2025-01-01
  • Java 实战项目锤炼之仿天猫网上商城的实现流程

    Java 实战项目锤炼之仿天猫网上商城的实现流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+jsp+servlet+mysql+ajax实现一个仿天猫网上商城项目,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • Java Process与Runtime()的使用及调用cmd命令阻塞的解决方案

    Java Process与Runtime()的使用及调用cmd命令阻塞的解决方案

    这篇文章主要介绍了Java Process与Runtime()的使用及调用cmd命令阻塞的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • java实现学生教师管理系统

    java实现学生教师管理系统

    这篇文章主要为大家详细介绍了java实现学生教师管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • Java 正确地从类路径中获取资源

    Java 正确地从类路径中获取资源

    Java 有能力从类路径中查找获取资源,可将资源放在 CLASSPATH 里,也可打包到 Jar 中。本文将具体讲述获取资源的步骤,感兴趣的朋友可以了解下
    2021-05-05

最新评论