1.顺序结构

顺序结构较为简单,即自上而下顺序执行程序。

2.选择结构

2.1.if else结构

语法:

  1. if (布尔表达式) {
  2. //表达式为true时执行
  3. } else {
  4. //表达式为false时执行
  5. }

例如:

  1. public class TestIfElse {
  2. public static void main(String[] args) {
  3. int i = 20;
  4. if (i > 20) {
  5. System.out.println("i > 20");
  6. } else {
  7. System.out.println("i 不大于 20");
  8. }
  9. }
  10. }

在这种情况下我们只能判断两种情况,条件满足和条件不满足,当条件很多时怎么办?

这时有个if else的进阶版:

  1. if (布尔表达式1) {
  2. //布尔表达式1为true时执行
  3. } else if (布尔表达式2) {
  4. //布尔表达式2为true时执行
  5. } else if (布尔表达式3) {
  6. //布尔表达式3为true时执行
  7. } else {
  8. //以上表达式都不为true时执行
  9. }

当然,if else也可以嵌套使用。

2.2.switch case结构

语法:

  1. switch(变量) {
  2. case 1:
  3. 处理流程;
  4. break;
  5. case 2:
  6. 处理流程;
  7. break;
  8. case 3:
  9. 处理流程;
  10. break;
  11. ...
  12. default:默认处理流程;
  13. }

这里的变量类型有int、short、char和byte,JDK1.7以后支持String。这里的代表的是常量或运算表达式。当所有的case不满足时,执行default

这里需要注意的是,如果在case中不加break时,会从满足case的地方开始向下执行直到遇到break;default无论放在哪都是所有case不满足或所有case都不带break时执行。

3.循环结构

3.1.while结构

语法:

  1. while (布尔表达式) {
  2. //循环体内容
  3. }

当布尔表达式为true时,执行循环体,直到布尔表达式为false。当表达式恒true时就是死循环了。

例如:

  1. public class TestWhile {
  2. public static void main(String[] args) {
  3. int i = 10;
  4. while (i > 0) {
  5. System.out.println(i);
  6. i--;
  7. }
  8. }
  9. }

运行结果:

3.2.do while结构

语法:

  1. do {
  2. //循环体内容
  3. } while (布尔表达式);

先执行do中的内容,当表达式为true时继续执行do内的东西。

例如:

  1. public class TestDoWhile {
  2. public static void main(String[] args) {
  3. int i = 10;
  4. do {
  5. System.out.println(i);
  6. i--;
  7. } while (i > 0);
  8. }
  9. }

执行结果:

3.3.for结构

3.3.1.普通for循环

语法:

  1. for (初始化操作; 布尔表达式; 迭代) {
  2. //循环体内容
  3. }

初始化操作用于声明变量也可以是空语句,布尔表达式为循环是否执行的判断条件,迭代用于控制更新如while中的i--语句。

整体流程:

初始化操作,表达式为true执行循环体,执行迭代,判断表达式...;表达式为false,跳出循环。

例如:

  1. public class TestFor01 {
  2. public static void main(String[] args) {
  3. for (int i = 10; i > 0; i--) {
  4. System.out.println(i);
  5. }
  6. }
  7. }

执行结果:

3.3.2.增强for循环

语法:

  1. for (变量声明 : 可迭代变量) {
  2. //循环体内容
  3. }

可迭代变量是数组这样的有多个元素单元,后面会说的集合也是类似的可迭代的。

变量声明为可迭代变量中元素的类型的变量声明。

主要用于遍历可迭代变量的。

例如:

  1. public class TestForEach {
  2. public static void main(String[] args) {
  3. int[] arr = {1,2,3,4,5,6,7,8,9};
  4. for (int num : arr) {
  5. System.out.println(num);
  6. }
  7. }
  8. }

执行结果:

4.break和continue

4.1.break

break在之前条件结构的switch case语句中遇到过,用于跳出某个结构。在循环中则用于跳出循环。

例如:

  1. public class TestBreak {
  2. public static void main(String[] args) {
  3. int[] arr = {1,2,3,4,5,6,7,8,9};
  4. for (int num : arr) {
  5. System.out.println(num);
  6. if (num == 5) {
  7. break;
  8. }
  9. }
  10. }
  11. }

执行结果:

我们发现当num == 5满足时执行break,整个循环都结束了。

4.2.contine

continue语义是继续,用于循环结构中,表示结束当前循环继续下一次循环。

例如:

  1. public class TestBreak {
  2. public static void main(String[] args) {
  3. int[] arr = {1,2,3,4,5,6,7,8,9};
  4. for (int num : arr) {
  5. if (num == 5) {
  6. continue;
  7. }
  8. System.out.println(num);
  9. }
  10. }
  11. }

