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) # 类型转换,转换成 ...
随机推荐
- docker_Ubuntu16.04下安装cuda
经过一上午的研究,终于配置好docker环境,并成功安装cuda9.0. (1)下载安装文件.首先去英伟达官网下载cuda安装包:https://developer.nvidia.com/cuda-t ...
- Lucky HDU - 5213 (莫队,容斥)
WLD is always very lucky.His secret is a lucky number . is a fixed odd number. Now he meets a strang ...
- server version for the right syntax to use near 'USING BTREE 数据库文件版本不合导致的错误
MySQL 返回:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MyS ...
- PMBOK :美国的项目管理知识体系
PMBOK 是Project Management Body Of Knowledge的缩写, 指项目管理知识体系的意思,具体是美国项目管理协会(PMI)对项目管理所需的知识.技能和工具进行的概括性描 ...
- DevExpress ASP.NET v19.1版本亮点:发布全新的Gantt控件
行业领先的.NET界面控件DevExpress 发布了v19.1版本,本文将以系列文章的方式为大家介绍DevExpress ASP.NET Controls v19.1中新增的一些控件及增强的控件功能 ...
- grunt-contrib-uglify js压缩
grunt-contrib-uglify:压缩以及合并JavaScript文件. 插件安装:npm install grunt-contrib-uglify --save-dev 参数: banner ...
- css,scss解决样式:表格的重叠边框
初始效果: 解决方法: 给带有边框的元素设置如下样式margin:0 0 -borderwidth -borderwidth 这里的borderwidth即为边框的宽度,按照上图所示,则添加样式 ma ...
- 在angular中使用ng-repeat时数组中有重复元素,要用item in items track by $index
在angular中使用ng-repeat时数组中有重复元素,要用item in items track by $index,不然会报错 <div class="" ng-in ...
- k8s的一键分发秘钥 需要yum install expect
#下面的密码你改改就行了 我的机器也用的123456 ssh-keygen -t rsa -P "" -f /root/.ssh/id_rsa for i in k8s-1 k8s ...
- C# 文件排序
一.C#文件排序 1.按名称顺序排列 /// <summary> /// C#按文件名排序(顺序) /// </summary> /// <param name=&quo ...