ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java0基础_day04-选择、循环结构

2021-11-02 20:34:55  阅读:115  来源: 互联网

标签:语句 day04 break switch 循环 Java0 条件 表达式


标签:表达式if-else、while、for、break、continue

 1. 选择结构_弱水三千,只取一瓢饮:)

选择结构,顾名思义是从众多分支中选一个进行执行,具体来说,java提供单独的if语句,多分支的if-else if语句,以及全分支的if -else if -else语句,当然为了减少分支撰写的复杂性,引入switch语句。

如下图所示即为一例子,如果x大于7输出“大于7”的字样,如果x小于7输出“小于7”的字样,最后如果既不大于7也不小于7,运行else中的输出“等于7”的字样。

 上图中,if括号内的是布尔表达式,结果为true或者false,对应该条件是否成立,表达式中用关系运算符来表达大小关系,例如3>7返回false,3==7返回false等等。

【注意】条件表达式中判断是否相等用==,而非=,后者表示赋值。

【注意2】布尔表达式可以互相组合,用逻辑运算符&&、||、&、|、!^进行组合。

 特别的:&&表示短路/条件与,即左侧为假则直接放弃判断右侧表达式,返回false;

||表示短路/条件或,即左侧为真则直接放弃判断右侧表达式,返回true;

&、&&→一假则假;|、||→一真则真;^→同假异真;

翻译:

  • &→表示全部条件都要满足【我全都要】;
  • |→表示至少有一个条件满足【有一个就行】;
  • ^表示只能满足某一条件【二选一】;

 


switch语句:

 如上图所示,switch的圆括号内为表达式/变量,内部为各分支,case8表示x的值为8的情况,此时输出x=8,然后用break终止,跳出switch。

【注意】switch内部见到break为止,从上到下依次执行。

【注意2】switch表达式必须是byte、short、int、String和char类型。

 


条件表达式:

有时为了方便程序员在满足某些条件的时候快速赋值,引入条件表达式:

expression?exp1:exp2;

例如,int x = (3>2)?3:2;,这时x取3;


操作符优先级

例如,下面表达式在数学上的计算顺序是怎么样的呢?

3 + 4 * 4 - 8 / 7 >99  && ++ 8 > 9

java中,优先级如下,数字越小优先级越高:

  1. 括号
  2. ++,--,类型转换,!()
  3. 算数运算符(*/      +-)
  4. 关系运算符(><   ==!=)
  5. 逻辑运算符(^  &&  ||)
  6. 赋值运算(+= -= = /= %=)

2.循环结构_山重水富疑无路:)

while循环:

  •  循环条件:循环的结束点/出口,用于判断是否还有继续循环;
  • 功能语句:又称为循环体,即重复执行的语句,如打印语句;
  • 循环控制变量转移:为了使得循环不断迭代,不致陷入死循环而设置的,一般是循环条件中的变量的更新。

根据循环结束的方式,又分为标记flag循环和计数循环,前者指达到某个标记,后者指到达固定数量的步数。


for循环 

 for循环的结构为:

  • 初始条件:一般用于初始化循环控制变量,上图中是i;
  • 判断条件:用于循环的边界条件,如上图的i<10这一条件;
  • 迭代后操作:这里的语句是最终循环体结束后的最后一句,所以不管是i++还是++i都是一样的效果。

总结:for循环适合固定步数,即已经知道要执行的次数,而while适合标记循环,即给出终点条件的情况。

 3. break和continue

为了能够在达到某个条件后控制循环走向,引入break和continue。


break:用于while、for、switch和do-while中,一旦遇到break,则跳出包含break的最内层的循环,立刻终止进行返回。


continue:用于直接开启下一轮循环,调到开始处进行判断。

                for循环的continue会执行控制变量转移语句,然后进行条件判断;

                                        while循环会直接进行条件判断。


标签:语句,day04,break,switch,循环,Java0,条件,表达式
来源: https://blog.csdn.net/zhugeheihei/article/details/121098144

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有