一、条件判断

1、if-else

示例:

/**
* 第1种,1个分支
*/
public void case1() { int age = 15;
if (age > 18) {
System.out.println("成年人");
}
} /**
* 第2种,2个分支
*/
public void case2() { int age = 15;
if (age > 18) {
System.out.println("成年人");
} else {
System.out.println("未成年人");
}
} /**
* 第3种,多个分支
*/
public void case3() {
int num = 0;
if (num > 10) {
System.out.println("");
} else if (num > 20) {
System.out.println("");
} else if (num > 30) {
System.out.println("");
} else if (num > 40) {
System.out.println("");
} else if (num > 50) {
System.out.println("");
} else {
System.out.println("");
}
}

2、switch-case

示例:

/**
* 字符串数据作为表达式
*
* break关键字
*
* default关键字
*
* 可以作为switch表达式的数据类型: byte,short,char,int,枚举,String
*/
public void case1() {
String str = "你好";
switch (str) {
case "你好":
System.out.println("跟我打招呼");
break;
case "尼玛":
System.out.println("这是要干架");
break;
case "嘿嘿嘿":
System.out.println("这可能是要搞基");
break;
default:
System.out.println("不懂你要说啥");
}
} /**
* 多个常量落进相同的逻辑处理
*/
public void case2() {
// type=1, 支付宝,
// type=2, 微信
// type=3, 京东
// type=4, 易宝
int type = 4;
switch (type) {
case 1:
case 2:
case 3:
System.out.println("互联网支付");
break;
case 4:
case 5:
case 6:
case 7:
System.out.println("非互联网支付");
break;
default:
System.err.println("出错啦, 不支持的类型");
}
}

总结:

相同点

  • 都是一种逻辑分支的处理,语义: 要么你,要么我,要么他
  • 都有兜底的语句,if是else, switch是default

不同点

  • if-else 是一个范围的判断,如 小于10,大于100
  • switch-case 是精确的等值分支

注意

  • 使用switch的都可以使用if-else改写,反之不成立
  • 逻辑要兜住, else, default很重要

二、循环控制

1、for循环

示例:

/**
* @author Luolei
* @date 2019/8/24
*/
public class Test1 { /**
* 最基本的循环,打印1到100内的偶数
*/
public void case1() {
for (int i = 2; i <= 100; i += 2) {
System.out.println(i);
}
} /**
* 死循环
*/
public void case2() {
for (; ; ) {
System.out.println("哈哈哈");
}
} /**
* continue
*
* break
*/
public void case3() {
for (int i = 0; i <= 10; i++) {
System.out.println("yes"); if (i % 2 == 0) {
// 结束当前循环,进入下一次循环
continue;
}
if (i == 9) {
// 跳出循环
break;
}
System.out.println(i);
}
} /**
* 循环一个数组或list
*/
public void case4() {
int[] arr = {1,2,3,4};
for (int i : arr) {
System.out.println(i);
}
}

2、while循环

示例:

/**
* 最基本的循环,打印1到10
*/
public void case1() {
// init
int i = 1; // test
while (i <= 10) { // body
System.out.println(i); // update
i++;
}
} /**
* 死循环,条件没有结束的时候
*/
public void case2() { while (true) {
System.out.println("死循环");
}
} /**
* continue && break
*/
public void case3() { int i = 1;
while (i <= 100) { if (i % 2 == 0) {
i++;
// 结束当前循环,进入下一次循环
continue;
}
if (i == 9) {
// 跳出循环
break;
}
System.out.println(i);
i++;
}
}

3、do-while循环

示例:

/**
* 最基本的循环,打印1到10
*/
public void case1() {
// init
int num = 0; do {
// body
System.out.println("进入循环体"); // update
num++;
} while (num < 10);
} /**
* 死循环
*/
public void case2() {
// init
int num = 1; do {
// body
System.out.println("进入循环体"); // update
} while (num == 1);
} /**
* continue && break
*/
public void case3() { // init
int num = 1; // body
do {
System.out.println("进入循环体");
if (num % 3 == 0 ) {
num++;
continue;
}
if (num % 5 == 0 ) {
break;
}
num++;
// update
} while (num <= 100);
}

总结:

组成

  • 循环控制均可抽象成四部分

    • init        初始化
    • test       条件测试
    • body     循环体代码
    • update  迭代变更

注意

