根据判断条件的结构,选择性的执行。
}
格式3:if(判断1){
java代码1
}else if(判断2){
java代码2
}else if(判断3){
java代码3
}
.....
else if(判断n){
java代码n
}else{
java代码m
}
判断1为true时执行java代码1,结束;
判断1为false时执行判断2;
判断2为true时执行java代码2,结束;
判断2为false时执行判断3;
.......
如果所有的判断都是false,那么就会值最后一个else中的java代码m。
例如:
import java.util.Scanner;
public class IfDemo1{
//创建Scanner类的对象
Scanner input=new Scanner(System.in);
//提示用户
System.out.println("请输入成绩值:");
//接收成绩值
int chengji=input.nextInt();
if((chengji>=60 && chengji < 70)){
System.out.println("成绩:及格");
}else if((chengji>=70 && chengji<=80)){
System.out.println("成绩:良好");
}else if((chengji>80 && chengji<=90)){
System.out.println("成绩:优秀");
}else if((chengji>90 && chengji<=100)){
System.out.println("成绩:异常优秀");
}else{
System.out.println("成绩:不及格");
}
}
}
格式4:if(判断1){
if(判断2){
java代码1
}else{
java代码2
}
}ese{
if((判断3){
java代码3
}else{
java代码4
}
}
以上格式是一个if...else...结构的嵌套。
例如:
import java.util.Scanner;
public class IfDemo2{
public static void main(String args[]){
//创建Scanner类的对象
Scanner input=new Scanner(System.in);
//提示用户
System.out.println("请输入年龄:");
//接收成绩值
int age=input.nextInt();
if(age>20){
if(age<45){
System.out.println("年龄可用");
}else{
System.out.println("年龄过大");
}
}else{
if(age>0){
System.out.println("年龄过小");
}else{
System.out.println("输入错误");
}
}
}
}
switch语句可以代替if(){}else if(){}结构
格式:注意:表达式的运算结果可以是byte short char int 枚举 String[jdk7.0]
例如:选择题的判断结构
import java.util.Scanner;
public class SwitchDemo{
public static void main(String args[]){
System.out.println("题目:doouble dou=12.5; int i=(int)dou;");
System.out.println("A、10 B、11 C、12 D、11.5");
System.out.println("请选择正确答案:");
Scanner input=new Scanner(System.in);
String answer=input.next();
/*
switch(answer){
case "A":System.out.println("答案A为10");break;
case "B":System.out.println("答案B为11");break;
case "C":System.out.println("答案C为12");break;
case "D":System.out.println("答案D为11.5");break;
default:System.out.println("没有改选项!"); break;
}
*/
//charAt(0);把字符串中的第一个位置上的数据转换成字符型【char】
char newanswer=answer.charAt(0);
switch(newanswer){
case 'A':System.out.println("答案A为10");break;
case 'B':System.out.println("答案B为11");break;
case 'C':System.out.println("答案C为12");break;
case 'D':System.out.println("答案D为11.5");break;
default:System.out.println("没有改选项!"); break;
}
}
}
按照一定条件,将程序循环执行。
}
例如:
public class ForDemo{
public static void main(String args[]){
//循环输出1--10的整数
/*
for(int i=1;i<=10;i++){
System.out.println("i=="+i);
}
*/
//循环输出10--1的整数
/*
for(int i=10;i>0;i--){
System.out.println("i=="+i);
}
*/
//计算1--10的整数和
int sum=0;
for(int i=1;i<=10;i++){
sum=sum+i;
}
System.out.println("sum=="+sum);
}
}
}
}
总结:1、for循环 与 while循环和do...while循环的比较
for循环---要清楚自己的循环次数。
while循环和do...while循环---不需要清楚自己的循环次数
2、while循环与do...while循环的比较
while循环--先判断后执行
do...while循环--先执行后判断
同等条件下do...while循环比while循环多执行一次。
猜数字:
1.没有限制条件的猜数字,直至猜对
import java.util.Scanner;
public class CaiShuZi{
public static void main(String args[]){
//定义一个boolean值
boolean flag=true;
//得到一个随机数
//随机产生一个0--1之间的数字
double num1=Math.random();
//转换成0--100之间的小数
num1=num1*100;
int num2=(int)num1;
System.out.println("num2:"+num2);
//创建Scanner对象
Scanner input=new Scanner(System.in);
while(flag){
System.out.println("请输入一个0--100之间的整数:");
int mynum=input.nextInt();
if(mynum>num2){
System.out.println("太大了,换个小一点的,来试试!");
}
if(mynum
}
if(mynum==num2){
System.out.println("恭喜你猜对了,游戏结束!");
flag=false;
}
}
}
}
大家可以将上面的实例修改成,有限制条件的猜数字程序。试试吧!