首页 > 编程语言 >Java入门基础知识第五课(超基础,超仔细)——选择结构

Java入门基础知识第五课(超基础,超仔细)——选择结构

时间:2024-04-07 14:32:40浏览次数:31  
标签:执行 Java 代码 第五课 else 嵌套 条件 基础知识 结构

今天主要讲一下if选择结构以及如何利用Math.random()来获取随机数。

流程控制:用来控制代码的执行顺序  

顺序结构:代码从上往下按照顺序依次执行

选择结构:根据条件选择性的执行某部分代码

循环结构:反复执行一段代码

一、if选择结构

1、单分支if选择结构

          语法:

          if(条件){        

            //代码块

          }


        规律:

                 判断条件:

                 如果条件为true,执行{}里的代码块,代码块执行完,继续往下执行if结构后面的代码,

                 如果条件为false,则跳过if选择结构,继续往下执行if结构后面的代码
       

        注意:

                1)条件必须是布尔值,不管条件写的多么简单还是多么复杂,最终结果都只能是true或

者false,所以条件可以是关系运算符或者三目运算符的运算结果

                 2)当{}中的代码只有一条语句的时候,{}可以省略不写,在这里,不建议省略

   2、双分支if选择结构

         语法:    

         if(条件){

               //代码块1  

          }else{

                //代码块2

        }
       

         规律:

                判断条件:

                如果条件为true,执行()后面{}里的代码块1,代码块1执行完,继续往下执行if-else结构后面的代码

                 如果条件为false,执行else后面{}里的代码块2,代码块2执行完,继续往下执行if-else结构构面的代码
       

         注意:

              1.条件必须是布尔值,不管条件写的多么简单还是多么复杂,最终结果都只能是true或

者false,所以条件可以是关系运算符或者三目运算符的运算结果

               2.当条件()后面{}中的代码只有一条语句的时候,{}可以省略不写,在这里,不建议省略

3、多分支if选择结构

        语法:    

        if(条件1){

        //代码块1;

        }else if(条件2){

        //代码块2;

        }else if(条件3){

        //代码块3;

        }....

        }else if(条件n){

        //代码块n;

        }else{          

        //代码块m;         

        }
        

        规律:
            

        判断条件1:
                

        如果条件1为true,执行代码块1,执行完代码块1,结束整个if-else-if结构,继续往下执行if-else-if结构后面的代码

        如果条件1为false,继续往下判断条件2:
                    

        如果条件2为true,执行代码块2,执行完代码块2,结束整个if-else-if结构,继续往下执行if-else-if结构后面的代码
                    

        如果条件2为false,继续判断条件3:                    

         .........
                      

        如果条件n-1为false,继续判断条件n:
                            

        如果条件n为true,执行代码块n,执行完代码块n,结束整个if-else-if结构,继续往下执行if-else-if结构后面的代码
                            

        如果条件n为false,则执行代码块m,执行完代码m,结束整个if-else-if结构,继续往下执行if-else-if结构后面的代码
            
        注意:  

        1.从上往下依次判断条件,满足条件就执行对应{}里的代码,执行完就结束整个if-else-if结构   

        2.如果所有的条件都不满足,则执行else{}里的代码        

        3.else也可以省略不写,当所有的条件都不满足,又没有else代码的时候,整个if-else-if结构都不执行   

        4.如果条件的取值范围只有一边,那么条件排列顺序不能任意排列,需要注意顺序,从上往下,条件由严格到宽松

4、嵌套if选择结构

        语法:    

        if(条件1){      

        //代码块1

         if(条件2){      

        //代码块2  

        }else{    

         //代码块3

         }      

        }else{

         //代码块4

        if(条件3){

        //代码块5

        }else{

        //代码块6       

        }            

        }     

规律:          

判断条件1:    

        如果条件1为true,执行代码块1,继续判断条件2:         

        如果条件2为true,执行代码块3,执行完代码块3,结束整个嵌套if结构,继续执行嵌套if结构后面的代码       

        如果条件2为false,执行代码块4,执行完代码块4,结束整个嵌套if结构,继续执行嵌套if结构后面的代码    

        如果条件1为false,执行代码块4,继续判断条件3:       

        如果条件3为true,执行代码块5,执行完代码块5,结束整个嵌套if结构,继续执行嵌套if结构后面的代码     

        如果条件3为false,执行代码块6,执行完代码块6,结束整个嵌套if结构,继续执行嵌套if结构后面的代码

        注意: 

        1)不管if结构怎么嵌套,嵌套多少层,只需要严格按照If结构的执行规律做就可以了,满足条件就进入{}中执行对应代码,不满足条件,就不能进入{}中执行对应代码

        2)理论上,if结构可以任意层次的嵌套(想嵌套多少层就嵌套多少层),一般嵌套不要超过3层,超过3层,代码的可读性不好

二、获取随机数   

Math.random():随机返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。

double result1 =Math.random();

System.out.println("result1:"+result1);

