android 结束if循环_(第五讲)if 分支语句和 while 循环

本文首发于微信公众号「烽哥带你学Android」,工作日每日更新

1x0 switch 分支语句

昨天我们最后学习了分支结构中的 if 条件语句。其实和 if 条件语句还有个兄弟 —— switch 分支语句。switch 语句由一个控制表达式和多个 case 标签组成。看到一堆 case 标签了吧,程序就是从上到下,那 case 后面的值和 switch 后面括号里的值去比(如果是个表达式就是和表达式的值去比)。如果对上了,就从那个 case 标签开始向下执行,换句话说,如果第一个 case 对上了,由于从上到下执行,每一个 case 都会被执行到,如果这是你需要的,那很好,但是,如果是只想执行一个 case 块里 的内容呢?这时就要用到 break 了,只要一执行到 break 就会结束 switch 分支,这个配合代码来看比较好理解。至于最后那个 default ,如果没有一个 case 能对上括号里的值,就会从 default 开始执行。要注意的是控制表达式的值不能是布尔值。来看代码:

//声明变量 a 并赋值为3int a = 3;

//执行 switch 分支语句switch (a) //控制表达式是 a ,换句话说就是拿 case 后面的值和括号里的值(a)比。{

case 1:

System.out.println("a的值是1");

break;

case 2://和 a 的值对上了,就从这里开始执行 System.out.println("a的值是2");

break; //中断执行,要不就执行到下一个 case 块了 case 3:

System.out.println("a的值是3");

break;

default:

System.out.println("a的值不是1或2或3");

}

2x0 循环结构

循环语句可以在满足循环条件的情况下反复执行某一段代码,这段被重复执行的代码叫循环体。当反复执行这个循环体的时候,需要在合适的时候把循环条件改为假,从而结束循环,否则循环将一直执行下去,形成死循环。循环语句可能包含如下部分:初始化语句:一条或多条语句,这些语句用于完成一些初始化工作,初始化语句在循环体开始之前执行。

循环条件:这是一个 Boolean 表达式,这个表达式能决定是否执行循环体。

循环体:这个部分是循环的主体,如果循环条件允许,这个代码块将被重复执行。如果这个代码块只有一行语句,则这个代码块的花括号是可以省略的。

迭代语句:这个部分在一次循环体执行结束后,对循环条件求值之前执行,通常用于控制循环条件中的变量,使得循环在合适的时候结束。

上面 4 个部分只是一般性的分类,并不是每个循环中都非常清晰地分出了这 4 个部分。

2x1 while循环结构

while 循环的语法格式如下

[初始化语句]

while(循环条件){

循环体;

[迭代语句]

}

//[]内的部分可以省略

while 循环每次在求值之前,先对循环条件求值,如果循环条件为 true ,则运行循环体部分。从上面的语法来看,迭代语句总是位于循环体的最后,因此只有当循环体能成功执行完成时,while 循环才会执行迭代语句。

//循环体初始化条件int count = 0;

//当 count 小于 10 时,执行循环体while (count < 10){

System.out.println(count);

//迭代语句 count++;

}

System.out.println("循环结束!");

使用 while 循环时,一定要保证循环条件有变成 false 的时候,否则这个循环将成为一个死循环,永远无法结束这个循环。例如如下代码:

//下面是一个死循环int count = 0;

while (count < 10){

System.out.println("不停的执行死循环" + count);

count--;

}

System.out.println("永远无法跳出循环体!");

在上面的代码中,count 的值越来越小,这将导致 count 的值永远小于 10,count < 10 循环条件一直为 true ,从而导致这个循环永远无法结束。

2x2 do while 循环

do while 循环与 while 循环的区别在于:while 循环时先判断循环条件,如果条件为真则执行循环体,do while 循环则是先执行循环体,然后才判断循环条件,如果循环条件为真,则执行下一次循环,否则终止循环。do while 循环的语法格式如下:

[初始化语句]

do {

循环体;

[迭代语句]

}while (循环条件);

//[]内的部分可以省略

下面的程序示范了 do while 循环的用法:

//定义变量 countint count = 1;

//执行 do while 循环do {

System.out.println(count);

//循环迭代语句 count++;

//循环条件紧跟 whlie 关键字}while (count < 10);

System.out.println("循环结束");

即使循环条件一开始为从 false ,do while 循环也会执行一次循环体。因此,do while循环体至少执行一次。

3x0 总结

骚年,是不是觉得比较短?没错,这篇一张图都没有,全是代码。但是满满都是干货,你学会了 switch 分支 ,while 循环和 do while循环,收获还是满满的呢。

欢迎关注我的公众号: 「烽哥带你学Android」

每日一文,轻轻松松带你入门 Android 开发

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[LeetCode] 697. 数组的度(Java)

[LeetCode] 697. 数组的度(Java) 1.题目描述 给定一个非空且只包含非负数的整数数组 nums&#xff0c;数组的 度 的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组&#xff0c;返回其长度。 示例 1&#xff…

判断输入的日期字符串是否小于当前日期

