Day_02 流程控制、循环、方法
1 Switch
1.1 语法
javaSE1.7之前只可以操作整型,1.7开始(包括1.7)可以操作字符串
switch(int/char类型){
case 值:
代码;
break;
case 值:
代码;
break;
case 值:
代码;
break;
default:
代码;
}
1.2 案例
//default 也可以写在上面,但是还是会先执行case再执行default
char c=‘S’;
switch(int/char类型){
case ‘A’:
System.out.println(“优秀”);
break;
case ‘B’:
System.out.println(“良好”);
break;
case ‘C’:
System.out.println(“及格”);
break;
default:
System.out.println(“差”);
}
1.3 注意事项
break;
每个分支都必须以break结尾,否则会出现case穿透情况,找到符合条件的判断之后,就不再判断,直接执行后面的程序
2 循环结构
循环结构就是重复执行某些代码知道慢足条件结束循环
2.1 循环三要素
循环三要素:起始值、终止条件、步长
2.2 For
2.2.1 语法
for循环又称计数循环,在某个次数范围内,重复做某件事
语法:
for(表达式1;表达式2;表达式3){
重复执行的代码;
}
执行过程:
先执行表达式1,并且只执行一次
执行表达式2,根据结果进行处理,如果是true,就执行循环体,如果是false就终止
执行完循环体之后,执行表达式3,然后执行表达式2,同上…
重复执行表达式3,表达式2循环体,一直到表达式2为false终止
2.2.2 案例
for语句中条件可以不写,分号必须有,相当于死循环,没什么价值
for(;;){
System.out.println(1);
}
2.2.3 嵌套循环
嵌套 :循环体中还有一个循环
双重嵌套,可以模拟二维表格
可以把外层循环当做行,内层循环当做列
2.2.4 九九乘法表
2.3 While
2.3.1 语法
while循环又称为真假循环,是某个条件为真的时候执行
语法:
while(boolean表达式){
java代码;
}
2.3.2 案例
2.4DoWhile
2.4.1语法
do…while:能够保证代码,至少执行一次,先执行一次,在判断要不要继续执行
语法:
do{
java代码;
}while(boolean表达式);
2.4.2 案例
2.5 Break
break 语句:
1用于switch 结束分支,放置case穿透
2用于循环中,结束循环(如果是嵌套循环的话,结束距离最近的)
2.6 BreakOutfor
2.7 Continue
continue的功能是:跳过当前次循环,继续下一次(碰到continue直接执行++操作)
3 流程控制总结
条件判断语句:if语句、switch语句。
循环执行语句:do while语句、while语句、for语句。
跳转语句:break语句、continue语句、return语句。
如图:
控制语句类型 关键字 作用
选择结构语句 if、if else、else if
switch 通过开关机制,选择要执行的代码
循环结构语句 for、while、do while 通过循序机制,反复执行相同的代码段
改变语句执行序 break、continue 通过打断或继续机制,改变当前工码的执行顺序
三种循环结构的异同点:
用while和do…while循环时,循环变量在循环体之前初始化,而for循环一般在语句1进行初始化。
while 循环和for循环都是先判断表达式,后执行循环体;而do…while循环是先执行循环体后判断表达式。也就是说do…while的循环体最少被执行一次,而while循环和for就可能一次都不执行。
这三种循环都可以用break语句跳出循环,用continue语句结束本次循环。
4 方法
4.1概述
什么是方法:一堆代码的集合,当使用这个方法,就等于使用这些代码
使用方法的优点:
1 使程序更加简洁更加清晰
2 有利于程序维护
3 提高开发效率
4 提高代码的重用性
方法目的:代码重用,如果代码中出现很多重复代码,说明你的程序不够简洁
函数和方法的使用:
函数:在类之外,和类平级,使用该函数不需要任何二次引用,可以直接使用
方法:在类中,使用该方法的时候需要加前缀找到它,才能使用它
本质:
方法和函数其实是一个东西,只不过根据放置位置不同,叫法不同,调用方式不同
c中只有函数,c++函数和方法都有,类外叫函数,类中叫方法,java中只有方法
4.2 方法声明
方法声明:
[修饰符列表] 返回值类型 方法名(参数列表){方法体}
[]:表示可以有,也可以没有,也可以有多个
修饰符;根据需要选择不同的修饰符
权限控制:public,private,protected,默认四选一
其他:static,final,abstract,synchronized(final,abstract 二选一)
返回值类型:完成功能后,是否需要返回结果如果不需要就写void,如果需要返回结果,就写结果数据对应的类型即可。比如返回一个9,返回值类型这里就写 int/byte/short/long
可选:从11种数据类型中任意一种或如果没有返回值就选void (12选1)
方法名:方法的名字,符合命名规则即可(大小写字母,美元符号,下划线,数字.且数字不能打头.不能使用关键字和保留字)
方法名/变量名首字母建议小写,类名建议首字母大写
参数列表:调用方法时,需要传递的数据可以有,可以有多个,可以没有,如果没有,()只写小括号即可,多个用逗号隔开即可
形参:方法声明时,规定应该传入的数据的类型
实参:调用方法时,实际传递的具体的值
注意:方法声明,只管功能实现,保证功能没有问题
方法调用之后,至于最终这个程序用来干什么,与我们无关
4.3 方法分类和调用
方法分类:
静态方法:使用static修饰的方法是静态方法,和类是一个级别的
成员方法:没有static修饰的方法是成员方法
构造方法:用于创建对象
方法调用:
静态方法:类名.静态方法名(参数);类名.静态方法名)
成员方法:对象.成员方法名(参数)
构造方法:new
方法不调用的时候不执行,调用之后才会执行,并把结果返回到调用处
意味着编写方法的时候,不需要考虑先后顺序,只需要考虑调用顺序即可,先调用先执行
4.4 入口方法main
特殊方法main:作为入口程序,由JVM调用,固定写法,不能更改,参数列表中的变量名args可以改
在java程序中只会执行main方法,所有代码的开始和结束,必须依赖于main方法中
public static void main(String[] args){
}
4.5 Return
4.5.1 概述
return:1 终止方法运行
2 返回数据
1 如果方法没有返回值(void),那么方法体中,可以没有return,如果写return,return后不能写任何数据,此时return只有终止方法运行的作用
2 如果方法有返回值(非void),那么方法体中,必须有return,而且return后要写上返回值类型对应的数据比如返回值int,则方法体中"return int类型的值”;
3 因为return有终止方法运行的作用,所以return之后不能写任何代码
4.5.2 无返回值
4.5.3 有返回值
4.5,4 注意
4.6 案例
4.6.1 无返回值
4.6.2 有返回值
4.7 方法重载
唯一性:表示唯一确定一个方法
1方法名
2参数列表
方法重载:方法名相同,参数列表不同
参数列表不同:1个数不同
2类型不同
一些程序功能类似,方法名不同,导致用户需要记住很多方法名不方便记忆,不美观