执行结果:

我们发现5没有打印,这是因为当num==5满足时,执行continue,需要直接结束当前循环,则后面的寻循环体内容就不执行了。

Java基础学习之流程控制语句(5)的更多相关文章

  1. java基础学习总结四(控制语句<顺序、选择、循环>、方法)

    一:结构控制语句 结构控制语句分为3种,顺序语句.选择语句.循环语句. 1:顺序语句 就是自上而下的执行程序,默认执行顺序. 2:选择语句 if结构语句:如果满足条件,则执行该语句. if...els ...

  2. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  3. java基础学习总结01

    在过去的一周我们先学习了JAVA的一些基础知识和基础语法,基础知识包括:指令.程序.计算机语言.机器语言.高级语言的概念和特点,java的概念.平台.组建等,以及代码的编译过程,代码的开发流程.基础语 ...

  4. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  5. Java基础语法(4)-流程控制

    title: Java基础语法(4)-流程控制 blog: CSDN data: Java学习路线及视频 1.程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定 ...

  6. Java基础学习中一些词语和语句的使用

    在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...

  7. 【Java初探03】——流程控制语句

    做任何事情都应当遵守一定的原则,程序设计也是如此,需要有流程控制语言来实现与用户的交流.流程控制对于任何一门编程语言来说都是至关重要的,它提供了控制程序步骤的基本手段,如果没有流程控制语句,整个程序将 ...

  8. Java基础学习(2)

    Java基础学习(二) 面向对象 对象:客观存在的事物 面向对象:人具体关注的事物的某些信息 类:是模子,确定对象会拥有的特征(属性)和行为(方法) 对象的属性:对象具有的各种特征 对象的方法:对象能 ...

  9. Java基础语法与流程控制

    Java基础语法与流程控制 跟着狂神学Java的第二天O(∩_∩)O~,养成一个总结的习惯 志同道合的小伙伴可以一起学习狂神的视频 本节地址:https://www.kuangstudy.com/co ...

随机推荐

  1. pandas_01

    # Pandas 知识点总结 # Pandas数据结构:Series 和 DataFrame import pandas as pd import numpy as np # 一,Series: # ...

  2. 处理request信息的ngx_http_process_request

    在处理完http的头部信息后  然后在 处理request-body信息ngx_http_process_request-------- -----------ngx_http_process_req ...

  3. Mon失效处理方法

    假设环境为三个mon,主机名为mon1.mon2.mon3,现在mon3上面的系统盘损坏,mon的数据完全丢失,现在需要对mon3进行恢复处理 1.停止所有mon进程,可以不停其他进程,需要停止内核客 ...

  4. Qt For Android 环境搭建

    由于时间有限,未抽出时间进行android环境搭建整理的流程,这里先贴出几个参考的地址 https://blog.csdn.net/foruok/article/details/23528293 此链 ...

  5. Pinpoint 编译环境搭建(Pinpoint系列一)

    本文基于 Pinpoint 2.1.0 版本 目录 一.2.1.0 版本特性 二.编译环境准备 三.编译注意事项 四.编译目录 五.注意事项 新版本的内容参考官方文档, Pinpoint的整个搭建是历 ...

  6. mysql 不常用备忘

    # group_concat 函数语法: group_concat( [DISTINCT]  要连接的字段   [Order BY 排序字段 ASC/DESC]   [Separator '分隔符'] ...

  7. 重闯Sqli-labs关卡第三天(11-15关)

    前言 今天早上学了学网易云课堂的注入课程突然感觉网易云可i春秋联合出品的课程还不错,之后就刷了刷攻防世界的题,题有眉目但是还是忍不住看了WP 服了自己了!!!一直刷到了晚上也不知道几点我妈买了柚子回了 ...

  8. PHP核心配置基础解读

    PHP核心配置 原为引用 <代码审计企业级web代码安全架构>尹毅  第一章内容 Register_globals(全局变量开关) 会直接把用户GET.POST等方式提交上来的参数注册成为 ...

  9. 直面秋招!非科班生背水一战,最终拿下阿里等大厂offer!

    前言 2020年已经接近到9月份了,很多粉丝朋友都对金九银十雀雀欲试了吧!也有很多朋友向我求教经验,因为我自己工作相对于稳定,在这里给大家分享一个粉丝朋友的经历,他作为一个曾经的菜鸡面试者,在不断的失 ...

  10. cProfile分析程序性能

    Python标准库中提供了三种用来分析程序性能的模块,分别是cProfile, profile和hotshot,另外还有一个辅助模块stats.这些模块提供了对Python程序的确定性分析功能,同时也 ...