package com.wonders; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; /** * 日期公共处理类 * author Liyongyong * */ public class DateUtils { /** * 判断是否是过去的日期 * para…

[LeetCode] 448. 找到所有数组中消失的数字(Java)

[LeetCode] 448. 找到所有数组中消失的数字(Java) 1.题目描述 给你一个含 n 个整数的数组 nums &#xff0c;其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字&#xff0c;并以数组的形式返回结果。 示例 1&#xff1a;输入&#xf…

饥荒联机版连不上服务器_饥荒联机版无法连接klei服务器及刷不出服务器解决方法一览...

其实有时候连不上klei服务器和刷新不出服务器列表&#xff0c;是dns的问题。尤其一些三级宽带&#xff0c;像什么某城&#xff0c;某博士。就是被解析到了一个无法连通的服务器上。这时候换dns服务器&#xff0c;或者刷新dns缓存&#xff0c;直到找到一个能连通的服务器&#x…

Oracle12c部署,允许远程访问

Oracle的版本及类型&#xff1a;12c Oracle本地访问host为localhost&#xff0c;和其他关系型数据库mysql&#xff0c;sql server一样&#xff0c;Oracle远程访问同样需要修改host等参数。 因此&#xff0c;在部署Oracle前&#xff0c;需要确认的事只有一个&#xff1a;确保安…

renrenfast开源项目打包过程,前端使用vue element-UI,前后端分离,打包为一个jar包运行

项目使用的是renrenfast2.0 框架&#xff0c;后台springboot&#xff0c;前端vueelement-ui。项目本身有shiro拦截机制&#xff0c;需要放开static路径下文件&#xff0c;才可以访问。 步骤如下&#xff1a; 1.前端&#xff1a;npm run build (1)在dist目录下有3个文件&…

opencv对图像是软解码_C ++ OpenCV解码缓慢

I send a byte array of an image from C# to a C Library. I decode the image with OpenCV (Version 3.3.1) BMP images are fast in decoding but JPEG images are slow.How i can speed up the decoding time for JPEG images? (Multithreading, GPU, ...?)Performance o…

[算法] 原地哈希算法(Java)

[算法] 原地哈希算法(Java) 1.定义 原地哈希算法是指将原数组当成哈希表, 不开辟额外空间. 2.适用条件 原数组总所有数字范围都不超过数组长度, 也就是,给定一个数组nums, 原地哈希应用范围为[0, nums.length], 将数组元素本身作为nums的下标,也就是, nums[nums[i]]. 3.举…

[LeetCode] 442. 数组中重复的数据(Java)

[LeetCode] 442. 数组中重复的数据(Java) 1.题目描述 给你一个长度为 n 的整数数组 nums &#xff0c;其中 nums 的所有整数都在范围 [1, n] 内&#xff0c;且每个整数出现 一次 或 两次 。请你找出所有出现 两次 的整数&#xff0c;并以数组形式返回。 你必须设计并实现一个…

python中的bs4怎么导入_在Python 3.5导入BS4

I have installed both Python 3.5 and Beautifulsoup4. When I try to import bs4, I get the error below. Is there any fix for that? Or should I just install Python 3.4 instead?Please be very explicit - I am new to programming. Many thanks!Traceback (most re…

通过stream去重_Java 8 Stream.distinct() 列表去重的操作

在这篇文章里,我们将提供Java8 Stream distinct()示例。 distinct()返回由该流的不同元素组成的流。distinct()是Stream接口的方法。 distinct()使用hashCode()和equals()方法来获取不同的元素。因此,我们的类必须实现hashCode()和equals()方法。 如果distinct()正在处理有序…

基于Java学院网页的搜索引擎设计和实现

项目运行部署&#xff1a; 首先导入项目MyHeritrix 然后把jar包加到项目中运行类Heritrix访问地址http://localhost:8080/index.jsp创建一个job 6.然后写name和你自己的url 7.然后修改modules&#xff0c;只需要修改select writes和select post processors 后面导入第二个程序…

[LeetCode] 41. 缺失的第一个正数(Java)

[LeetCode] 41. 缺失的第一个正数(Java) 1.题目描述 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1&#xff1a;输入&#xff1a;nums [1,2,0] 输出&#x…

基于java springboot+mybatis学生学科竞赛管理管理系统设计和实现

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

[LeetCode] 274. H 指数(Java)

[LeetCode] 274. H 指数(Java) 1.题目描述 给你一个整数数组 citations &#xff0c;其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义&#xff1a;h 代表“高引用次数”&#xff0c;一名科研人员的 h指…

layui下拉框的高度_LAYUI select 下拉框得高度

UITextFieldUITextFieldDemo 效果 特点 1.有效定制键盘的样式 2.处理键盘对文本框的遮挡 用法 1.导入文件(UITextFieldCreateInputAccessoryView.h/.m) ...&lbrack;地图SkyLine二次开发&rsqb;关于IE内存限制问题&lpar;1G&rpar;相信很多人也遇到过同样的问题,地…

基于JavaWeb SSM mybatis 学生信息管理系统设计和实现以及文档报告

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

[LeetCode] 453. 最小操作次数使数组元素相等(Java)

[LeetCode] 453. 最小操作次数使数组元素相等(Java) 1.题目描述 给你一个长度为 n 的整数数组&#xff0c;每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 示例 1&#xff1a;输入&#xff1a;nums [1,2,3] 输出&#xff1a;3 解释&#xff…

python打log_python根据文件大小打log日志

本文实例讲述了python根据文件大小打log日志的方法&#xff0c;分享给大家供大家参考。具体方法如下&#xff1a;import globimport loggingimport logging.handlerslog_filenamelogging_rotatingfile_example.out# set up a specific logger with our desired output levelmy_…