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) # 类型转换,转换成 ...
随机推荐
- 可执行程序加一个dl
add_executable(forwarder app/main.cxx) TARGET_LINK_LIBRARIES(forwarder dl)
- 入门Leaflet之小Demo
入门Leaflet之小Demo 写在前面 ---- WebGIS开发基础之Leaflet GIS基本概念:GIS.Map.Layer.Feature.Geometry.Symbol.Data(Poin ...
- java获取音频文件播放时长
方法一: 在项目开发过程中,需要获取音视频文件时长.查询资料后发现 JAVE能够完美得到想要的结果,JAVE项目简介如下: The JAVE (Java Audio Video Encoder) li ...
- Spring整合Hibernate实现Spring Data JPA (简单使用)
直接上代码: pom.xml <!-- hibernate start --> <!-- spring data jpa --> <dependency> < ...
- 【JZOJ5180】【NOI2017模拟6.29】呵呵
题目 分析 套上prufer序列, 对于一颗n个节点度数分别为\(d_1.d_2...d_n\)方案数为\(\dfrac{(n-2)!}{(d_1-1)!(d_2-1)!......(d_n-1)!} ...
- 【Wince-DataTable填充ListView】DataTable的数据填充到ListView控件,适用.Net2.0
在开发WinCE6.0程序的时候,要把DataTable的数据显示到ListView控件上,无法使用绑定, 只能使用循环遍历. 思路:外循环遍历行,内循环遍历列 //DataTable:dt2 //L ...
- 对数据劫持 OR 数据代理 的研究------------引用
数据劫持,也叫数据代理. 所谓数据劫持,指的是在访问或者修改对象的某个属性时,通过一段代码拦截这个行为,进行额外的操作或者修改返回结果.比较典型的是 Object.defineProperty() 和 ...
- python6---购物车程序
#!/usr/bin/env python#_author: harry#date: 2019.11.12# -*- coding: utf-8 -*-product_list =[ ('mac',9 ...
- Flask之请求上下文流程图
整理一下Flask请求上下文流程导思流程图,如果错误,请指出.
- EL表达式无效问题
引起原因web.xml中: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3// ...