  • 一定要注意循环的退出条件,不要造成死循环
  • 即使不死循环,也要注意循环的次数
  • do-while至少需要执行一次然后再判断条件

Java学习之==>条件判断、循环控制的更多相关文章

  1. Java学习-030-JSON 之四 -- 判断 JSONObject 是否包含键值对

    前文对获取 JSON 数据封装方法,使之可通过类似于 cssSelector 的方法获取 JSON 数据,使获取数据变得简单.敬请参阅:模仿 cssSelector 封装读取 JSON 数据方法. 在 ...

  2. Shell学习(六)——条件判断总结

    Shell学习(六)--条件判断总结 [1]https://www.cnblogs.com/zhw-626/p/8528001.html [2]https://www.cnblogs.com/yizh ...

  3. Shell学习笔记 - 条件判断式

    1. 判断格式 1) test 参数 文件 例: test -e /root/install.log 2) [ 参数 文件 ]  -- 推荐使用 例: [ -e /root/install.log ] ...

  4. python学习第六天 条件判断和循环

    总归来讲,学过C语言的同学,对条件判断和循环并不陌生.这次随笔只是普及一下python的条件判断和循环对应的语法而已. 条件判断: 不多说,直接贴代码: age = 23 if age >= 6 ...

  5. Python学习之条件判断和循环

    #coding= utf-8 # 条件判断和循环 # 如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做 age1 = 20 if age1 >= 18: prin ...

  6. python学习_条件判断语句_if

    #条件判断语句(if)#语法:if条件表达式:语句# 代码块#执行流程:if语句在执行时,会先对条件表达式进行求值判断#如果为True,则执行if后面的语句#如果为False,则不执行#默认情况下,i ...

  7. Python学习笔记—条件判断和循环

    条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= ...

  8. Ruby学习中(条件判断, 循环, 异常处理)

    一. 条件判断 详情参看:https://www.runoob.com/ruby/ruby-decision.html 1.详情实例(看看就中了) #---------------# # LOL场均人 ...

  9. Python学习之==>条件判断

    1.单条件判断 # 接收输入的值,使用input函数,用input接收输入的值都是string类型的 age = input('请输入你的年龄:') age = int(age) # 类型转换,转换成 ...

随机推荐

  1. airflow介绍

    1. airflow 介绍 1.1 airflow 是什么 Airflow is a platform to programmatically author, schedule and monitor ...

  2. eclipse中安装Activiti插件

    由于公司网络问题,不能在线安装,下载到本地的插件,安装也是各种问题,后面终于找到能安装的插件包 1.下载eclipse activiti插件包 链接:https://pan.baidu.com/s/1 ...

  3. 使用TortoiseGit,设置ssh方式连接git仓库。

    开始设置之前的准备:建立项目文件夹,初始化git仓库(右键 git  init),右键打开 git bash ,git pull “仓库地址”, 把网站上的仓库代码拉取下来. TortoiseGit使 ...

  4. anaconda安装失败

    2019.10版本怎么安装都不行换了2018.10安装ok

  5. linux下PHP扩展安装memcache模块

    linux下PHP扩展安装memcache模块   roid 安装环境RHEL 4Php 5.2.6 所需软件libevent-1.4.6-stable.tar.gz (http://monkey.o ...

  6. hiho #1038 : 01背包 (dp)

    #1038 : 01背包 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 且说上一周的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励 ...

  7. matplotlib动画

    注意:要有动画效果,必须独立窗口:独立窗口的设置方法:https://www.cnblogs.com/liming19680104/p/10614070.html import matplotlib. ...

  8. 树莓派设定笔记(Raspberry Pi 3 B+)

    树莓派默认用户名密码 pi / raspberry 一.启用root用户 设置root用户密码 sudo passwd root 开启root账户 sudo passwd --unlock root ...

  9. 获取URL值带参数跳转

    //要跳转界面 api.openWin({ name: 'PayOrder', url: 'PayOrder.html?id=2', pageParam:{name:pr} }); //跳转后的界面 ...

  10. 动态调用WebService接口的几种方式

    一.什么是WebService? 这里就不再赘述了,想要了解的====>传送门 二.为什么要动态调用WebService接口? 一般在C#开发中调用webService服务中的接口都是通过引用过 ...