2022_01_30学习java逻辑控制语句
目录
顺序结构
总结:顺序结构就是和你书写代码的顺序有关系
选择结构
总结:选择结构中必须且只能出现一种结果!
循环结构
循环结构的分类
1.先来讲一讲我最喜欢的for()循环!
再来讲讲while循环
do{} while()语句
1.顺序结构
顺序结构就是从上往下,一条一条语句的去执行。和你书写代码的顺序有关。
总结:顺序结构就是和你书写代码的顺序有关系例如:
结果:
原因:从上往下一条一条语句的执行,第一句输出是“111”,第二句输出是“222”,第三句执行是“333”,所以这就是答案!改变一下书写顺序
结果:
原因:从上往下一条一条语句的去执行,第一句输出“222”,第二句输出“111”,第三句输出“333”,是不是因为你书写顺序的问题导致了结果的变化!
选择结构
选择结构的各种语法举个生活中的例子,如果你早上七点前起床,你就来的及去上第一节课,否则无法上第一节课。
用选择结构来表示一下
来分析分析:1.选择结构中无论条件是否为真,它必须要有一个结果出现!!!
总结:选择结构中必须且只能出现一种结果!
解释:你七点起来了,那你就去上课。没起来,那就不去上课。无论如何,都要有一个结果。(要么去,要么没去)
2.基本上也只会有一种结果出现!!!(除非有意为之,如switch中)
解释:七点钟要么起来,要么就是没起来,反正只能出现一种结果,不可能说你七点钟即起来又没起来的情况。
基础知识:if...else....语句和for循环语句,只能影响它接下来的一个语句,要想影响多个语句,必须要加大括号,好的代码风格就是,无论你影响的是一个语句还是多个语句,都用大括号括起来,这样自己看着清楚,别人看着也清楚。 让别人看起来就是一个人写的!!!
1.最标准的选择结构语句:if()...else...
if(布尔表达式) ---->举例: if(10>2) ...语句; System.out.println("条件为真"); else else ...语句; System.out.println("条件为假");if()...else...和基础知识(是否加大括号)的联合使用
举例:如果10>1我想输出AAA,否则的话输出BBB,CCC.
if()...else...的变形之一 if()...
为啥说if()...else...是if()的变形之一呢,因为我可以用if()...else...表达出和if()...同样的效果
总结:if else的各种变形其实都是由最标准的if()...else...来进行变化的,学好基础,无论怎么变化你都会,而不是去记去背,这样熟悉的你会,没见过的还是不会。if()...else...的变形之二 if()...else if...else...
举个例子:如果分数大于90分,那么等级就是A。否则的话就是其他情况(也就是分时小于等于90),而其他情况也可以继续分呀,比如大于80,或者大于70都可以呀。来个分支图给你们理解理解!!!!
4.switch...case...语句
和c语言的用法基本上是一模一样的,但表达的类型有点不同,让我一一道来。
基本使用
public class Test { public static void main(String[] args) { int data = 10; switch(data) { case 1: System.out.println("Monday!"); break; case 2: System.out.println("Tuesday!"); break; case 3: System.out.println("Wednesday!"); break; case 4: System.out.println("Thursday!"); break; case 5: System.out.println("Friday"); break; case 6: System.out.println("Saturday!"); break; case 7: System.out.println("Sunday!"); break; default: System.out.println("error!"); } }
讲解:1.和c语言一样的坑:有无break的区别
2.default就是都没匹配成功,那就default,default位置建议放到最后。放在前面的话,就不会进行任何匹配,而是按照顺序结构一样一次执行。
和c语言中不同的地方---switch(表达式)表达式的类型
基本类型中:整形类型除了long类型其他的都可以,字符类型也可以,浮点型和布尔类型是不可以滴!引用类型中String类型和枚举类型也是可以滴!!!
循环结构
循环结构的分类啥是循环,就是重复的意思!
为啥要有循环?重复的话,那我重复写不也可以么。
举个例子:那我让你重复输出3次aaa,你可以说我写一条然后再复制两次就完事了,那我让你写一千次,一万次呢?
这个时候你就不是那么好写了,但我几条简单语句就可以输出1万次aaa,我来给你写写看。public class Test { public static void main(String[] args) { for(int i = 0; i <10000; ++i) { System.out.println("aaa"); } } }这样的话是不是就方便了很多!!!
1.for();
2.while(){ }
3.do{ }...while();
如同我的书写顺序一样,常用的就是1和2,第三种只有特殊情况才会进行使用。
1.先来讲一讲我最喜欢的for()循环!
1.for()循环的执行顺序。
2.用代码给你们实 *** 一下
3.注意:表达式1只执行一次嗷!
break和continue的讲解
我们说到,如果我在循环过程中想跳出循环去执行后面的语句,我们可以使用break;
如果我们在循环过程中不想执行某次循环体的语句,但又不想结束循环体我们可以使用continue。总结:break会结束循环体,continue只会跳出循环体的某次执行,但依旧还在循环体中。
使用范围:
1.break和continue在所有循环体中都可使用。
2.单独的if语句无法使用break和continue,但是在循环体中嵌套if语句时,if语句就可以使用break和continue。
3.switch中也可以使用break。
让我画一张图讲解两个点:
1.适用范围2我来重点讲一讲嗷。
2.再来举个例子明确一下continue和break的区别。
再来讲讲while循环
举个例子,还是输出0-9.
public class Test { public static void main(String[] args) { int i = 0; while(i < 10) { System.out.println(i); ++i; } } }其实for循环和while循环是一样的,唯独i的作用域不同(一个是在for作用域里有效,一个是mian方法中有效)。
for循环和whlie循环的对比图
写的我好累......
do{} while()语句do{} while()语句,我只想说一说其中的坑,基本上也不用它......
它会执行do中的语句,之后在进行判断,也是因为这个原因,他不管初始条件是否为真为假,它都会执行一次!
除非有特殊需求才会使用它。终于写完了,要想收获的多,那就每一个案例都去敲一敲,多犯点错,这样才能对!(当然,你也可以认为我是乱说的)
拖了好几天终于写完了,刚好也是新年的第一天,那就祝大家新年快乐啦!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)