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