一、单if条件结构
语法:
if(条件表达式){
语句体1;
语句体2;
......
语句体n;
}
语句体m;
举个程序小栗子:
import java.util.Scanner;
public class Test01{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int a=0,b=0,c=0,max=0;
System.out.print("请输入第一个数:");
a= in.nextInt();
System.out.print("请输入第二个数:");
b= in.nextInt();
System.out.print("请输入第三个数:");
c= in.nextInt();
if(a>=b&&a>=c){
max=a;
}
if(b>a&&b>=c){
max=b;
}
if(c>b&&c>a){
max=c;
}
System.out.print("最大值为: "+max);
}
}
二、if...else...
语法:
if(条件表达式){
语句体1;
语句体2;
......
语句体n;
}else{
语句体;
}
a)嵌套if结构(if里有if)
当条件成立时,进入if内还有if条件等待判断
举个程序小栗子:
import java.util.Scanner;
public class Test04{
/*
请输入登录名:admin
请输入登录密码:123456
*/
public static void main(String[] args){
Scanner in = new Scanner(System.in);
String userName="";
String userPwd="";
System.out.print("请输入登录名:");
userName = in.next();
System.out.print("请输入登录密码:");
userPwd = in.next();
//当if条件成立时还有条件等待判断:嵌套
if( userName.equals("admin") == true){//判断用户名是否是admin
//如果是admin判断密码是否正确
if("123456".equals(userPwd )==true){//推荐:"固定字符串".equals(字符串变量)
System.out.print("欢迎登录管理系统\n... ...");
}else{
System.out.print("您输入的密码错误,请重新登录!");
}
}else{
System.out.print("您输入管理员登录名错误,此用户不存在");
}
}
}
b)多重if结构即.......else if.....
当条件不成立时,进入到else还有if条件等待判断。
举个程序小栗子:
import java.util.Scanner;
public class Test02{
public static void main(String[] args){
//输入3个数找出最大值
Scanner in = new Scanner(System.in);
int a=0,b=0,c=0,max=0;
//输入
System.out.print("请输入第1个数:");
a = in.nextInt();
System.out.print("请输入第2个数:");
b = in.nextInt();
System.out.print("请输入第3个数:");
c = in.nextInt();
//找3个数中最大值
if(a>=b && a>=c){
max = a;
}else{//当if条件不成立时a一定不是最大值,最大值将在b或c中产生
if(b>=c){
max=b;
}else{//此时已经淘汰a和b了,所以最大值是c
max=c;
}
}
System.out.println(a+","+b+","+c+" 中最大值是:"+max);
}
}
三、switch结构:
语法:
switch(表达式:){
case 值1: 语句体1......;break;case 值2: 语句体2......;break;.........case 值n: 语句体n......;break;default:语句体m......;break;
}
注意:
表达式的计算结果类型要与值类型一致。
表达的计算结果跟那个值一致,进入那个case后的语句体开始执行,直到遇到break终止。
例子:
用switch编写的简单计算器:
import java.util.Scanner;
public class Calculator{
public static void main(String[] args){
double x;
double y;
char t;
boolean f=true;
Scanner in = new Scanner(System.in);
while(f){
System.out.println("请选择运算方式:+、-、*、/;或者退出:t");
t=in.next().charAt(0);
switch(t){ //循环可以进行多次计算,在以后的博客中会介绍
case '+':
System.out.println("请输入要计算的第一个数:");
x=in.nextDouble();
System.out.println("请输入第二个要计算的数:");
y=in.nextDouble();
System.out.println(x+"+"+y+"="+(x+y));
break;
case '-':
System.out.println("请输入减数:");
x=in.nextDouble();
System.out.println("请输入被减数:");
y=in.nextDouble();
System.out.println(x+"-"+y+"="+(x-y));
break;
case '*':
System.out.println("请输入要计算的第一个数:");
x=in.nextDouble();
System.out.println("请输入第二个要计算的数:");
y=in.nextDouble();
System.out.println(x+"*"+y+"="+(x*y));
break;
case '/':
System.out.println("请输入除数:");
x=in.nextDouble();
System.out.println("请输入被除数:");
y=in.nextDouble();
if(y==0)
System.out.println("被除数不能为零");
else
System.out.println(x+"/"+y+"="+(x/y));
break;
case 't':
f=false;
}
}
}
}