第五天
switch语句
switch语句的执行过程是,将<表达式>的值按照从上到下的顺序依次与<常量表达式>的结果进行比较,当<表达式>的值与某个常量相等时,执行后面的<语句序列>,直到遇到break或switch语句执行完;若没有与表达式值相等的常量值,则执行default字句;此时若没有default字句,则不执行。
switch(表达式){
case 常量表达式1: 语句序列1;
break;
case 常量表达式2: 语句序列2;
break;
case 常量表达式3: 语句序列3;
break;
......
case 常量表达式n: 语句序列n;
break;
}
最重要的一点就是要是有与表达式的值相同的常量表达式的时候绝对先执行case 常量表达式后面的语句序列,而不是default在其前就先执行default.还有一点就是如果没有break的时候就会发生穿透效果,没有break时,即使执行完与表达式相等的常量表达式后的语句序列之后,仍然会向下继续执行后面所有case和default的语句序列
for 循环语句.
for循环语句用来执行重复多次的操作,首先执行初始化语句,给变量进行赋值,如果满足条件成立了之后执行循环体语句,之后执行步长控制体语句.再次循环以上的过程,判断条件是否成立,依次循环,当条件表达式不成立时,则for语句结束.
for(初始化语句;条件半段表达式;步长语句/控制语句){
循环体语句;
}
while语句
while语句有些类似于for语句,while的表达式如下
while(条件表达式){
循环体语句;
控制体语句/步长语句;
}
循环的执行过程从初始化语句开始进行赋值,条件表带是成立,执行循环体语句,再次执行控制体语句,之后再次判断条件表达式是否成立,当不成立时while结束.while相对于for来说更适合不明确循环的次数的时候去使用.
for和while二者之间的区别
根本上的区别显而易见就是格式上的区别,上面有二者的的表达式.for语句在结束循环后不能再访问for中1变量,for循环结束,for中的变量需要被释放掉了,而while不同,while循环可以访问.
在内存方面上来说for循环节省内部空间,因为循环结束后变量被释放,内存因此被节省了下来,而while循环结束后仍然可以访问这个变量,这样就比较消耗内存空间.
总的来说for循环更适合明确循环次数的使用,比如循环输出数组的中的值,while循环适合不明确循环次数的使用,比如猜数问题中循环执行判断猜测的数字是否与给定的数字相同.
死循环
死循环就是一直在循环状态的循环,因为表达式一直成立,不能判伪,所以循环体语句一直执行,死循环用来控制流程,在开发中的一个用法就是玩第一人称的时候WASD前后左右,这便是用死循环来写的.
for(;;){
循环体语句;
}
while(true){
循环体语句;
}
do-while循环
do-while语句在执行的时候优先执行循环体语句,即使while条件表达式中的条件不成立,也至少执行一次.
语句结构如下.
初始化语句;
do{
循环体语句;
控制体语句;
}while(条件表达式);
在开发中优先使用for循环,其次是while循环,最后是do-while循环.
循环嵌套
循环嵌套语句就是将一个循环语句当成循环体嵌套进另一个循环语句中.
列如for循环的循环嵌套:
for(int i = 0;i < 10; i++){
for(int j = 0;j < 5;j++){
System.out.println("循环嵌套");
}
}
跳转控制语句
跳转控制语句存在三个关键字:
break: 用来结束中断当前的循环,在switch中使用的较多,跟在一个case后用来结束switch语句.当然其他循环中也可以使用,只是常见于switch语句.
return:很少单独使用,一般来说放在有返回值的方法里,使用return返回一个值,要是没有return回报错,主要用来结束方法.
continue:用来结束当前的循环立即进入下一次循环
方法
方法就是用来解决一类问题的代码的有序组合,就是一个功能模块.
在java中方法的定义一般是:
访问修饰符 返回值类型 方法名(参数列表){
方法体;
}
访问修饰符一般有:public,protected,private甚至可以省略,public表示该方法可以被其他任何地方去调用,protect可以在同一个包中的类里去调用,还有子类中去调用,而private仅可以在本类中进行调用,
返回值类型:一般是方法返回值的类型,如果不需要方法返回任何类型则直接写void,如果需要返回值类型则需要指定其返回的类型,并在方法体中使用return语句返回值.
方法名:是定义方法的名字,必须使用合法的标识符去定义方法名.
参数列表:是传递给方法参数的一个部分,参数可以有任意个,多个参数之间以逗号隔开,每个参数由参数类型和参数名组成,参数类型和参数名之间用空格隔开.
根据方法是否带参,是否带返回值,可以将方法分为以下几种:
- 无参无返回值方法
- 无参带返回值方法
- 带参无返回值方法
- 带参带返回值方法