正常流程

1.分支控制
分支控制的关键字:if , else , switch
(1)if关键字

	 注意:if是按按区间判断的,可以完成对点的选择

格式如下:

  if(判断分支是否执行的条件){
	当条件成立的时候,需要执行的代码逻辑块;
	}

在if中的判断条件,应该是一个表达式,而这个表达式最终得到的结果是一个boolean值。
举一个例子:从键盘上输入一个分数,判断分数属于的等级:
以下是核心代码·:

			if (score >= 60&&score<70) {
				System.out.println("及格");
			}
			if (score >= 70&&score<90) {
				System.out.println("良好");
			}
			if (score >= 90&&score<=100) {
				System.out.println("优秀");
			}
			if (score > 100 || score < 0) {
				System.out.println("输入错误,请重新输入");
			} 
			if(score<60&&score>=0) {
				System.out.println("不及格");
			}

运行结果如下:
正常流程
如果分支出现了多条,我们用一个if不能正常判断是否选择了全部可能的选项,我们可以使用另一个关键字:else.
(2)else关键字
格式如下:

	if(判断分支是否执行的条件){
			当条件成立的时候,需要执行的代码逻辑块;
	}else if(){
			当条件成立的时候,需要执行的代码逻辑块;
	}

else一定是跟在if之后的一个关键字,直接写是错的。
举一个例子:从键盘上输入一个分数,判断分数属于的等级:

			if(score<0||score>100) {
				System.out.println("输入错误");
			}
			else if(score<60) {
				System.out.println("不及格");
			}else if(score<=70) {
				System.out.println("及格");
			}else if(score<=80) {
				System.out.println("中等");
			}else{
				System.out.println("优秀");
			}

运行结果如下:
正常流程
(3)switch关键字
注意: switch(弥补if判断过程太过于繁杂的判断,针对一个点)
格式如下:

switch的结构
	  switch(key){
	  	case value1:  //case value1:这种写法类似于一个标志	
	 		代码块1;
	  		break;	
		case value2:
			代码块2;
	 		break;
	    default:
	 		break;
}
package com.yanan.test;
public class FooSwitch {
	public static void main(String[] args) {
		int score=80;
		switch(score) {
			case 80:
				System.out.println("优秀");
				break;
			case 70:
				System.out.println("良好");
				break;
			default:
				break;	
		}
	}
}

运行结果如下:
正常流程

	 注意:
		  switch判断是按(key,value)判断的 ,当key=value时,他会按顺序向下执行,break跳出循环。
	  	  k值
		①四类八种:
				整型中byte,short,int都可以作为switch的key值存在,但是long型不可以;
				浮点型float,double型不可以作为key值存在;
				字符型char可以作为switch的key值存在
				布尔型boolean不能作为key值存在,它转换不成int。
		②字符串使用双引号标记的,char是单引号标记的,Java中字符串的定义类型是:String在对象里面可以写等于的,其余的都不可以,String可以当key值存在(JDK1.7之后包括JDK1.7才可以吧String当key值存在)。

2.循环控制
(1)循环:不停地重复地做某一件事。
(2)循环控制的分类:for循环,while循环,do…while循环,ForEach循环,递归(方法的循环)。主要介绍一下前三种循环控制。
(3)①for循环
for循环的格式:

 for(初始化循环条件;定义继续循环的条件;条件变更方式){
  		需要循环的代码块;
 }
package com.yanda.practice;

public class FooFor {
	public static void main(String[] args) {
		for(int i=0;i<10;i++) {
			System.out.println("Hello World");
			System.out.println("第"+(i+1)+"次输出");
		}
	}
}

运行结果如下:
正常流程

	注意:省略第一个条件,必须在外面进行声明赋值;省略第二个条件:无限循环;省略第三个条件:无限循环,但是不产生变更条件。

举例说明:

package com.yanan.test;

public class FooFor {
	public static void main(String[] args) {
		 int i=0;
		for(;;i++) {
			if(i<30) {
				continue;  //继续当前循环,后面的代码不执行,当跳出continue时执行下面的代码
			}
			System.out.println("你好");
			System.out.println("第"+(i+1)+"次输出");
			if(i==49) {
				break;   //break跳出当前循环
			}
		}
		System.out.println(i);
	}

运行结果:
正常流程
②while循环
格式如下:

while(表达式) {  
	当表达式为真时,则继续执行;for执行完就跳出;while执行完接着判断,如果满足继续执行循环代码块;
}
	while(true) {
			System.out.println("hahah");
			if(scanner.nextInt()==121) {
				System.out.println("程序终止");
				break;
			}else {
				System.out.println("程序继续");
			}
		}

运行结果如下:
正常流程
③do…while循环
格式如下:

	 do{
			循环代码块;
	  }while(表达式);

举例说明:
核心代码块:

	int a=5;
		do {
			System.out.println("执行");
		}while(a>4);

运行结果如下:
正常流程
④ForEach循环
格式如下:

for(类型 tmp: 容器(容器的元素类必须和类型一致)){
	遍历输出;
}

注意:ForEach循环拿不到数组的角标,一般用于遍历某一个数组,拿到其中的某一个值。如果要对数组的角标进行操作时,要用for循环。

(4)for循环,while循环,do…while循环的比较
①for循环已经知道了循环的次数
while循环大多数用在不知道循环的次数上面,也可以用for( ; ; )(但是这个不容易理解)
②do…while循环:先无条件执行一次,再判断循环条件,while先判断循环条件,满足则执行。

相关文章:

  • 2021-05-21
  • 2021-07-06
  • 2021-04-03
  • 2021-08-09
  • 2022-01-04
  • 2021-11-22
  • 2021-04-06
  • 2021-10-03
猜你喜欢
  • 2021-06-13
  • 2021-04-12
  • 2022-02-08
  • 2022-01-15
  • 2021-06-18
相关资源
相似解决方案