先用一张图来说明今天的大纲
——————————————————————————————-
-
顺序结构
概念: 如果代码里没有流程控制,程序是按照书写的格式从上而下一行一行执行的,
一条语句执行完之后继续执行下一条语句,中间没有判断和跳转,直到程序的结束。
如图:
-
选择结构
概念:如果使用程序描述“如果今天是周一,就上班,如果今天是周二就逛街,如果今天是周三就去公园… …”。显然使用顺序结构是搞不定的。
因为此时程序具有多个条件,需要通过条件判断来决定程序具体做什么,那怎么办呢? 通过判断条件来做选择的语句,我们称为选择语句或分支语句。
现在,我们一起来学习选择结构,选择结构有两种:分别是if和switch。
-
选择结构-if
if语句使用 boolean 表达式或boolean值作为选择条件, 有三种结构形式:
——————————————————————–
第一种结构:
if(boolean条件)
{
代码/当boolean条件结果为true的时候,就执行这里的代码.
}
明天不下雨,我们就去公园.
注意:
1):不能写出:if(boolean条件);{}
2):若if的语句只有一句话,其实可以省略{},即是如此,也必须得写{}.
3):对于boolean类型的表达式,不要使用 boolean表达式==true的写法.
总之按照标准if语句来写就可以了,要从基础做好规范额!!!
第二种结构:if-else语句.
如果……,否则……
if(boolean条件)
{
当boolean条件结果为true的时候,就执行这里的代码.
}
else
{
当boolean条件结果为 false 的时候,就执行这里的代码.
}
——————————
if-else结构和三元运算符的区别:
1):一个是结构,一个运算表达式.
2):运算表达式的是必须得有一个结果的.
3):从功能上,从语义上是相同的.
——————————
不能单独使用else,必须先有if,再有else.
来来来,在讲解下一个if结构前来个需求,大家知道如何完成吗??
需求:考试成绩大于90分,就打印优,如果大于80分,打印良,如果大于70分,打印中,其他情况打印多多努力。对于这个案例,如何解决.
这种情况可以使用下面if-elseif-else语句.
if语句的第三种结构:if-elseif-else语句.
if(boolean条件1)
{
当条件1为true的时候,执行这里.
}
else if(boolean条件2)
{
当条件2为true的时候,执行这里
}
else if(boolean条件3)
{
当条件3为true的时候,执行这里
}
else
{
上述所有条件,都不满足,就执行这里.
}
-图片镇楼—————
上面需求答案如下:
再来一个:
虽然简单,但是基础很重要额!!!
-
选择结构-switch
上述判断today变量的例子,从对与错的角度思考,没问题.但是,程序的可读性不好,不太简洁.—–>switch语句(更简单,功能相同)
switch的语法结构(和if-elseif-else的语义相同):
———————————
switch(整型表达式)
{
case A值:
语句1;
break ;//结束
case B值:
语句2;
break;
case C值:
语句3;
break;
default:
上述所有的结果值都不满足
语句.
}
上面需求用switch解决如下:
switch的语法分析以及注意:
1):switch中的表达式的结果/类型,必须是整数类型.
整数类型:byte,short,char,int.没有long.
从Java7开始, switch也支持String类型.
2):switch语句,一旦找到入口,就会进入,并执行功能语句,后面的case不再判断,除非语句break,或return或则执行完成,才会停下来—–穿透.
3):default表示,当case中的值都不成立的时候,才执行,一般的放在最后.
———————————-抉择————————————-
if和switch都是选择语句/条件语句,那到底什么时候选择使用if,什么时候选择使用switch.
分析各自的优缺点:
1): 对于所有的条件语句,if都可以完成.
2): swtich语句,只能正对于结果为数值的情况做判断.
3): 当if中条件的结果是数值的时候,使用switch更简单.
-
循环结构
故事:话说 唐僧 师徒四人还在21世纪继续闯关,一天,师徒四人来到数字王国:
第一关:Boss叫傻乎乎的唐僧叫500声帅哥。可是唐僧平时吃素,体力不好,叫200声就晕了,咋办,悟空马上变了个复读机出来,录音,播放。
第二关:Boss觉得唐僧好欺负再叫他从1数到100。此时复读机用不上来了,咋办?
第三关:求100以内 正整数 和?
于是,唐僧算1到25的和,悟空算26到50的和,八戒算51到75的和,沙僧算76到100的和。
第四关:求1000以内正整数和?
于是,唐僧算1到250的和,悟空算251到500的和,八戒算501到750的和,沙僧算751到1000的和。
第五关:求10000以内正整数和?
ブプヘベ崩溃ingペホボポ。。。。。
————————————————-
案例:叫500声帅锅
案例:从1数到100
案例:帮大圣解决问题,计算100以内的正整数和。
在讲解案例之前我们首先把循环结构的分类说一下:
三大循环之 while 循环:
语法:
while(boolean表达式)
{
若boolean表达式结果为true,则执行这里.循环体
}
注意:先判断boolean表达式.
三大循环之do while循环:
语法:
do
{
循环体
}while(boolean表达式);
注意: do while,不管boolean表达式对与错,先执行一次循环体.
即使boolean表达式为false,do while也会执行一次.
推论: 无论条件如何, dowhile 至少会执行一次.
三大循环之 for循环 :
语法:
for(初始化语句;boolean表达式;循环之后的操作语句)
{
循环体
}
初始化语句:定义变量,赋初始值;
boolean表达式:判断条件,若条件为true,则进入循环体,若为false,则跳过循环.
循环之后的操作语句: 变量的自增/自减操作.
执行顺序:
1):初始化语句.
2):boolean表达式:
true: GOTO 3
false:跳过循环,不执行循环体
3):执行循环体.
4):循环之后的操作语句, GOTO 2.
上面三个案例用循环结构解决如下:(看不清晰可以点击大图)
三大循环语句都一样,仅仅只是语法结构上不一样而已.
把while循环和for循环转换.
提示:
三大循环,是可以互换的,一般情况下,要是指定次数的循环,选用for循环要方便点。
一般的,习惯上选择i、j、k作为循环变量。
-
控制循环结构语句
break语句 : 结束当前所在的循环.
注意:break之后的语句,执行不到,若编写了,则语法报错.
continue语句 : 表示跳过的这一次当前循环,继而进行下一次循环.
注意:contine之后的语句,执行不到,若编写了,则语法报错.
return语句 : 表示结束循环所在的方法,方法都结束了,循环结构自然也就结束了。
————-下面控制外层循环比较少用,即基本不用—————
控制外层循环: 此时就得使用标签了,标签就是给某个循环起的别名,不过该别名得满足标识符的规范。
若要控制外层循环,就在break或continue后面跟上循环的别名就OK了
如: break <标签名>;
一张图总结今天内容:
最后:在学习java中,想以后能在编程道路走得更长,基础很重要,找一门高级语言入门,进而深度学习,这样转其它语言已经不是事儿了!大家要记得: 基础基础很重要!
有什么问题欢迎大家评论额!