Java有哪些条件结构?
if条件结构
if(){} 和 if(){}else{} 和 if(){}else if(){}else{}
if(执行条件){方法体}
if(执行条件){方法体}else{与前面相反的时候执行的方法体}
if(执行条件){方法体}else if(前面条件不满足进入到这个条件){方法体}else{就是前面两种条件都不满足执行这个}
可以一直套条件,但是这个做法及其不建议
实例
package com.hpe.java;
import java.util.Scanner;
public class Demo06 {
public static void main(String[] args) {
// 编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,
// 对它们进行排序(使用 if-else-if),并且从大到小输出。
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个整数:");
int num1=sc.nextInt();
System.out.println("请输入第二个整数:");
int num2=sc.nextInt();
System.out.println("请输入第三个整数:");
int num3=sc.nextInt();
if(num1>num2){
if(num3>num1){//2
System.out.println(num3+","+num1+","+num2);
}else if(num3>num2){//1 3 2
System.out.println(num1+","+num3+","+num2);
}else{//1,2,3
System.out.println(num1+","+num2+","+num3);
}
}else{ //num1<num2
if(num1>num3){//2 1 3
System.out.println(num2+","+num1+","+num3);
}else if(num2<num3){// 3 2 1
System.out.println(num3+","+num2+","+num1);
}else{ //num3<num2
System.out.println(num2+","+num3+","+num1);
}
}
}
}
如循环结构一旦套多{ }会难找不方便修改代码
switch结构
选择结构 switch //逻辑简单 效率优秀 适用范围窄
switch(???){ //被进行对比的数据
case 对比值:
对比成功后的操作;
break; //跳出switch语句块
case 对比值:
对比成功后的操作;
break; //跳出switch语句块
case 对比值:
对比成功后的操作;
break; //跳出switch语句块
....
default:
//操作语句
break;
}
实例
import java.util.Scanner;
public class test{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
//提示用户
System.out.println("请您输入当前月份:");
//开辟内存空间接收用户输入的数据
int month=input.nextInt();
//做switch判断
switch(month){
case1:
case3:
case5:
case7:
case8:
case10:
case12:
System.out.println("您当前月份的天数是:31天");
break;
case2:
System.out.println("请您输入当前年份是:");
int year=input.nextInt();
if(year%4==0&&year%100!=0||year%400==0){
System.out.println("您当前月份的天数是:29天");
}else{
System.out.println("您当前月份的天数是:28天");
}
break;
default:
System.out.println("您当前月份的天数是:30天");
break;
}
}
}
while条件结构
while (condition) {//括号内为循环条件
}使用方法:当条件表达式成立时,则执行循环体,然后再判断,依次类推,如果条件不满足,有可能一次都不执行。一般用于循环次数不确定的循环
实例
package com.uiti;
public class Index {
public static void main(String[] args) {
int i=0;
int sum=0;//初始变量
while(i<=150) {
if(i%3==0&&i%5==0) {//被三和五整除的数字进行求和
sum+=i;
}
i++;
}
System.out.println("150以内能被3和5整除的和:"+sum);
}
}
dowhile 循环
先执行,再判断
代码示例为
do {
} while (condition);括号内为循环条件与 while 循环不同的是 dowhile 循环先执行后判断,至少执行一次.
package com.uiti;
public class Index {
public static void main(String[] args) {
int i=0;
do {
System.out.println("条件");
} while (i<-1);//未满足条件也会运行一次
}
}