Java中for循环的执行过程分析
本文实例分析了Java中for循环的执行过程。分享给大家供大家参考。具体分析如下:
public class Test01{ public static void main(String[] args) { int i = 0 ; for(foo('A');foo('B')&&i<3;foo('C')){ i++ ; foo('D') ; } } public static boolean foo(char c){ System.out.print(c + " "); return true ; } }
请问这个程序输出的结果是什么?
没错,是:A B D C B D C B D C B
为什么是这样呢?因为for循环先执行第一个分号前的也就是‘A',再执行‘B',然后符合条件就执行for循环中的代码
接着跳到第二个分号后的‘C'这执行,执行完了再比较‘B'是否满足条件,如果满足则继续进入for循环
也就是BDC一直循环执行,直到运行B时,后面的条件不满足了为止,输出最后一个‘B'。
看到这里,你是否对for循环有了一个深刻的认识了呢?
希望本文所述对大家的Java程序设计有所帮助。
相关推荐
-
Java中的两种for循环介绍
复制代码 代码如下: package com.zxd.test; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import com.zxd.bea
-
Java for循环的几种用法分析
J2SE 1.5提供了另一种形式的for循环.借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象.本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类,并解释和这一机制的一些常见问题. 在Java程序中,要"逐一处理"――或者说,"遍历"――某一个数组或Collection中的元素的时候,一般会使用一个for循环来实现(当然,用其它种类的循环也不是不可以,只是不知道是因为for这个词的长度比较短,还是因为for这个词
-
java增强for循环的实现方法
如下所示: package cn.jdk.foreach; import java.util.HashMap; import java.util.Map; public class ForEachTest { public static void main(String[] args) { int[] arr = {1,2,3}; for(int a:arr){ System.out.println(a+"\t"); } System.out.println("=======
-
浅析java的foreach循环
使用foreach循环遍历数组和集合时,无需获得数组和集合的长度,无须根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合的每一个元素. 复制代码 代码如下: foreach的语句格式: for(type variableName : array|connection){ //variable自动迭代访问每一个元素} 例子: 复制代码 代码如下: public class ForEachTest{public static void main(String[] arg
-
java新特性之for循环最全的用法总结
1. 增强for概述 增强for循环,也叫Foreach循环,用于数组和容器(集合类)的遍历.使用foreach循环遍历数组和集合元素时,无需获得数组和集合长度,无需根据索引来访问数组元素和集合元素,大大提高的效率,代码也简洁不少. 2. Oracle官网的解释 So when should you use the for-each loop? Any time you can. It really beautifies your code. Unfortunately, you cannot
-
Java中for循环的执行过程分析
本文实例分析了Java中for循环的执行过程.分享给大家供大家参考.具体分析如下: public class Test01{ public static void main(String[] args) { int i = 0 ; for(foo('A');foo('B')&&i<3;foo('C')){ i++ ; foo('D') ; } } public static boolean foo(char c){ System.out.print(c + " "
-
java中for循环执行的顺序图文详析
for循环基础 for循环是最灵活也是最常用的循环结构,表达式一般如下: for(条件表达式1:条件表达式2:条件表达式3){ 语句块: } 接下来详细介绍Java for循环执行顺序的相关内容,先看看一道面试题, 来自小米笔试 static boolean foo(charc) { System.out.print(c); return true; } public static void main(String[] args) { int i =0; for(foo('B');foo('A'
-
Java中的循环笔记整理(必看篇)
一.循环的类型: 1.for循环 class For{ public static void main(String[] args) { System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); System.out.println("Hello World!"); Sy
-
Java中保证线程顺序执行的操作代码
只要了解过多线程,我们就知道线程开始的顺序跟执行的顺序是不一样的.如果只是创建三个线程然后执行,最后的执行顺序是不可预期的.这是因为在创建完线程之后,线程执行的开始时间取决于CPU何时分配时间片,线程可以看成是相对于的主线程的一个异步操作. public class FIFOThreadExample { public synchronized static void foo(String name) { System.out.print(name); } public static void
-
Java中CyclicBarrier 循环屏障
目录 一.简介 二.CyclicBarrier的使用 CyclicBarrier 应用场景 模拟合并计算场景 模拟“人满发车”的场景 三.CyclicBarrier 源码分析 CyclicBarrier 流程 几个常见的问题? CyclicBarrier 与 CountDownLatch的区别 一.简介 CyclicBarrier 字面意思回环栅栏(循环屏障),它可以实现让一组线程等待至某个状态(屏障点)之后再全部同时执行.叫做回环是因为当所有等待线程都被释放以后,CyclicBarrier可以
-
如何在Java中调用python文件执行详解
目录 一.Java内置Jpython库(不推荐) 1.1 下载与使用 1.2 缺陷 二.使用Runtime.getRuntime()执行脚本⽂件 2.1 使用 2.2 缺陷 三.利用cmd调用python文件 3.1 使用 3.2 优化 总结 一.Java内置Jpython库(不推荐) 1.1 下载与使用 可以在官网下载jar包,官网:http://ftp.cuhk.edu.hk/pub/packages/apache.org/ 或者使用maven进行jar包下载 <dependency> &
-
Java中Map循环遍历的五种方法实现
目录 1.创建一个Enum 2.开始遍历 方法一 方法二 方法三 方法四 方法五 因为Map比较常用,所以今天来总结下Map取值比较常用的几种遍历方法. 1.创建一个Enum public enum FactoryStatus { BAD(0,"ou"), GOOD(1,"yeah"); private int status; private String description; FactoryStatus(int stat
-
全面掌握Java中的循环控制语句与条件判断语句的使用
循环控制 可能存在一种情况,当我们需要执行的代码块数次,通常被称为一个循环. Java有非常灵活的三循环机制.可以使用以下三种循环之一: while 循环 do...while 循环 for 循环 截至Java5,对增强的for循环进行了介绍.这主要是用于数组. while 循环 while循环是一个控制结构,可以重复的特定任务次数. 语法 while循环的语法是: while(Boolean_expression) { //Statements } 在执行时,如果布尔表达式的结果为真,则循环中
-
在Java中自由块的执行顺序
java中的自由块分为静态的自由块和非静态的自由块. 非静态自由块的执行时间是:在执行构造函数之前. 静态自由块的执行时间是:class文件加载时执行. 非静态自由块可以多次执行,只要初始化一个对象就会执行,但是静态自由块只会在类装载的时候执行一次,一般用来初始化类的静态变量的值. 每次初始化一个对象,都会导致一次非静态块的执行. 如果涉及到继承,则是:首先执行父类的非静态块,然后是父类的构造函数,接着是自己的自由块,最后是自己的构造函数. 静态块的执行时机是在class文件装载的时候,clas
-
举例说明Java中代码块的执行顺序
前言 今天在看Android ContentProvider实现的时候,突然想到了Java类在new的过程中,静态域.静态块.非静态域.非静态块.构造函数的执行顺序问题.其实这是一个很经典的问题,非常考察对Java基础知识的掌握程度.很多面试过程中相信也有这样的问题,趁着周末有时间复习一下. 结论 这里先把整理好的结论抛给大家,然后我在写个程序来验证我们的结论.在Java类被new的过程中,执行顺序如下: 实现自身的静态属性和静态代码块.(根据代码出现的顺序决定谁先执行) 实现自
随机推荐
- 数据库设计规范化的五个要求 推荐收藏
- Java编程调用微信接口实现图文信息推送功能
- [Perl]文字/代码批量替换工具
- 如何解决Oracle EBS R12 - 以Excel查看输出格式为“文本”的请求时乱码
- 深入sizeof的使用详解
- 使用php get_headers 判断URL是否有效的解决办法
- 驱动事件的addEvent.js代码
- 在Python中使用SimpleParse模块进行解析的教程
- Python减少循环层次和缩进的技巧分析
- js中更短的 Array 类型转换
- javascript实现无缝上下滚动特效
- AJAX聊天室V1.0发布
- javascript HTML+CSS实现经典橙色导航菜单
- sql 百万级数据库优化方案分享
- js+ajax实现获取文件大小的方法
- jquery与google map api结合使用 控件,监听器
- 用php+mysql一个名片库程序
- C# 实现与现有.NET事件桥接简单实例
- 微信小程序实现提交input信息到后台的方法示例
- 微信小程序提取公用函数到util.js及使用方法示例