Java基础【之】循环、流程控制 (if else、whitch case、while、do while、for...i、foreach、多层循环与退出)

  • 1.默认顺序执行
  • 2.分支控制
    • if else
    • switch case
  • 3.循环
    • while
    • do while
    • for i
    • foreach
  • 4.多层循环与主动退出(return、break、contuinue)
    • 循环代码
    • 使用 continue
    • 使用 break
    • 使用 return
  • 《上一篇:比较、运算、位运算》
  • 《练习题:输出一个菱形》
  • 《目录:Java渐进式学习》
  • 《幕》

1.默认顺序执行

  • 代码逻辑,默认从入口函数进入,从上到下依次执行,然后程序退出
public static void main(String[] args) {// 默认从上到下执行// hello// whats your name// 999//int a = 999;hello();whatsYourName();System.out.println(a);}public static void hello() {System.out.println(" hello ");}public static void whatsYourName() {System.out.println(" whats your name");}

2.分支控制

if else

  • 通过判断后,指定对应逻辑区域(如果、否则、否则…)
  • if else ,经过判断逻辑后,只会进入其中某一块代码区域
    if(){} else{}
    if(){} else if(){} else{}
    形式1:单一判断,if else
    形式2:多层判断,最终流到 else 逻辑
    形式3:多层判断,没有流到 else 逻辑
public static void main(String[] args) {int a = 999;//if else ,经过判断逻辑后,只会进入其中某一块代码区域// 形式1:单一判断,if  else//        a > 10if (a < 10) {System.out.println("a < 10");} else {System.out.println("a > 10");}//形式2:多层判断,最终流到 else 逻辑//        ~全部不满足~if (a < 10) {System.out.println("a < 10");} else if (a < 50) {System.out.println("a < 50");} else {System.out.println("~全部不满足~");}//形式3:多层判断,没有流到 else 逻辑//        a < 100000if (a < 10) {System.out.println("a < 10");} else if (a < 100) {System.out.println("a < 100");} else if (a < 100000) {System.out.println("a < 100000");} else {System.out.println("~全部不满足~");}}

switch case

  • 语法
    switch(表达式){ case {$值}:{$逻辑代码}; break; case {$值}:{$逻辑代码}; break; default:{$逻辑代码}; break; }
  • switch(表达式)中表达式的值必须是(byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0);)
  • case中的值必须是常量,不能是变量名或不确定的表达式值;
  • 同一个switch语句,case中的常量值互不相同;
  • break用来在执行完一个case后跳出switch语句块;没有break,自己试一下;
  • default子句是选的。没匹配的case时执行default
    public static void main(String[] args) {int a = 50;switch (a) {case 50:System.out.println(50);//执行此处结束break;case 100:System.out.println(100);break;default:System.out.println("~没找到对应数字~");break;}String b = "王";switch (b) {case "赵":System.out.println(50);break;case "钱":System.out.println(100);break;case "孙":System.out.println(100);break;default:System.out.println("~没找到对应姓氏~");//执行此处结束break;}}

3.循环

while

  • 语法:while({$条件}) { {$逻辑代码} }
  • 通过判断条件,存在 死循环与非死循环
    死循环:程序无法退出,只能等待程序崩溃
    非死循环:程序通过 判断你条件退出;或者通过break退出;
    public static void main(String[] args) {//非死循环,退出条件为 :a等于0int a = 10;while (a != 0) {a = a - 1;System.out.println("1----" + a);}//非死循环,退出条件为 :a>100while (true) {a = a + 1;System.out.println("2----" + a);if (a > 100) {break;}}//死循环while (true) {System.out.println("死循环:" + a);}}

do while

  • 语法:do{ {$逻辑代码} } while( {$循环条件} )
  • 与while一样,只不过,先执行代码,后判断条件
public static void main(String[] args) {//非死循环,退出条件为 :a等于0int a = 10;do {a = a - 1;System.out.println("1----" + a);}while (a != 0);//非死循环,退出条件为 :a>100do {a = a + 1;System.out.println("2----" + a);if (a > 100) {break;}} while (true);//死循环do {System.out.println("死循环:" + a);} while (true);}

for i

  • 语法 for(初始化条件;循环判断条件;循环结束后执行逻辑) { 循环体(逻辑代码)}
  • 仍然存在死循环情况(偶尔人为脑残~)
    public static void main(String[] args) {//非死循环,退出条件为 :i小于10for (int i = 0; i < 10; i++) {System.out.println("非死循环----" + i);}//死循环,退出条件为 !=0;无法退出for (int i = 0; i != -1; i++) {System.out.println("死循环----" + i);}}

foreach

  • 语法:for ( 对象 : 集合) { }
  • JDK1.5+提供的便捷遍历集合的语法
    public static void main(String[] args) {int a[] = new int[]{1, 2, 3, 4, 5, 6};for (int o : a) {System.out.println(o);}}

4.多层循环与主动退出(return、break、contuinue)

  • return; 退出当前方法,跟循环没关系,退出的是方法
  • break; 退出当前 {} 循环 (退出一层大括号)
  • continue; 结束本次循环,跟大括号没关系

循环代码

  • 注意输出结果
 /*** 输出结构* <p>* i=0* i=0 ; j=10* i=0 ; j=10 ; k=20* i=0 ; j=10 ; k=21* i=0 ; j=11* i=0 ; j=11 ; k=20* i=0 ; j=11 ; k=21* i=1* i=1 ; j=10* i=1 ; j=10 ; k=20* i=1 ; j=10 ; k=21* i=1 ; j=11* i=1 ; j=11 ; k=20* i=1 ; j=11 ; k=21*/public static void main(String[] args) {for (int i = 0; i < 2; i++) {System.out.println("i=" + i);for (int j = 10; j < 12; j++) {System.out.println("i=" + i + " ; j=" + j);for (int k = 20; k < 22; k++) {System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);}}}}

使用 continue

  • continue; 结束本次循环,跟大括号没关系
  • 注意对比输出结果
   /*** 输出结果* <p>* i=1* i=1 ; j=11* i=1 ; j=11 ; k=21*/public static void main(String[] args) {for (int i = 0; i < 2; i++) {if (i == 0) {continue;}System.out.println("i=" + i);for (int j = 10; j < 12; j++) {if (j == 10) {continue;}System.out.println("i=" + i + " ; j=" + j);for (int k = 20; k < 22; k++) {if (k == 20) {continue;}System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);}}}}

使用 break

  • break; 退出当前 {} 循环 (退出一层大括号)
  • 注意对比输出结果
  /*** 输出结果* <p>* -----------------------------------------------------------------------------* i=0* -----------------------------------------------------------------------------* i=0* i=1* -----------------------------------------------------------------------------* i=0* i=0 ; j=10* i=0 ; j=11* i=1* i=1 ; j=10* i=1 ; j=11* -----------------------------------------------------------------------------*/public static void main(String[] args) {System.out.println("---------------------------------------------------------------------");for (int i = 0; i < 2; i++) {System.out.println("i=" + i);if (i == 0) {break;}for (int j = 10; j < 12; j++) {System.out.println("i=" + i + " ; j=" + j);for (int k = 20; k < 22; k++) {System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);}}}System.out.println("---------------------------------------------------------------------");for (int i = 0; i < 2; i++) {System.out.println("i=" + i);for (int j = 10; j < 12; j++) {if (j == 10) {break;}System.out.println("i=" + i + " ; j=" + j);for (int k = 20; k < 22; k++) {System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);}}}System.out.println("----------------------------------------------------------------------");for (int i = 0; i < 2; i++) {System.out.println("i=" + i);for (int j = 10; j < 12; j++) {System.out.println("i=" + i + " ; j=" + j);for (int k = 20; k < 22; k++) {if (k == 20) {break;}System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);}}}System.out.println("----------------------------------------------------------------------");}

使用 return

  • return; 退出当前方法,跟本次循环没关系,跟 {} 循环也没关系,退出的是当前执行的方法
  • 注意对比输出结果
    /*** 输出结果* <p>* -----------------------------------------------------------------------------* i=0*/public static void main(String[] args) {System.out.println("------------------------------------------");for (int i = 0; i < 2; i++) {System.out.println("i=" + i);if (i == 0) {return;}for (int j = 10; j < 12; j++) {System.out.println("i=" + i + " ; j=" + j);for (int k = 20; k < 22; k++) {System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);}}}System.out.println("------------------------------------------");for (int i = 0; i < 2; i++) {System.out.println("i=" + i);for (int j = 10; j < 12; j++) {if (j == 10) {return;}System.out.println("i=" + i + " ; j=" + j);for (int k = 20; k < 22; k++) {System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);}}}System.out.println("------------------------------------------");for (int i = 0; i < 2; i++) {System.out.println("i=" + i);for (int j = 10; j < 12; j++) {System.out.println("i=" + i + " ; j=" + j);for (int k = 20; k < 22; k++) {if (k == 20) {return;}System.out.println("i=" + i + " ; j=" + j + " ; k=" + k);}}}System.out.println("------------------------------------------");}

