流程语句
- 顺序结构
- 选择结构
2.1 判断语句(if)
if(关系表达式){
语句体
判断表达式是否为true,为true则执行语句体,反之不执行
}
2.2 if…else 语句
if(关系表达式){
语句体1
}else{
语句体2
}
判断表达式是否为true,为true 则执行语句体1,否则执行语句体2;
一定是二者选其一
例:
int num = 16
if(num %2==0){
System.out.println(偶数)}
else{
System.out,println(基数)}
执行第一个语句体,输出为偶数;
2.3 if…else if…else
if(判断条件1){
执行语句1
}else if (判断条件2){
执行语句2
}else if (判断条件3){
执行语句3
}…
}else if (判断条件n){
执行语句n
}else{
执行语句n+1
}
判断条件正确就执行哪个判断条件,如果前面的判断条件都不符合,则执行最后else里的执行语句
例:
public class Testif {
public static void main(String[] args) {
int x =10;
int y;
if(x>=3){
y = 2*x +1;
}else if(-1<x && x<3){
y = 2*x;
}else{
y =2*x-1;
}
System.out.println(y);
}
}
选择语句
Switch 语句格式
switch(表达式){
case 常量1:
语句体1;
break;
case 常量2:
语句体2;
break;
…
case 常量n:
语句体n
break;
default:
语句体n+1;
break;
}
注意事项
- 多个case后面的数值不可以重复;
- switch后面小括号当中只能是下列数据类型
基本数据里类型:byte/short/char/int
引用数据类型:String字符串,enum枚举
3.switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句可以省略
省略:匹配到哪一个case就从哪一个位置向下执行,知道遇到break;
循环语句
for循环,while循环,do while循环
循环结构:
- 初始化语句: 在循环开始最初执行,而且只做唯一一次.
- 条件判断: 如果成立,则循环继续;如果不成立,则推出循环.
- 循环体:重复要做的事情内容,若干行语句.
- 步进语句:每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次.
for 循环:
for(1初始化表达式;2布尔表达式;步进表达式4){
循环体3
}
如何执行:
1.先执行初始化表达式,只执行一次
2. 再执行布尔表达式,判读true or false
3. 若为true则执行循环体3,再执行步进表达式4,在判断布尔表达式,循环
4. 直到布尔表达式为false,结束循环
例:
public class TestFor {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++)
{
System.out.println("我错了 " + i);
}
System.out.println("完成");
}
While 循环有一个标准格式和扩展格式
标准格式:
while(条件判断){
循环体
}
如何执行:先执行条件判断,若为true则执行循环体,反复,直到条件判断为false
扩展格式:
1初始表达式
while(布尔表达式2){
3 循环体
4 表达式
}
执行顺序: 跟for循环一样,1232–>234–>234–>直到2 为false
例:
int w=1;
while (w<=100){
System.out.println("没问题");
w++;
do while 循环
标准格式:
do{
循环体
}while(条件判读);
扩展格式:
1初始化语句
do{
3循环体
4步进表达式
}while();
注意: 第一次无条件直接执行一次,执行完第一次后再进行while判断,若为true则循环,false则退出.
注意while后面的分号;
例:
int w=1;
do {
System.out.println("没问题");
w++;
}while (w<=100);
三种循环的区别:
1: do while 循环可以循环一次,即使条件不符合,而其他不行.
2: for 循环只能内部自己使用,在小括号中定义.do while 与 while 循环出来还可以继续使用;
条件控制语句
break 关键字
- 可以用在switch语句当中,一旦执行,整个switch语句立刻结束.
- 还可以用在循环语句中,一旦执行,整个循环语句立刻结束,打断循环.
例:
public static void main(String[] args) {
for (int i = 1; i <= 100; i++)
{
if(i==4){
break;
}
System.out.println("Hello" +i);
}
}
这样循环前三个数字,第四个和后面的都不循环
Continue关键字
一旦执行,立刻跳过当此循环剩余内容,马上开始下一次循环.
例:
public static void main(String[] args) {
for (int i = 1; i <= 100; i++)
{
if(i==4){
continue;
}
System.out.println("第几层" +i);
}
}
这样就不会出现第四层,但是后面的层数还是会显示.
死循环
标准格式:
while(true值){
循环体
}
嵌套循环
例:
public static void main(String[] args) {
for(int hour=1; hour < 24; hour++ ){
for(int minute =0; minute<60; minute++ ){
for (int second =0; second<60; second++) { System.out.println("现在是" + hour + "点" + minute + "分" + second + "秒");
}
} } } }
练习题:
0-100的偶数相加:
用for循环:
public static void main(String[] args) {
int sum = 0;
for (int i = 0; i<= 100; i ++){
if (i % 2 ==0){
sum = sum +i ;
}
}
System.out.println("结果是" + sum);
}}
用while循环:
public static void main(String[] args) {
int i =0;
int sum =0;
while (i<=100){
i++;
if (i%2==0){
sum=sum + i ;
}
}
System.out.println(sum);
}
}
用do while循环
public static void main(String[] args) {
int i =0;
int sum =0;
do {
i++;
if (i%2==0){
sum = sum +i ;
}
}while (i<=100);
System.out.println(sum);
}
}