一、条件判断

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. 【spoj 5971】lcmsum

    全场都 AK 了就我爆 0 了 题意 \(t\) 组询问,每组询问给定 \(n\),求 \(\sum\limits_{k=1}^n [n,k]\).其中 \([a,b]\) 表示 \(a\) 和 \( ...

  2. Codeforces 992 范围内GCD,LCM要求找一对数 衣柜裙子期望

    A /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) using namespace std ...

  3. U-Boot Driver Model领域模型设计 (转)

    需求分析 在2014年以前,uboot没有一种类似于linux kernel的设备驱动模型,随着uboot支持的设备越来越多,其一直受到如下问题困扰: 设备初始化流程都独立实现,而且为了集成到系统,需 ...

  4. DevExpress ASP.NET Core v19.1版本亮点:数据网格和树列表

    行业领先的.NET界面控件DevExpress 发布了v19.1版本,本文将以系列文章的方式为大家介绍DevExpress ASP.NET Core Controls v19.1中新增的一些控件及增强 ...

  5. arduino读取GPIO数据

    一.接线 五向按键模块接线方法,直接盗图,COM接VCC或GND都可以,只不过获得的电平不同 二.初始化 GPIO接口使用前,必须初始化,设定引脚用于输入还是输出 pinMode(D7, INPUT) ...

  6. 【leetcode】1260. Shift 2D Grid

    题目如下: Given a 2D grid of size n * m and an integer k. You need to shift the grid k times. In one shi ...

  7. .net post 字符串含有+号的时候,加号会变成空格 处理方法

    value= value.Replace("+", "%2B");  替换加号

  8. 暑假集训#2 div1 J 四点直角 J - Space Invader 四点共面+跨立实验

    题意:给你四个点,判断能否先依次通过A,B两点,然后再在某个地方只进行一次直角转弯再一次经过C,D两点: #include <iostream> #include <cstdio&g ...

  9. Java虚拟机之垃圾回收算法思想总结

    1.引用计数法 这是个比较古老而经典的垃圾回收算法,其核心就是在对象被其他所引用的时候计数器加1,而当引用失去时减1.这个方法有非常严重的问题:无法此话有理循环引用的情况,还有就是每次进行加减操作比较 ...

  10. ZeroMQ+QT 字符串收发

    结合 Zeromq API函数 与 Qt 字符串QString QByteArray 实现字串收发: 发送端: zmq_msg_t msg; QString strT = “ABC汉字123”: QB ...