Math.random()*10:随机返回一个带正号的double值,该值大于等于0.0,且小于10.0

double result2 =Math.random()*10;

System.out.println("result2:"+result2);

(int)(Math.random()*10):随机返回一个带正号的int值,该值大于等于0,且小于10——随机获取0-9之间的整数

int result3 = (int)(Math.random()*10);

System.out.println("result3:"+result3);

(int)(Math.random()*(num2-num1)+num1):随机生成一个[num1,num2)(num2>num1)之间的int类型的整数        

随机生成一个[29,41)之间的int类型的数

int result4 = (int)(Math.random()*(41-29)+29);
       
System.out.print(result4+" ");

    
  

标签:执行,Java,代码,第五课,else,嵌套,条件,基础知识,结构
From: https://blog.csdn.net/weixin_63511098/article/details/137461404

相关文章

  • (毕设)基于Java+Vue+Mysql的WMS仓库管理系统
      前言: WMS(WarehouseManagementSystem)仓库管理系统是一个用于优化仓库操作、提高效率和准确性的软件解决方案。以下是针对列出的WMS仓库管理系统的各个部分的简要描述:1.订单管理订单管理是WMS的核心功能之一,涉及处理、跟踪和完成客户订单。这包括:订单录入:手动或自......
  • 零基础轻松入门Java数据库连接(JDBC)
    什么是JDBC?Java数据库连接(JDBC)就像是Java程序和数据库之间的翻译官。它是一个官方的标准接口集,让Java程序能和不同的数据库“对话”。甭管你是在跟MySQL、Oracle还是SQLServer打交道,只要有了JDBC,Java就能用统一的方式去执行查询、更新数据库的操作。为什么我们需要JDBC?......
  • JavaScript中,...(三个点)是扩展运算符
    在JavaScript中,...(三个点)是扩展运算符(SpreadOperator)和剩余参数(RestParameters)的语法。它确实可以用来“展开”对象的属性或数组的元素。展开对象的属性对于对象,扩展运算符可以用来将一个对象的所有可枚举属性复制到新对象中,或者与现有的对象属性合并。javascript复制代码......
  • Java中的继承
    一、继承1.1为什么需要继承在写代码过程中两个类之间可能存在大量重复的代码,如何把这些重复的代码提取出来简化代码呢?面向对象思想中提出了继承的概念,专门用来进行共性抽取,实现代码复用。1.2继承的概念 继承(inheritance):是面向对象程序设计使代码可以复用的最重要......
  • 5G网络建设【华为OD机试】(JAVA&Python&C++&JS题解)
    一.题目-5G网络建设现需要在某城市进行5G网络建设,已经选取N个地点设置5G基站,编号固定为1到N,接下来需要各个基站之间使用光纤进行连接以确保基站能互联互通,不同基站之间架设光纤的成本各不相同,且有些节点之间已经存在光纤相连,请你设计算法,计算出能联通这些基站的最小成本是......
  • 项目排期【华为OD机试】(JAVA&Python&C++&JS题解)
    一.题目项目组共有N个开发人员,项目经理接到了M个独立的需求,每个需求的工作量不同,且每个需求只能由一个开发人员独立完成,不能多人合作。假定各个需求直接无任何先后依赖关系,请设计算法帮助项目经理进行工作安排,使整个项目能用最少的时间交付。输入描述:第一行输入为M个需......
  • 找城市【华为OD机试】(JAVA&Python&C++&JS题解)
    一.题目-找城市一张地图上有n个城市,城市和城市之间有且只有一条道路相连:要么直接相连,要么通过其它城市中转相连(可中转一次或多次)。城市与城市之间的道路都不会成环。当切断通往某个城市i的所有道路后,地图上将分为多个连通的城市群,设该城市i的聚集度为DPi(DegreeofP......
  • 电脑病毒感染【华为OD机试】(JAVA&Python&C++&JS题解)
    一.题目-电脑病毒感染一个局域网内有很多台电脑,分别标注为0-N-1的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t表示。其中网络内一个电脑被病毒感染,其感染网络内所有的电脑需要最少需要多长时间。如果最后有电脑不会感染,则返回-1给定一个数组times表示......
  • 两个字符串间的最短路径问题【华为OD机试】(JAVA&Python&C++&JS题解)
    一.题目-两个字符串间的最短路径问题给定两个字符串,分别为字符串A与字符串B。例如A字符串为ABCABBA,B字符串为CBABAC可以得到下图m*n的二维数组,定义原点为(0,0),终点为(m,n),水平与垂直的每一条边距离为1,映射成坐标系如下图。从原点(0,0)到(0,A)为水平边,距离为1,从(0,A)......
  • java中大型医院HIS系统源码 Angular+Nginx+SpringBoot云HIS运维平台源码
    java中大型医院HIS系统源码Angular+Nginx+SpringBoot云HIS运维平台源码云HIS系统是一款满足基层医院各类业务需要的健康云产品。该产品能帮助基层医院完成日常各类业务,提供病患预约挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生工作站和护士工作站等一......