Java学习之==>条件判断、循环控制
一、条件判断
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学习之==>条件判断、循环控制的更多相关文章
- Java学习-030-JSON 之四 -- 判断 JSONObject 是否包含键值对
前文对获取 JSON 数据封装方法,使之可通过类似于 cssSelector 的方法获取 JSON 数据,使获取数据变得简单.敬请参阅:模仿 cssSelector 封装读取 JSON 数据方法. 在 ...
- Shell学习(六)——条件判断总结
Shell学习(六)--条件判断总结 [1]https://www.cnblogs.com/zhw-626/p/8528001.html [2]https://www.cnblogs.com/yizh ...
- Shell学习笔记 - 条件判断式
1. 判断格式 1) test 参数 文件 例: test -e /root/install.log 2) [ 参数 文件 ] -- 推荐使用 例: [ -e /root/install.log ] ...
- python学习第六天 条件判断和循环
总归来讲,学过C语言的同学,对条件判断和循环并不陌生.这次随笔只是普及一下python的条件判断和循环对应的语法而已. 条件判断: 不多说,直接贴代码: age = 23 if age >= 6 ...
- Python学习之条件判断和循环
#coding= utf-8 # 条件判断和循环 # 如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做 age1 = 20 if age1 >= 18: prin ...
- python学习_条件判断语句_if
#条件判断语句(if)#语法:if条件表达式:语句# 代码块#执行流程:if语句在执行时,会先对条件表达式进行求值判断#如果为True,则执行if后面的语句#如果为False,则不执行#默认情况下,i ...
- Python学习笔记—条件判断和循环
条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= ...
- Ruby学习中(条件判断, 循环, 异常处理)
一. 条件判断 详情参看:https://www.runoob.com/ruby/ruby-decision.html 1.详情实例(看看就中了) #---------------# # LOL场均人 ...
- Python学习之==>条件判断
1.单条件判断 # 接收输入的值,使用input函数,用input接收输入的值都是string类型的 age = input('请输入你的年龄:') age = int(age) # 类型转换,转换成 ...
随机推荐
- 在vue移动端使用lib-flexible和px2remLoader适配屏幕
在对移动端的适配过程中,之前一直用的rem来进行,通过自己封装一个rem的计算函数来对整个项目进行适配.现在发现了一种更为简单,也更加方便的方式来对移动端进行屏幕的适配. 下载lib-flexible ...
- 11jsp
1.JSP 1. 指令 作用:用于配置JSP页面,导入资源文件 格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %> 分类: ...
- The Preliminary Contest for ICPC Asia Nanchang 2019 B. Fire-Fighting Hero
题目:https://nanti.jisuanke.com/t/41349 思路:dijkstra最短路径 先以 fire-fighting hero为起点 跑一遍dijkstra 建立 起点 p 并 ...
- poj1952 BUY LOW, BUY LOWER[线性DP(统计不重复LIS方案)]
如题.$N \leqslant 5000$. 感觉自己思路永远都是弯弯绕绕的..即使会做也会被做繁掉..果然还是我太菜了. 递减不爽,先倒序输入算了.第一问做个LIS没什么说的.第二问统计个数,考虑什 ...
- 快速排序c代码
//快速排序,通过测试 #include "stdio.h" void quickSort(int* data,int len){ ) return; ; ; ]; while(s ...
- printf计算参数是从右到左压栈的(a++和++a的压栈的区别)
一.问题 c++代码: #include <iostream> #include <stdio.h> using namespace std; int main(){ ; co ...
- 任务Task、先后任务
Task类似后台线程. using System; using System.Threading; using System.Threading.Tasks;//引用命名空间 namespace Co ...
- Nowcoder Hash Function ( 拓扑排序 && 线段树优化建图 )
题目链接 题意 : 给出一个哈希表.其避免冲突的方法是线性探测再散列.现在问你给出的哈希表是否合法.如果合法则输出所有元素插入的顺序.如果有多解则输出字典序最小的那一个.如果不合法则输出 -1 分析 ...
- python3基础:基本语句
http://www.cnblogs.com/qq21270/p/4591318.html 字符串.文本文件 http://www.cnblogs.com/qq21270/p/7872824.htm ...
- DIY Arduino 方向盘
之前的项目中使用Arduino做UE4的输入设备时候需要用到UE4Duino这个插件,以字符串的形式从Arduino中组装信息并发送到串口,使用UE4Duino进行解析,过程比较麻烦. 最近发现的一个 ...