java语言基础2
选择结构switch语句的格式及其解释
swich语句格式:
switch(表达式){
case 值1:
语句体1;
break;
case值2:
语句体2;
break;
case3:……
default:
语句体n + 1;
break;
}
格式解释:
Switch:表示这是switch选择结构;
表达式:这个地方的取值是有限定的
short,byte,int,char
JDK5以后可以是枚举;
JDK7以后可以是字符串;
case:后面跟的是要和表达式进行比较的值;
语句体:要执行的代码
break:表示中断,结束的意思,可以控制switch语句的结束。
default:当所有的值和表达式都不匹配的时候,就执行default控制语句。其实他就
相当于if语句的else。
选择结构switch语句的注意事项
注意事项:
case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的;
case后面的值不能出现相同的;
default可以省略吗?
可以省略,但是不建议。除非判断的值是固定的。
break可以省略吗?
可以省略,一般不建议。除非结构可能不是你想要的。
default的位置一定要在最后吗?
可以出现在switch的任意位置。
switch语句的结束条件
遇到break;
执行到程序的末尾。
选择结switch和if语句的各自使用场景
if语句使用场景:
针对结果是Boolean类型的判断;
针对一个范围的判断;
针对几个常量值的判断;
switch语句使用场景
针对几个常量值的判断;
循环结构循环语句概述
循环语句可以在满足循环条件的情况下,反复执行某段代码,这段被重复执行的代码
被成为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为
false,从而结束循环,否则循环将一直执行下去,形成死循环。
循环语句的组成:
初始化语句:
判断条件语句:是一个Boolean类型
循环体语句:多次做的事情
控制条件语句:判断变量,使得在合适的时候停止。
for循环语句的格式和基本使用
for循环语句格式:
for(初始化语句;1.判断条件语句;3.控制条件语句){
2.循环体语句;
}
执行流程:
1.执行初始化语句;
2.执行判断条件语句,看其结果时true还是false;
如果是fales,循环结束
如果是true,继续执行
3.执行循环体语句
4.执行控制条件语句;
5.回到B继续;
初始化语句就是int x = 1;
判断语句就是Boolean类型;例如 x <=10;
控制条件语句就是 x++;
循环体语句就是System.out…
循环结构for语句
输出1-10;
for(int x = 1; x<=10; x++){
语句体(x);
}
for(int x = 0; x< 10; x++){
执行语句体(x+1);
//定义的变量x只在大括号范围内有效;
格式如果等于1时x小于等于10,但是如果初始化语句为x等于0,x就必须小于1,语句体执行时(x+1);
循环结构for语句2
求1-10的加法;
分析:
0+1=1;
1+2=3;
3+3=6;
6+4=10;
10+5=15;
由此可见我们要定义两个变量:
一个变量用于存储第一个加数,第一个加数其实保存的时以前的所以数据和。默认初始值
应该是0;
一个变量用于存储第二个加数,第二个加数其实就是每次的而数据变化的值。
循环for语句的联系乘阶
什么是阶乘?
n! = n*(n - 1)!规则 !(阶乘)
n! = n*(n -1)(n - 2)…321
亦即n!=1×2×3×…×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。
列如5的阶乘为1234*5
for循环语句水仙花数练习
//需求:
分析:
所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
举例:153就是一个水仙花数
153 = 111 + 555 + 333
A:三位数其实是告诉我们了范围
B:通过for循环我们就可以实现获取每一个三位数。
但是麻烦是如何获取这个三位数的个,十,百位上的数据。
我们如何获取一个数据的个,十,百呢?
假设有一个数据:153
ge:153%10=3;
shi:153/10%10=5;
bai:153/10/10%10=1;
C:让ge*ge*ge + shi*shi*shi+bai*bai*bai和该数据比较,如果相同,就把该数据在控制台输出。
while循环语句
while循环语句格式:
基本格式
while(判断条件语句){
循环体语句;
}
扩展格式
初始化语句;
while(判断条件语句){
循环体语句;
控制条件语句;
}
通过这个格式,我们可以发现其实while跟for循环差不多的;
for(初始化语句;判断语句;控制条件语句){
语句体;
}
循环while语句和for循环语句的区别
while循环和for循环的区别?
使用区别:如果你想在循环结束后,继续使用控制条件的哪个变量,用
while循环,否则使用for循环。不知到用for循环。
因为变量及早的从内存中消失,可以提高内存的使用效率;
其实还有一种场景的理解:
如果是一个范围的用for循环非常明确;
如果是不明确要做多少次,用while循环较合适。
// An highlighted block
for(int i =0; i<=10; i++){
System.out.println();
}
// An highlighted block
int x = 0;
while(x <=10){
System.out.println();
x++;
}
循环结构du…while语句的格式和基本使用
do…while循环的基本格式:
do{
循环体语句;
}while(判断条件语句);
扩展格式:
初始化语句;
do{
循环体语句;
控制条件语句;
}while(判断条件语句);
do…while循环至少执行一次循环体;
而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
每次使用循环优先考虑for,其次while,最后才是do…while循环。
循环结构之死循环
注意死循环;
a:一定要注意控制条件语句(++);
b:两种最简单的死循环格式;
(第一种)
// An highlighted block
//死循环:
public static void main(String[] args){
int x = 0;
while(x < 10){
System.out.println(x);
x++;(没有x++会陷入死循环)
}
(第二种)
// An highlighted block
while(true){
System.out.println("");
}
(第三种)
// An highlighted block
//第二种利用for循环执行死循环;
for(;;){
System.out.println("")
}
}```
# 循环结构嵌套式输出四行五列的星星
System.out.print();这个是不换行的;
我们可以通过println();里面什么也不写进行换行;
循环嵌套:就是循环语句的循环体本身是一个循环体语句。
通过结果我们知道这样一个结论:
(外循环控制行数;
内循环控制列数;)
外表示行,内表示列;
循环嵌套式:
```javascript
// An highlighted block
for(int y = 0; y<4; y++){
//(要循环的语句体;)
for(int x = 0; x <5; x++){
System.out.print("*");
}
System.out.println();
}
#跳转语句和break语句;
控制跳转语句:
break:中断
continue:继续
return:返回
在switch或者loop外部中断;
使用场景:
switch语句种
循环语句中(循环语句中加入了if判断的情况)
注意:离开上面的两个场景,无意义;
如果使用:
a:跳出单层语句;
b:跳出多层语句;
想要实现这个效果,就必须知道一个东西。带标签的语句。
格式:
标签名:语句;
控制跳转语句continue语句
continue:继续;
使用场景:
循环中。离开此场景无意义。
break:跳出单层多层循环;
continue:跳出一次循环,进入下一次的执行;
控制跳转语句return语句
break,continue只是针对语句循环
return是针对方法。
总结
1.switch语句
格式:
Switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
default:
语句体n+1;
break;
}
格式解释说明:
switch:说明这是switch语句。
表达式:可以是byte,short,int,char
JDK5以后可以是枚举;
JDK7以后可以是字符串;
case:后面的值就是要和表达式进行比较的值
break:表示程序到这里中断,跳出switch语句
default:如果所以的情况都不匹配就执行default;
面试题
switch语句可以是byte吗?可以是long吗?可以是String吗?
可以 不可以 JDK7以后可以
注意事项:
case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
default可以省略吗?
可以但是不建议,因为它的作用是对不正确的情况给出提示。
特殊情况:
case就可以把值固定;
default一定要在最后。
2.循环语句
有三种循环:for,while,do…while;
for循环语句
格式:
for(初始化语句;判断语句;控制条件语句){
循环体语句;
}
1.执行流程:
2.执行初始化语句
3.执行判断条件语句:
如果是true,就继续;
如果是false就结束循环;
4.执行循环体语句
5.执行控制条件语句
6.回到2
注意事项:
判断条件语句无论简单还是复杂,结果是Boolean类型;
循环体语句如果是一条,可以省略大括号但是不建议
有分号就没有左大括号,有左大括号就没有分号;
while循环
格式
while(判断条件语句){
循环体语句;
}
扩展格式;
初始化语句;
while(判断条件语句){
循环体语句;
控制条件语句;
}
for和while的区别
1.使用上的区别
for语句的那个控制条件变量,在循环结束后不能在使用了。
而while的可以继续使用。
2.理解上的区别
for适合于一个范围的判断;
while适合次数不明确的;
举例:吃葡萄,存钱;
do...while循环
基本格式
do{
循环体语句;
}while(判断条件语句);
扩展格式
初始化语句;
do{
循环体语句;
控制条件语句;
}while(判断条件语句);
通过查看格式,我们就可以看出其实三种循环的格式可以是统一的;
三种循环的区别;
do..while循环至少执行一次循环体;
for和while必须先判断条件是否是true,然后才能能决定是否执行循环;
循环使用的注意事项(死循环)
1.一定要注意修改控制条件,否则容易出现死循环。
2。最简单的死循环格式
a:while(ture){...}
b:for(;;){}
3.控制跳转语句
(1)break:中断的意思
A:用在循环和switch语句中,离开此应用场景无意义。
B:作用
a:跳出单层循环;
b:跳出多层循环,需要标签语句的配合;
(2)continue:继续
A:用在循环中,离开此应用场景无意义。
B:作用
a:跳出单层循环的一次,可以继续下次
填空
for(int x = 1; x<=10; x++){
if(x %3==0){
补齐代码
}
System.out.println("Java基础班");
}
如何在控制台输出两次:Java基础班;break'
如何在控制台输出两次:Java基础班;continue;
如何在控制台输出两次:Java基础班;System.out.println("Java基础班");