《上一篇:比较、运算、位运算》

  • 点击跳转

《练习题:输出一个菱形》

  • 点击跳转

《目录:Java渐进式学习》

  • 点击跳转

《幕》

  • 留白 —<老吉>
  • ~ 今 ~ ❀ ~ ❀❀❀❀❀❀❀❀❀❀ ❀❀❀❀❀❀❀❀❀❀ ❀❀❀❀❀❀❀

Java基础【之】循环、流程控制 (if else、whitch case、while、do while、for...i、foreach、多层循环与退出)相关推荐

  1. Java基础篇3——流程控制

    Java基础篇3--流程控制 1.顺序结构 正常代码的流程即是顺序流程 2.分支结构 2.1.if-else分支 if(条件表达式) {语句块1; } if(条件表达式) {语句块1; } else ...

  2. 四 【java基础】 程序流程控制- 分支结构

    目录 01 程序流程控制概述 02 顺序结构 03 分支结构 3.1 if-else 结构 3.2 从键盘输入数据(Scanner) 3.2 Switch-case结构 01 程序流程控制概述 流程控 ...

  3. 2.Java基础之概述-流程控制+数组+IDEA基本使用+程序调试

    1.流程控制 1.1 流程是什么 生活中处处都有流程:比如你们大学报到 程序就是为了解决生活的问题,程序也有流程 1.2 顺序流程 从上到下,一条直线走下去 1.3 分支结构 1.3.1 if单分支 ...

  4. Java基础练习之流程控制(三)

    17.3000米长的绳子,每天减一半.问多少天这个绳子会小于5米?不考虑小数. public static void main(String[] args) {int day = 0;for (int ...

  5. Java基础练习之流程控制(二)

    8.彩票游戏 假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票,提示用户输入一个两位数,然后按照下面的规则判定用户是否能赢. 1)如果用户输入的数匹配彩票的实际顺序,奖金10 000美元. ...

  6. Java基础练习之流程控制(一)

    1.编写程序,从键盘接收整数参数.如果该数为1-7,打印对应的星期值,否则打印"非法参数". import java.util.Scanner;public class TestS ...

  7. Java基础练习之流程控制(四)

    25.打印如下的图形:三角形 * * * * * * * * * * * * * * * * * * * * * * * * * public static void main(String[] ar ...

  8. php学习基础篇之基础函数(数学 日期 字符串)、php循环流程控制

    知识点: 一 . 基础函数(数学 日期 字符串) 二 . php循环流程控制 一 . 基础 函数(数学 日期 字符串) 函数 : 执行某项功能的特定代码. sin()  cos() 数学中 sin(3 ...

  9. java个十百千万位余数_1 Java第三课[流程控制]

    1 Java第三课[流程控制] 1.1 回顾: 1. 标识符的命名:标识符通常意义上是指 类名,包名,方法名,属性名,普通变量等等. 2. 类命名:每个单词的首字母大写; 3. 变量命名规则:字母数字 ...

  10. 【C语言 基础】什么流程控制?

    [C语言 基础]什么流程控制? 流程控制就是控制程序执行的顺序 流程控制的分类: 1.顺序执行 2.选择执行 定义 某些代码可能执行也可能不执行,有选择的执行某些代码 3.循环执行 posted on ...

最新文章

  1. StarUML 4.0
  2. 导出Excel神器最终版
  3. DELL XPS 9350 无线网卡DW1820A WIN7驱动异常解决
  4. 蛋白粉有什么作用?搭配这些食物帮助提升免疫力!
  5. 更新cocoapods相关问题
  6. HTML5:一个拖拽网页元素的例子
  7. iOS获取camera的yuv数据
  8. steam加速_Apex英雄Steam版锁60帧 GoLink免费加速器助力畅快_综合资讯
  9. Python 彻底搞懂列表推导式|初级到进阶(实例30+)
  10. Excel VBA UserForm窗体置顶
  11. php access 单引号,Access VBA教程:字符串中的引号
  12. armbian php7.1_N1 + armbian+宝塔面板+apache+MySQL+php
  13. 计算机用户凭据删除,win8系统如何删除保存的共享凭据(用户名和密码)
  14. vue input上传视频以及图片
  15. Onvif再学习---MiniXml-介绍
  16. docker容器联网问题
  17. wow服务器维护精英怪,魔兽世界tbcp2精英怪去哪刷_wowtbc怀旧服p2稀有精英刷新点_3DM网游...
  18. 软测之黑白盒登录测试
  19. Google收购传感器公司Lumedyne
  20. Java使用华软通信能力平台实现短信发送

热门文章

  1. dellr710服务器(DellR710服务器做完raid安装系统找不到磁盘)
  2. 《第七堂棒球课》:MLB棒球创造营·棒球名人堂
  3. dnf剑魂buff等级上限_DNF体验服快讯—剑魂加入25开关/25仔变34仔/国庆版本内容前瞻...
  4. echart旭日图_echart旭日图
  5. ROS与优傲机器人UR机器人通讯
  6. E站账号cookie分享_产品经理必懂知识点—cookie和session
  7. 深入理解Java虚拟机——运行时栈帧结构(局部变量表)
  8. NASM汇编语言与计算机系统10-中断向量表0号中断(cli/sti/iret/hlt)
  9. linux sli 提高效率,两大优点!NVIDIA混合SLI功能完全解析
  10. 搞定计算机网络面试,看这篇就够了