Java三大流程控制
* 顺序控制:代码从上到下依次执行;
* 条件控制;
* 循环控制。
条件控制:条件具有真假的特性,而且只可能为真或为假。
* if语句
import java.util.Scanner; public class ScoreDemo { public static void main(String[] args){ System.out.println("请输入你的成绩:"); Scanner sc=new Scanner(System.in); int score=sc.nextInt(); // 比较表达式无论简单还是复杂,结果必须是boolean类型 if(score>=90) System.out.println("优秀!"); //if语句控制的语句体如果是一条语句,大括号可以省略; if(score>=80&&score<90){ System.out.println("良好!"); } if(score>=60&&score<80){ System.out.println("及格!"); } if(score>=0&&score<60){ System.out.println("不及格!"); } } }
* if……else if……else if(可接N个else if)……else语句
最后一个else可以省略,但建议保留else,以保证程序的完整性,提高可读性。
import java.util.Scanner;//导包;只要不是java.long包下的类都要导包; public class AgeDemo{ public static void main(String[] args){ //键盘录入 System.out.println("请输入你的年龄:"); Scanner sc=new Scanner(System.in); int age=sc.nextInt(); //录入的年龄进入循环进行条件匹配 if(age>60){ System.out.println("老年人!!"); } else if(age>=40&&age<60){ System.out.println("中年人!!"); } else if(age>=18&&age<40){ System.out.println("少年!!"); } else{ System.out.println("未成年!!"); } } }
* switch(判断值){
case 值:实现的代码;
break;
case 值:实现的代码;
break;
case 值:实现的代码;
break;
default:实现的代码;
break;
}
switch后面的()不可以省略;
switch后面跟的整形或字符型;
case值后加:只能是字面常量(1,2,‘a‘)或常量表达式(2*3)
break;跳出匹配的条件;break如果省略程序会一直执行下去直到遇到break才跳出循环
default:当匹配不到任何条件时执行的内容
public class SwitchDemo{ public static void main(String[] args){ int food=5; switch(food){ case 1: case 2: case 3:System.out.println("今天吃饺子!!"); break; case 4:System.out.println("今天吃米饭!!"); break; case 5:System.out.println("今天不准吃饭!!"); break; case 6:System.out.println("今天有人请客!!"); break; case 7:System.out.println("今天吃面!!"); break; } } }
* 表达式的类型:
int a = 5;
a*3 (结果15)
表达式的输出类型为表达式计算结果的类型
double num = 1.5;
num * 4 (6.0, 表达式最终被当做的类型就是double类型)
循环控制
* while 循环
结构:
while(循环条件){
//循环实现的代码
}
* 求1-50(俩边都闭区间), 所有偶数的和.
public class EvenNumDemo{ public static void main(String[] args){ int arr[]=new int[50]; int sum=0; int i=0; while(i<arr.length){ arr[i]=(i+1); if((arr[i]%2)!=0){ sum+=arr[i]; } i++; } System.out.println("1-50的偶数之和为:"+sum); } }
* do .. while循环
结构:
do{
//实现的代码
}while(循环的条件);
* for 循环
使用率最高的;
结构:
for(循环变量初始化 ;循环条件判断; 循环变量的改变){
//循环需要实现的逻辑
}
* 求1-100自然数,其中所有偶数的和,所有奇数的和,并且求所有偶数的和与所有奇数的和的差.
public class NumSumDemo{ public static void main(String[] args){ int MAX_NUM=100; int evenSum=0; int oddSum=0; int poor=0; int j=0; for(int i=0;i<MAX_NUM;i++){ j=i+1; if((j%2)!=0){ oddSum+=(i+1); //余2不等于0:奇数和 }else{ evenSum+=(i+1); //偶数和 } } poor=(evenSum-oddSum); System.out.println("1-100偶数和为:"+evenSum); System.out.println("1-100奇数和为:"+oddSum); System.out.println("1-100偶数和与奇数和的差为:"+poor); } }
* foreach 循环(不是一个常规的java提供的循环的方式,他只是java提供的一种语法糖)
foreach: 对一种循环方式的命名,常规循环的简化方式。
* 语法糖: 针对基本的语法,提供了一种简化的实现方式。
* 俩个关键字: 应用到循环控制中,continue的含义是跳出当次的循环,break的含义是跳出整个循环。
循环的嵌套:
public class StarDemo{ public static void main(String[] args){ int MAX_NUM=4; for(int i=MAX_NUM;i>=0;i--){ for(int j=0;j<i;j++){ System.out.print("*"); //输出,不会换行 } System.out.println("*"); //输出,会默认换行 } } }
原文地址:http://13355940.blog.51cto.com/13345940/1971869