java第四章学习笔记:流程控制---java世界的航行舵手
2018-03-11 16:10
288 查看
【因为每一章都篇幅比较长(10多页,难免有的地方会写错字,如发现请指正,本人不胜感激)】
【温馨提示:本人有java基础,算是回顾性的做这系列笔记方便以后再次复习这些细小的点,所有知道的就没往上写】
上一章是各种运算符介绍,但在程序开发中只有运算符是不够的,还需要流程控制,主要包括:分支语句、循环语句、循环控制语句。
java分支语句有两种:if条件语句和switch多分支语句
[需注意一个等号是赋值,两个等号才是条件判断]
eg:这个例子容易看错
下面是多层嵌套
基本语法:
switch(判断表达式)
{
case 表达式a: 匹配执行代码
break;
case 表达式b: 匹配执行代码
break;
……..
default:
与所有case都不匹配时执行的代码
}
default为可选部分,不需要的时候可以没有
4.2.2 合法的判断表达式
switch语句的圆括号中表达式需遵循下列规则
1、基本类型型表达式
2、枚举类型型表达式
1、基本类型型表达式
要求返回值类型必须是int兼容的即表达式来行只能是byte,short,char,int这四种(其中byte、char,short可以自动提升为int)
不break的结果也不会像我想的继续执行。B等,C等那样
2、枚举类型型表达式
不能写skyColor.red是因为系统自动能从skyc得到red属于哪种enum类型
4.2.3 合法的case表达式要求(三个)
1、与判断表达式匹配;
2、自身是常量
3、不能有两个相同的case
4.3 while循环语句
重复执行相同的代码,java中三种实现循环流程的语句:
1、while语句(条件满足才执行)
2、do-while语句(限制性一次循环体再计算表达式值即至少执行一次)
运行结果:
知道执行次数,那么就用for
运行结果:
运行结果:
java中的goto只是一个关键字,不是一个语句,不能出现在代码中
也可以配合标号使用
这将是死循环,因为j无法++,i永远等于0因为执行到continue之后直接跳出然后继续判断是否满足条件
第四章完!
【温馨提示:本人有java基础,算是回顾性的做这系列笔记方便以后再次复习这些细小的点,所有知道的就没往上写】
上一章是各种运算符介绍,但在程序开发中只有运算符是不够的,还需要流程控制,主要包括:分支语句、循环语句、循环控制语句。
4.1 if 条件语句
【分支语句:是程序在不同情况下执行不同代码】java分支语句有两种:if条件语句和switch多分支语句
[需注意一个等号是赋值,两个等号才是条件判断]
eg:这个例子容易看错
下面是多层嵌套
4.2 Switch 多分支【没有break它会一直执行下去】
除了if 嵌套使用多分支外,可用Switch代替基本语法:
switch(判断表达式)
{
case 表达式a: 匹配执行代码
break;
case 表达式b: 匹配执行代码
break;
……..
default:
与所有case都不匹配时执行的代码
}
default为可选部分,不需要的时候可以没有
4.2.2 合法的判断表达式
switch语句的圆括号中表达式需遵循下列规则
1、基本类型型表达式
2、枚举类型型表达式
1、基本类型型表达式
要求返回值类型必须是int兼容的即表达式来行只能是byte,short,char,int这四种(其中byte、char,short可以自动提升为int)
不break的结果也不会像我想的继续执行。B等,C等那样
2、枚举类型型表达式
不能写skyColor.red是因为系统自动能从skyc得到red属于哪种enum类型
4.2.3 合法的case表达式要求(三个)
1、与判断表达式匹配;
2、自身是常量
3、不能有两个相同的case
1、与判断表达式匹配:即case后面的表达式必须与圆括号中switch中的表达式具有相同类型,eg: ![这里写图片描述](https://img-blog.csdn.net/20180311151349721?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM5ODg1Mjgy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 2、自身是常量 case 后的表达式必须是常量,即它的值是确定的,由此得到,这个值只能是字面常量或者是final的变量咯 eg: ![这里写图片描述](https://img-blog.csdn.net/20180311151922512?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM5ODg1Mjgy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 3、不能有两个相同的case ![这里写图片描述](https://img-blog.csdn.net/20180311153108614?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM5ODg1Mjgy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
4.3 while循环语句
重复执行相同的代码,java中三种实现循环流程的语句:
1、while语句(条件满足才执行)
2、do-while语句(限制性一次循环体再计算表达式值即至少执行一次)
int a=3;//打印小于10 while(a<10)//此处必须为boolean型 { System.out.println("a:"+a); a++; } do { System.out.println("do a is :"+a); a++; } while(a<4);//有分号,表示循环结束(先执行do导致a=4) System.out.println("now a is "+a); do while(a<12) { System.out.println("do while joint to use"+a); a++; } while(a<14);
运行结果:
知道执行次数,那么就用for
public static void main(String args[]) { for(int i=init();condition(i);i++,update(i))//三段之间用分号隔开 { System.out.println("循环体"+i); } } public static int init()//此方法必须也是static的 { System.out.println("初始化:"); return 0; } public static boolean condition(int i) { System.out.println("条件表达式"+i); return i<2; } static void update(int i) { System.out.println("更新表达式"+i); }
运行结果:
4.6 break中断语句
label:标号语句,break跳出外层循环问题for(int i=0;i<2;i++) { System.out.println("外部i循环"+i); label1: for(int j=0;j<3;j++) { System.out.println("内部循环j"+j); break label1; } }
运行结果:
java中的goto只是一个关键字,不是一个语句,不能出现在代码中
4.7 continue继续语句 【将一些不满足的】
continue也是起中断循环的作用,但与break不同的是,它只中断当次循环,当continue执行时,本次循环结束,进入条件判断,若条件满足。则进入下一次循环,通常与if连用,eg:也可以配合标号使用
这将是死循环,因为j无法++,i永远等于0因为执行到continue之后直接跳出然后继续判断是否满足条件
第四章完!
相关文章推荐
- JAVA学习笔记——第四章 流程控制
- (JAVA SE 学习笔记)Java.SE.第007讲.流程控制语句.续.Flow.Control.Statement.Cont
- Java学习总结之第四章 流程控制
- Java学习笔记001——学前准备、数据类型、运算符、流程控制语句
- 控制执行流程——(Java学习笔记三)
- JAVA学习笔记之三(控制程序流程)
- thinking in java 学习笔记(二)之控制执行流程
- [学习笔记]Java输入输出和流程控制
- 黑马程序员_java程序流程控制学习笔记
- Java学习笔记(三)-- 流程控制
- 《高性能JavaScript》- 第四章算法控制流程 - 学习笔记
- Java学习笔记:流程控制之分支语句
- Java学习笔记01---可视化输入输出,数据类型转化,流程控制
- 学习笔记 Java_毕向东_语言基础_程序流程控制 2014.7.29
- Java学习笔记之流程控制,数组(四)
- java 从零开始,学习笔记之基础入门<运算符表达式和流程控制>(六)
- 黑马程序员——学习笔记03.java流程控制语句和函数
- Think in java学习笔记-第3章 控制程序流程1
- JAVA基础知识学习笔记(流程控制、数组)
- (JAVA SE 学习笔记)Java.SE.第006讲.流程控制语句.Flow.Control.Statement