基础三:控制执行流程

简介: 基础三:控制执行流程

概述


在Java中,涉及的关键字包括:if-else , while , do-while, for, return, break和switch.

Java并不支持goto语句。


true和false


所有条件语句都利用条件表达式的真或假来决定执行的路径。


Java不允许我们将一个数字作为布尔值使用,虽然在C和C++中是允许的。

比如if(a)中,那么首先必须用一个条件表达式将其转换成布尔值,例如if(a!=0)


if-else


控制程序流程的最基本的形式,其中else是可选的。


if(Boolean-expression)
    statement


或者

if(Boolean-expression)
    statement
else
    statement


迭代


while do-while和 for用来控制循环,有时将他们划分为迭代语句。

语句会重复执行,直到起控制作用的布尔表达式得到“假”的结果为止。

while

while的循环格式如下

while(Boolean-expression)
    statement


例如: 产生随机数,直到符合特定的条件为止

public class WhileTest{
    static boolean getConditon() throws Exception {
        boolean result = Math.random() < 0.99;
        System.out.println(result);
        Thread.sleep(1000);
        return result;
    }
    public static void main(String[] args) throws Exception {
        while (getConditon()) {
            System.out.println("in while");
        }
        System.out.println("out while");
    }
}



random()的作用是 产生0和1之间的数(包括0 但不包括1)。

do-while

格式:

do
    statement
while(Boolean-expression)


while和do-while的唯一区别就是: do-while中的语句至少会执行一次,即使表达式第一次就计算为false。

而在while中如果第一次的条件为false,其中的语句根本不会执行。

在实际应用中,while更常用一些。


for循环

格式:

for(initialization ; Boolean-expression ; step)
    statement


初始化(initialization)表达式

布尔表达式(Boolean-expression)

步进(step)

每次迭代前都会测试布尔表达式,如果结果是false,就会执行后面的代码,每次循环结束,执行一次步进。

    public static void main(String[] args) throws Exception {
        for (char c = 0; c < 128; c++) {
            if (Character.isLowerCase(c)) {
                System.out.println("value:" + (int) c + " ,character:" + c);
            }
        }
    }

逗号操作符


注意不是逗号分隔符,而是逗号操作符。

Java中唯一用到逗号操作符的地方就是for循环的控制表达式。

在控制表达式的初始化和步进控制部分,可以使用一系列由逗号分隔的语句,而且那些语句均会独立执行。


20160509222419250.png

在一个控制表达式中,定义多个变量的这种能力只限于for循环适用,在其他任何选择或者迭代语句中都不能使用这种方式。


Foreach


JavaSE5中引入了一种更加简介的for语法用于数组和容器。


不必创建int变量去对由访问项构成的序列进行技术,foreach会自动产生每一项

return


两个作用

  1. 指定一个方法的返回值(假设它没有void返回值)
  2. 退出当前方法,并返回那个值


break和continue

break用于强行退出循环,不执行循环中剩下的语句

continue则停止当前的迭代,然后退出循环起始处,开始下一次迭代。

20160509230337705.png


switch

switch(integral-selector){
    case interal-value: statement ; break;
    case interal-value: statement ; break;
    case interal-value: statement ; break;
    case interal-value: statement ; break;
    // .....
    default : statement ;
}


相关文章
|
8月前
|
SQL 消息中间件 缓存
执行流程优化总结
本文总结了五种优化方法:1) 将循环内的IO和远程调用批量化,减少重复请求;2) 优化数据库SQL和索引以提升查询速度;3) 对常用查询结果进行缓存;4) 并行化串行远程调用(注意可能引发内存问题和上下文丢失);5) 将非核心功能如消息通知、积分操作异步化,通过消息队列处理。
70 2
|
8月前
|
SQL XML Java
MyBatis初探:揭示初始化阶段的核心流程与内部机制
MyBatis初探:揭示初始化阶段的核心流程与内部机制
63 2
MyBatis初探:揭示初始化阶段的核心流程与内部机制
|
8月前
|
前端开发 Java 定位技术
生活小事件(SpringMVC主要的组件及作用和执行流程)
Spring MVC 的主要组件包括 DispatcherServlet(核心,请求调度)、HandlerMapping(URL 映射到处理器)、HandlerAdapter(统一执行处理器)、Handler(处理业务逻辑,通常为 @Controller 类)、ViewResolver(视图解析)和 View(渲染输出)。通过这些组件的协作,Spring MVC 实现了从接收请求到返回响应的流程,类似于警察处理交通违规的协调过程。
|
Java
线程池的核心参数及执行原理你知道嘛?
线程池是一种管理和复用线程的机制,它可以提高线程的利用率和系统的性能。
440 0
|
8月前
|
算法 Linux
易懂的方式讲解ARM中断原理以及中断嵌套方法
易懂的方式讲解ARM中断原理以及中断嵌套方法
320 0
|
缓存 Java 数据中心
Hystrix执行时内部原理
Hystrix执行时内部原理
61 0
|
Java
40. 说一下线程池内部工作原理
40. 说一下线程池内部工作原理
97 0
40. 说一下线程池内部工作原理
|
缓存 JSON NoSQL
180628-动态任务执行框架想法篇
对于后端而言,数据订正可算是非常非常频繁且常见的事情了,常见的有DB、缓存、内存等数据源中的数据订正,对于非应用内存而言,其他有实体或者可以直接通过官方的提供的控制台连接进行修改的数据订正,相对比较简单,而对于应用内存,如果没有应用内通知并处理相关逻辑,多半就只能重启应用来实现刷新内存缓存了
174 0
180628-动态任务执行框架想法篇
|
监控 安全 Java
从源码的角度解析线程池运行原理
在讲解完线程池的构造参数和一些不常用的设置之后,有些同学还是想继续深入地了解线程池的原理,所以这篇文章科代表会带大家深入源码,从底层吃透线程池的运行原理。
136 0
从源码的角度解析线程池运行原理

热门文章

最新文章