选择结构
1、if……else 选择结构
if(条件表达式){
//当条件表达式为true时执行的代码块
}else{
//当条件表达式为false时执行的代码块
}
2、switch 选择
switch(变量){
case 值1:
//当变量为值1时执行的代码块
break;
case 值2:
//当变量为值2时执行的代码块
break;
··· ···
default:
//当变量值不等于上述任何值时执行的代码块
break;
}
break;为跳过本次循环,continue;为结束本次循环
实例
九九乘法表
public class Test{
public static void main(String[] args){
int i,j;
for(i=1;i<10;i++){
for(j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.print("\n");
}
}
}
判断输入密码是否正确,只有三次机会(密码默认为password)
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int i;
for(i=3;i>0;i--){ //只有三次机会
System.out.println("请输入密码:(还可以输错"+i+"次)");
String P = sc.next();
if(P.equals("password")){ //.equals()判断字符串内容是否相等
System.out.println("密码正确");
i=0;
}else System.out.println("密码错误");
}
}
}
判断输入的数是几位数
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int i,X;
System.out.println("请输入需要判断位数的数:(0~99999)");
//判断范围
do{
X = sc.nextInt();
if(X<0||X>99999){
System.out.println("数值超出范围,请重新输入:");
i=1;
}else{
i=0;
}
}while(i==1);
//判断位数
if(X/10==0){
System.out.println(X+"是个位数");
}else if(X/100==0){
System.out.println(X+"是十位数");
}else if(X/1000==0){
System.out.println(X+"是百位数");
}else if(X/10000==0){
System.out.println(X+"是千位数");
}else{
System.out.println(X+"是万位数");
}
}
}
输出一个菱形,可输入菱形的行数
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int i,j,k;
System.out.println("需要输出菱形的行数是:");
int row = sc.nextInt();
row-=row/2;
//上部分
for(i=0;i<row;i++){
for(j=row-1;j>=i;j--){
System.out.printf(" ");
}
for(k=1;k<=2*i-1;k++){
System.out.printf("*");
}
System.out.printf("\n");
}
//下部分
for(i=row;i>0;i--){
for(j=i;j<row;j++){
System.out.printf(" ");
}
for(k=1;k<=2*i-1;k++){
System.out.printf("*");
}
System.out.printf("\n");
}
}
}
百钱买百鸡,公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
public class Test{
public static void main(String[] args){
int R,H,B;
for(R=0;R<=20;R++){
for(H=0;H<=33;H++){
if(R*5+H*3+(100-R-H)/3==100&&(100-R-H)%3==0){
System.out.println("公鸡有"+R+"只,母鸡有"+H+"只,小鸡有"+(100-R-H)+"只");
}
}
}
}
}