第三章 选择结构&&循坏结构
1.基本的选择结构
if(判定条件true 或者 false){
a;
} else {
b;
}
如果条件为真则执行a块代码,如果条件为假,则执行b块代码;
多重选择if结构嵌套的使用
举例源码如下:
package 章节2;
import java.util.Scanner;
public class 嵌套if选择结构 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入跑步成绩:");
double score=sc.nextDouble();
if(score<9.9) {
System.out.println("请输入您的性别");
String sex=sc.next();
if(sex.equals("男")) {
System.out.println("请参加男子组");
}
else {
System.out.println("请参加女子组");
}
}
else {
System.out.println("请继续努力");
}
}
}
先判定第一条件成绩是否合格,然后在判断是男生还是女生;根据条件的不同转向不同的方向。
switch 选择结构与法
switch(case){
case 1:
…
break;
.
.
.
case n:
…
break;
default:
…
}
举例源码如下
package 章节2;
import java.util.Scanner;
public class 星期天选择 {
public static void main(String[] args) {
System.out.println("请输入1-7之间的数字,输入0退出程序");
Scanner sc=new Scanner(System.in);
int choice=sc.nextInt();
switch(choice) {
case 1:
System.out.println("星期1");
break;
case 2:
System.out.println("星期2");
break;
case 3:
System.out.println("星期3");
break;
case 4:
System.out.println("星期4");
break;
case 5:
System.out.println("星期5");
break;
case 6:
System.out.println("星期6");
break;
case 7:
System.out.println("星期日");
break;
case 0:
System.out.println("程序结束!");
break;
default:
System.out.println("输入的数字不合格只能是1-7");
}
/*if(choice==0) {
System.out.println("程序结束!");
}*/
}
}
常用的循坏结构有:
while循坏 do()while 循坏 和 for循坏 异同点如下:
while :先判定后执行 如果符合条件在执行
do while :先执行在判定 不论是否符合 先执行了在判断条件
for 循坏 : 已经知道循坏次数得情况 使用for循坏 先判断在执行
continue : 结束本次循坏 进入下次循坏
break: 结束循坏体,执行循坏块后面的代码块。
package 章节2;
for循坏 求100以内的偶数和:
public class 一百以内偶数和 {
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循坏 进行100以内的偶数求和
package 章节2;
public class 一百以内偶数和2 {
public static void main(String[] args) {
int i=0;
int sum=0;
while(i<=100) {
if(i%2==0) {
sum=sum+i;
}
i=i+1;
}
System.out.println(sum);
}
}
100以内偶数求和 用 do while 实现
package 章节2;
public class 一百以内偶数和3 {
public static void main(String[] args) {
int i=0;
int sum=0;
do {
if(i%2==0) {
sum=sum+i;
}
i=i+1;
}while(i<=100);
System.out.println(sum);
}
}
双重for循坏来实现99乘法表打印:
package 章节2;
外层循坏控制行数
内层循坏控制列数
public class for循坏输出九九乘法表 {
public static void main(String[] args) {
for(int i=1;i<10;i++) {
for(int k=1;k<=i;k++) {
System.out.print(k+"*"+i+"="+i*k);
System.out.print("\t");
}
System.out.println("");
}
}
}
分别使用三种循坏语句打印输出100 95 90 。。。 5
package 章节2;
public class 循坏输出 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("这是使用for循环输出的:");
for(int i=100;i>0;i=i-5) {
System.out.println(i);
}
System.out.println("这是使用while循环输出的:");
int i=100;
while(i>0) {
System.out.println(i);
i=i-5;
}
System.out.println("这是使用do...while循环输出的:");
int i1=100;
do {
System.out.println(i1);
i1=i1-5;
}while(i1>0);
}
}