- switch语句
- for循环
- while循环
- do-while循环
- break和continue
- 写代码的步骤
一,switch语句:尽量不用它,不利于扩展
switch (expr1) {
case expr2: statements; break;
case expr3: statements; break;
case expr2: statements; break;
case expr3: statements; break;
default: statements; break;
}
说明:
(1):switch 的表达式 expr1 只能是整数型的值(包含byte、short、int 和char)或者 enum 枚举类型的常量值,不能是字符串或对象,也不能是long 型的值。 }
说明:
(2):当变量或表达式的值不能与任何case 值相匹配时,可选缺省符 (default)指出了应该执行的程序代码
int a = 6;switch(a) {
case 3 : System.out.println("三"); break;
case 4 : System.out.println("四"); break;
case 5 : System.out.println("五"); break;
default:System.out.println("默认哦"); break;
如果a=3或者a=4或者a=5,对应的输出结果一次是三,四,五
如果a=3或者a=4或者a=5,对应的输出结果一次是三,四,五
如果a=6,匹配不到任何的case,那么输出结果是默认哦
请注意这里的break,再看这个例子(主要是去掉了不同位置的break)
int a = 3;
switch(a) {
case 3 : System.out.println("三");
case 4 : System.out.println("四"); break;
case 5 : System.out.println("五"); break;
switch(a) {
case 3 : System.out.println("三");
case 4 : System.out.println("四"); break;
case 5 : System.out.println("五"); break;
default:System.out.println("默认哦"); break;
输出结果是: 三, 四
下面修改a的值,
int a = 4;
switch(a) {
case 3 : System.out.println("三");
switch(a) {
case 3 : System.out.println("三");
case 4 : System.out.println("四"); break;
case 5 : System.out.println("五"); break;
case 5 : System.out.println("五"); break;
default:System.out.println("默认哦"); break;
输出结果是: 四 虽然case3后面没有break,但是a的值是4,还是先匹配case 4.
下面去掉case 4后面的break,
int a = 4;
switch(a) {
switch(a) {
case 3 : System.out.println("三");
case 4 : System.out.println("四");
case 5 : System.out.println("五"); break;
case 5 : System.out.println("五"); break;
default:System.out.println("默认哦"); break;
输出结果是: 四,五 (因为case 4后面没有break,所以程序继续往后走,一直到遇到case 5的break,所以输出四 五)
二,for循环:用于知道循环次次数的情况
for (初值表达式; boolean 测试表达式; 改变量表达式) {语句或语句块,这里可以放任意的java语句,也可以放for循环语句,形成多重循环}
三,while循环:适用于不知道循环次数,但知道循环条件的情况
while (布尔表达式) {语句或块}
四,do-while循环:适用于必须要执行一次的情况
do {语句或块;}while (布尔测试);
while和do-while的区别:while循环先判断条件,当条件为假时,就不再执行。而do-while不管条件是否为假,都会执行一次。
================================================================
int i = 6;
while(i < 5) {
System.out.println("===while i====" + i);
i++;
}
System.out.println("it is ok for while");
int a = 8;
do{
System.out.println("===do-while a====" + a);
a++;
} while(a < 7);
System.out.println("it is ok for do-while");
while(i < 5) {
System.out.println("===while i====" + i);
i++;
}
System.out.println("it is ok for while");
int a = 8;
do{
System.out.println("===do-while a====" + a);
a++;
} while(a < 7);
System.out.println("it is ok for do-while");
最终的输出结果是:
it is ok for while===do-while a====8it is ok for do-while
================================================================
五,
break: 跳出离break最近的循环
continue:跳出本次循环,继续下一次循环
================================
for(int i = 0; i < 10; i++) {
if( i == 5) {
break;
}
System.out.println("i====" + i); //i的值是0到4
}
for(int a = 0; a < 10; a++) {
if( a == 5) {
continue;
}
System.out.println("a========" + a); //a的值是0到4, 6到9,不含5
}
if( i == 5) {
break;
}
System.out.println("i====" + i); //i的值是0到4
}
for(int a = 0; a < 10; a++) {
if( a == 5) {
continue;
}
System.out.println("a========" + a); //a的值是0到4, 6到9,不含5
}
================================
六,写代码的步骤:
1,先用中文写思路
2,写代码 ====> 其实就是个翻译的过程
3,做完题目以后要思考:同一类型的题目的做法以及稍微变形后的做法 ====>要举一反三
tips:
sum = sum + a; 等价于 sum += a;
sum = sum % a; 等价于 sum %= a;