Java基础if选择01

导读:本篇文章讲解 Java基础if选择01,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

if语句的语法结构以及运行原理?
if语句是分支语句,也可以叫做条件语句。
if语句的语法格式:
第一种写法:
int a = 100;
int b = 200;
if(布尔表达式){
java语句;
java语句;
}
这里的一个大括号{} 叫做一个分支。
if 这个单词翻译为如果,所以又叫做条件语句。
该语法的执行原理是:
如果布尔表达式的结果是true,则执行大括
号中的程序,否则大括号中代码不执行。

第二种写法:
​ if(布尔表达式){ // 分支1
​ java语句;
​ }else{ // 分支2
​ java语句;
​ }
​ 执行原理:如果布尔表达式的结果是true,则执行
​ 分支1,分支2不执行。如果布尔表达式的结果是false,
​ 分支1不执行,执行分支2.
​ 以上的这个语句可以保证一定会有一个分支执行。

第三种写法:
​ if(布尔表达式1){ // 分支1
​ java语句;
​ }else if(布尔表达式2){ // 分支2
​ java语句;
​ }else if(布尔表达式3){
​ java语句;
​ }else if(布尔表达式4){
​ java语句;
​ }…
​ 以上if语句的执行原理?
​ 先判断“布尔表达式1”,如果“布尔表达式1”为true,则执行分支1,
​ 然后if语句结束了。
​ 当“布尔表达式1”结果是false,那么会继续判断布尔表达式2的结果,
​ 如果布尔表达式2的结果是true,则执行分支2,然后整个if就

​ 从上往下依次判断,主要看第一个true发生在哪个分支上。
​ 第一个true对应的分支执行,只要一个分支执行,整个if结束。

第四种写法:
​ if(布尔表达式1){ // 分支1
​ java语句;
​ }else if(布尔表达式2){ // 分支2
​ java语句;
​ }else if(布尔表达式3){
​ java语句;
​ }else if(布尔表达式4){
​ java语句;
​ }else{
​ java语句; // 以上条件没有一个成立的。这个else就执行了。
​ }

注意:

  • 1、对于if语句来说,在任何情况下只能有1个分支执行,不可能
    存在2个或者更多个分支执行。if语句中只要有1个分支执行了,
    整个if语句就结束了。(对于1个完整的if语句来说的。)

  • 2、以上4种语法机制中,凡是带有else分支的,一定可以保证会有
    一个分支执行。以上4种当中,第一种和第三种没有else分支,这样
    的语句可能会导致最后一个分支都不执行。第二种和第四种肯定会有
    1个分支执行。

  • 3、当分支当中“java语句;”只有1条,那么大括号{}可以省略,但为了
    可读性,最好不要省略。(有的程序员在编写代码的时候,可能会故意
    将大括号{}省略,你能看懂就行。)

  • 4、控制语句和控制语句之间是可以嵌套的,但是嵌套的时候大家最好
    一个语句一个语句进行分析,不要冗杂在一起分析。
    if(true){
    //窍门:分析外面if语句的时候,里面的这个if语句可以看做是普通的一堆java代码。
    if(true){
    if(false){

​ }else{
​ …最终走这里了。
​ }
​ }else{

​ }
​ }else{
​ }

if(){
// 窍门:分析外面if时,里面的for循环当做普通java代码来看。
for(){
if(){
for(){

​ }
​ }
​ }
​ }else{
​ while(){
​ if(){
​ for(){

​ }
​ }
​ }
​ }

public class IfTest01{
	public static void main(String[] args){
        
		//需求:所在位置的五公里范围之内有肯德基的话,去KFC吃午饭
		
		//公里数
		//double distance = 6.0;//单位KM
		double distance = 1.0;
		if(distance<5.0){
			System.out.println("去KFC吃中午饭!");
			
		}
		
		/*
		     需求:
			     假设系统给定一个考生的成绩,成绩可能带有小数点
				 根据学生的成绩判断该学生的成绩等级:
				     【90-100】A
					 【80-90】 B
					 【70-80】 C
					 【60-70】 D
					 【0-60】  E
				 以上的逻辑判断采用if语句完成,应该怎么写?
				 
		//错误的编写			 
        double achievement = 87.5; 
		if(achievement < 60.0){
			System.out.println("该考生的成绩为E");
		}else if(60.0 < achievement < 70.0){
			System.out.println("该考生的成绩为D");
		}else if(70.0 < achievement < 80.0){
			System.out.println("该考生的成绩为C");
		}else if(80.0 < achievement < 90.0){
			System.out.println("该考生的成绩为B");
		}else if(90.0 < achievement < 100.0){
			System.out.println("该考生的成绩为A");
		}else{
			System.out.println("该考生成绩不合格!");
		}
	}
	*/
	    double score = -40;
	    String grade = "该考生的成绩等级为:E";
		if(score < 0 || score > 100){
			grade = "对不起,该考生的成绩不合法!";
		}else if(score >= 90){
			grade = "该考生的成绩等级是:A级!";
		}else if(score >= 80){
			grade = "该考生的成绩等级是:B级!";
		}else if(score >= 70){
			grade = "该考生的成绩等级是:C级!";
		}else if(score >= 60){
			grade = "该考生的成绩等级是:D级!";
		}
			System.out.println(grade);
		}
	}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/94375.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!