Java基础 四

  • 顺序结构
  • 分支结构
  • if - else
  • switch-case
  • 总结
  • 循环结构
  • for
  • while
  • do-while
  • 总结



tips:从键盘获取不同类型变量,需要使用Scanner类。


示例:

import java.util.Scanner;								//必要第一步,导入Scanner包
	class ScannerTest{
		public static void main(String ScannerTest[]){
			Scanner scan = new Scanner(System.in);				//必要第二布,实例化Scanner

			//****************************
			System.out.print("Enter your name:");				
			String name = scan.next();							//调用字符串型
			
			//****************************
			System.out.print("Enter your age:");
			int age = scan.nextInt();							//调用整型
	
			//****************************
			System.out.print("Enter your height:");
			double height = scan.nextDouble();					//调用浮点型
	
			//****************************
			System.out.print("Are you really single(true or false):");
			boolean answer = scan.nextBoolean();				//调用布尔型	
		}
}

运行两种结果表示:

Java 控制器调用控制器 java程序控制_System


Java 控制器调用控制器 java程序控制_初始化_02

顺序结构

程序从上到下执行。

分支结构

if - else

3种表达式:

1. if (条件表达式){					
		执行条件表达式1
	  }
2. if (条件表达式){
		执行条件表达式1
	   } else {
 		执行条件表达式2
	   }
3.if (条件表达式){
		执行条件表达式1
	   } else if (条件表达式) {
 		执行条件表达式2
	   } else if (条件表达式) {
 		执行条件表达式3
	   }
	   ...
	    else {
 		执行条件表达式n	
	   }

示例:

import java.util.Scanner;		
		class Condition{
			public static void main(String[] condition){
				Scanner scan = new Scanner(System.in);
				System.out.print("Please enter your age:");
				int age = scan.nextInt();
				
				//--------------第一种			
				if ( age < 0 ){
				System.out.println(" Input error ");
				}

				//--------------第二种
				if ( 0 < age && age  <= 10  ){
				System.out.println("You're children.");
				}else{
				System.out.println("");
				}

				//--------------第三种
				if ( 10 < age && age  <= 18 ){
				System.out.println("You are growing.");
				}else if ( 18 < age && age <= 50 ) {
				System.out.println("You're young.");
				}else if ( 50 < age && age <= 100 ) {
				System.out.println("You're not young.");
				}else{
				System.out.println("");
			}
		}	
	}

Java 控制器调用控制器 java程序控制_Java 控制器调用控制器_03

switch-case

根据switch表达式中的值,依次匹配各case种的常量,匹配成功则执行相应语句。

调用完执行语句后,仍向下执行其它case结构中的执行语句, 直到遇到break语句关键字(跳出选择) 或 switch-case结构末尾 结束

结构:

switch(表达式){		//此处非条件表达式(即非布尔类型),且只能为以下6种类型之一(byte、short、char、int、枚举、String)
case 常量1:
         执行语句1;
         break;
case 常量2:
		 执行语句2;
         break;
case 常量3:
		 执行语句3;
         break;
         ...
case 常量n:
		 执行语句n;
         break;
default:			//类似于else
		 执行语句;
		 break;
		 }

示例:

//根据用于指定月份,打印该月份所属的季节。
	//3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季
	import java.util.Scanner;
	class SwitchCase{
		public static void main(String SwitchTest[]){
		System.out.print("请输入:");
		Scanner scan = new Scanner(System.in);
		int a = scan.nextInt(); //选取数据类型	
		switch(a){
		case 3 : 	            
		case 4 : 	            
		case 5 : 
		             System.out.printf("春季");
		             break;
		case 6 : 	            
		case 7 : 	            
		case 8 : 
		             System.out.printf("夏季");
		             break;
		case 9 : 		            
		case 10 : 	            
		case 11 : 
		             System.out.printf("秋季");
		             break;
		case 12 : 	            
		case 1 : 		            
		case 2 : 
		             System.out.printf("冬季");
		             break;
		default:
					 System.out.printf("输入错误");
		             break;
				}
		}
}

Java 控制器调用控制器 java程序控制_Java 控制器调用控制器_04

总结

▶ if-else可以嵌套:

if(a>0)
{
	if(a<2)
	{
		c=3;
	}
	else
	{
		c=2;
	}
}
else
		c=1;

▶ switch-case中多个case语句相同可合并,在可以同时使用switch-case和if-else两种结构时(switch中表达式取值情况不多时),优先选择switch-case。

▶ 可用switch-case的结构都可转换为if-else,反之不成立;

循环结构

满足条件下的反复执行某段代码行为;

四要素:初始化条件、循环条件、循环体、迭代条件

Java 控制器调用控制器 java程序控制_java_05


在线画流程图地址推荐:https://app.diagrams.net/

for

结构:

for (初始化条件;循环条件;迭代条件){
		循环体
	}

执行过程:
初始化条件→循环条件→循环体→迭代条件→循环条件→循环体→迭代条件→…→(不满足)循环条件→跳出循环

示例:

//输出三次HelloWord
class For{
	public static void main(String For[]){
		for(int i = 1 ; i < 4 ; i++){
			System.out.println("Hello word");
		}
	}
}

Java 控制器调用控制器 java程序控制_迭代_06

while

结构:

初始化条件
while(循环条件){
循环体;
迭代条件;
}

执行过程:
初始化条件→循环条件→循环体→迭代条件→循环条件→循环体→迭代条件→…→(不满足)循环条件→跳出循环

示例:

//输出三次HelloWord
class While{
	public static void main(String While[]){
		int i = 1 ;
		while(i < 4){
		System.out.println("Hello Word");
		i ++;	
		}
	}
}

Java 控制器调用控制器 java程序控制_Java 控制器调用控制器_07

do-while

结构:

初始化条件
do{
循环体;
迭代条件;
}while(循环条件);

执行过程:
初始化条件→循环体→迭代条件→循环条件→循环体→迭代条件→循环条件→…→(不满足)循环条件→跳出循环

示例:

//输出三次HelloWord
class DoWhile{
	public static void main(String DoWhile[]){
		int i = 1;
		do{
		System.out.println("Hello Word");
		i ++;
		}while( i < 4 );
	}
}

Java 控制器调用控制器 java程序控制_Java 控制器调用控制器_08

总结

▶ 循环结构避免死循环。
▶ for循环和while循环可以相互转换。
▶ for循环和while循环的初始化条件部分的作用范围不同。
▶ 保证算法的有限性。
▶ do-while循环至少会执行一次。