java的选择结构及案例解析
本章主要对java的多种选择结构进行介绍,个别会举例进行说明补充。
// if单选择结构 if(布尔表达式){打印内容}
例:if(a>0){
sout("a是一个大于零的数");
}
//if的双选择结构 if(布尔表达式){打印内容}else{打印内容}
例:if(a>0){
sout("a是一个大于零的数");
}else{
sout("a不是小于零的一个数")
}
//if的多选择结构 if(布尔表达式){打印内容}else if(布尔表达式){打印内容}else{打印内容}
例:if(a>=60 && a<80){
sout("及格");
}else if(a>=80 && a<=100){
sout("优秀")
}else{
sout("不及格")
}
//if的嵌套结构 if(布尔表达式){打印内容 if(布尔表达式){打印内容}}
例:if(a<0){
sout("a是一个小于零的数")//满足上面布尔表达式执行该内容
if(a>0 && a<10){ //满足该表达式执行下面对应内容
sout("a式一个大于零小于10的数")
}
}
//switch case 语句判断一个变量与一系列值中的某个值是否相等 每个值称为一个分支
//switch语句中的变量类型可以是:byte short int char 再jdk7开始以后 可以支持String类型
//case标签必须为字符串常量或字面量
//语法结构为:
switch(expr){
case value:
sout();
break; //可选 跳出循环的意思 如果第一行不加会将value2的值也打印出来 case穿透现象
case value2:
sout();
break;
default:
sout()
}
//案例:
// 案例中用了char类型 可以参照更改为String类型 格式一致
// 字符的本质还是数字
char grade = 'F';
switch (grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("不及格");
break;
default:
System.out.println("未知");
}
//while是最基本的循环结构 只要布尔表达式为true 它就会一直执行下去
//语法结构为:
while(布尔表达式){
//循环内容
}
//案例:打印1 ~ 100
int i =0;
while(i < 100){
i++;
sout(i)
}
//对于while而言 只要不满足条件就不会进入循环 但有时我们需要即使不满足,也需要执行一次
//do...while 和 while循环相似 不同的式do...while至少会执行一次
//while先判断后执行 do...while是先执行后判断
//语法:
do{
//代码语句
}while(布尔表达式);
//案例:
int a = 0;
while(a<0){ //while
System.out.println(a+"*********");
}
System.out.println("——————————————————————————————————————————");
do { //do while 执行了一次
System.out.println(a+"-------");
a++;
}while(a<0);
//打印结果
——————————————————————————————————————————
0-------
//for循环 使一些循环结构变得更加简单了
//for循环是支持迭代的一种通用结构,是最有效、最灵活的循环结构
//for循环的执行次数实在执行之前就确定的
/**
语法 最先执行初始化步骤 可以声明一种类型 但可以初始化一个或者多个循环变量,也可以是空语句
其次 检查布尔表达式 如果为true 循环执行 如果为false 循环体终止 开始执行循环体面的内容
执行一次循环后 更新循环控制变量(迭代因子控制循环变量的增减)
再次检查布尔表达式 执行上面的循环过程
*/
for(初始化值;布尔表达式;更新){
//代码语句
}
//案例: 打印 1-100的数字和
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum+=i;
System.out.println(sum);
}
//案例2
//100 内奇数 偶数的和
int oddSum = 0;
int evenSum = 0;
for (int i = 0; i <= 100; i++) {
if (i%2!=0){
oddSum+=i;
}else{
evenSum+=i;
}
}
System.out.println("奇数的和"+oddSum);
System.out.println("偶数的和"+evenSum);
//java5引用了一种主要用于数组或者集合的增强型for循环
//语法:
for(声明语句 : 表达式)(
//打印语句
)
//案例
int[] nums ={10,20,30,40};
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
System.out.println("===========================");
//增强for循环
for (int num:nums){
System.out.println(num);
}
//打印结果
10
20
30
40
===========================
10
20
30
40
//break 用于强行退出循环 不执行循环中的剩余语句
//案例
for (int i = 0; i < 100; i++) {
System.out.println(i);
if (i==30){ //当a==30时候 该循环停止
break;
}
}
//continue 用于终止某次循环 即跳过循环体中尚未执行的语句 接着下一次进行是否循环的判定
//案例
int i = 0;
while (i<35){
i++;
if (i%10==0){
continue; //布尔值为true 打印语句不会执行 直接终止
}
System.out.print(i+" ");
}
//打印结果 每次遇到10 Bianca跳过去执行下次循环
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35
//goto 关键字
// 自定义一个关键字 用关键字来控制循环
outer:for (int i = 1; i < 50; i++) {
for (int j = 2; j <=i/2 ; j++) {
if (i % j==0){
continue outer;
}
}
System.out.print(i+ " ");
}
座右铭:控制欲望 脚踏实地