黑马程序员——Java基础——程序流程控制、函数操作

本文深入探讨了Java中的程序流程控制,包括判断结构、选择结构、循环结构,以及函数的定义、重载和使用。通过实例展示了如何利用这些概念解决实际问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------

一、程序流程控制

       主要有判断结构、选择结构、循环结构。

      1、判断结构

        if语句

  格式:

       1)if(条件) 语句; 

       2)if(条件)

              {

                  语句;

                }

            else

               {

                 语句;

                }

       3)if(条件)

             {

                 语句

               }

          else if(条件)

              {

                 语句

               }

           else  

           {

                语句

            }

     每一个{}里面的都是一个整体,如果第一个条件满足,下面的语句就不再执行。

     注意:

           if  else语句和三元运算的区别:三元运算符计算完必须有一个结果,并且,无论条件是true还是false,结果都必须是同一种类型。

     2、选择结构

        switch语句

格式:

    switch(表达式)

      {

            case 值1:语句;break;

            case 值2:语句;break;

             ......

            default:语句;break;

      }

 注解:break是用于跳出switch语句。

          default是默认情况,就是所有值都不匹配的情况。

switch语句特点:

          1)switch语句选择的类型只有四种:byte,short,int,char类型。

          2)case之间与default没有顺序,先执行第一个case,如果没有匹配的case,就执行default对应的语句。

          3)结束switch语句的两种情况是:一种是遇到了break,另一种是执行到了switch语句的结尾。

          4)如果匹配的case或default没有对应的break语句,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结束。

switch与if语句的区别

1) if主要用于实现区间,而switch实现区间会很麻烦。

2)对于运算结果是布尔类型的,if语句可以判断,但是switch不行。

    if和switch什么时候用,才是重点。如果需要对具体的数值进行判断,而且数值不多,就用switch。因为switch语句一执行,所有的值都会进入内存,而用if语句的话,还需要顺序执行。这种情况下,switch比if语句较为高效一些。而除了这种情况,一般都用if语句。

   注解:JDK7.0升级后,java对switch块进行加强,可以判断的数据类型多了两种,一种是枚举,一种是字符串。

  3、循环结构

    有while、do  while、for三种

    while格式

    while(条件)

  执行语句;

do-while格式:

do

  执行语句;

}while(条件)

while与do-while的区别:

do-while:先执行循环,再判断条件是否满足,所以即便在条件不满足的情况下,至少会执行一次循环体。

while:先判断,只有条件满足的情况才会执行循环体,否则跳过循环体,向下执行。

for语句格式:

for(初始化表达式;循环条件表达式;循环后的操作表达式)

  执行语句;

注解:  

1) for 里面的两个表达式运行的顺序,初始化表达式只读一次,判断循环条件为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复这个过程,直到条件不满足为止。

2) while for 可以互换,区别在于for为了循环而定义的变量在for循环结束就在内存中释放,而while循环使用的变量在循环结束后还可以继续使用。这就是变量的作用域问题。

3)for循环的变量只在for循环内有效。这样可以优化空间,如果变量只为循环而存在的话,放在for循环内最好。

4)for循环内的表达式不是固定唯一的,可以有多个。

最简单的无限循环

   while(true){}  for(;;){}

循环存在的原因是,不知道要循环多少次,要根据条件来判断。

  4、其他流程控制语句

    break和continue

     break(跳出):应用范围为选择结构和循环结构

    continue(继续):多用于循环结构

    注解:

   1)这两条语句离开循环结构是没有意义的。

   2)这两条语句单独存在时,后面不允许再有语句,因为不会执行到。

   3)二者区别:continue语句是结束本次循环,继续下次循环。break语句是跳出当前的循环体。



   4)标号的出现,可以让这两个语句作用于指定的范围。标号是给循环起的名字,只能用于循环上。

  wfor(int x=0;x<3;x++)

    {

     q: for(int y=0;y<4;y++)

      {

       System.out.println(x=+x);

       break w;//或者continue w

      }

}


二、函数

1、定义

  函数就是定义在类中的具有特定功能的一段独立小程序。函数也称为方法。

修饰符  返回值类型 函数名(参数类型  形参1,参数类型  形参2

   执行语句;

Return 返回值;

返回值类型  函数运行后的结果的数据类型。

参数类型    是形参的数据类型

形参        是一个变量,用于存储调用函数时传递给函数的实际参数。

实参        传递给形参的具体数值。

Return      用于结束函数

返回值      该值会返回给调用者。

注意:参数是有顺序的,顺序不同,函数本质也不同。

函数特点

1) 定义函数可以将功能代码进行封装

2) 便于对该功能进行复用。

3) 函数只有被调用才会被执行

4) 函数的出现提高了代码的复用性

5) 对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。

注意

   函数中只能调用函数,不可以在函数内部定义函数。

   定义函数时,函数的结果应该返回给调用者,交由调用者处理。 

Java中,最小的功能就是函数。


一个思想:如何定义一个函数

1) 既然函数是一个独立的功能,那么该功能的运算结果是什么要先明确

2) 再明确定义该功能的过程中是否需要未知的内容参与运算

总结一下就是:

在明确函数的返回值类型

明确函数的参数列表(参数类型和参数的个数)

如果函数返回值类型是void类型,是不能再调用时在输出语句中进行输出的。

注意:定义函数时,只要完成相对应的功能就行,不要做过多的功能。 


2、函数的一个重要特性——重载

重载的概念:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。

特点:与返回值类型无关,只看参数列表

好处:方便与阅读,优化程序设计

示例

//返回两个整数的和

int  add(int x,int y){return x+y;}

//返回三个整数的和

int  add(int x,int y,int z){return x+y+z;}

//返回两个小数的和

double  add(double x,double y){return x+y;}

函数名的作用:一是标识一个函数,二是标识函数的功能。

三、练习

   if语句练习:

结果:

 for循环实例

 

   运行结果:

函数练习:打印乘法表

运行结果:

练习:打印矩形


运行结果:

练习while循环

  运行结果:

 

 

   












   

             

 


------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
内容概要:本文深入探讨了Kotlin语言在函数式编程和跨平台开发方面的特性和优势,结合详细的代码案例,展示了Kotlin的核心技巧和应用场景。文章首先介绍了高阶函数和Lambda表达式的使用,解释了它们如何简化集合操作和回调函数处理。接着,详细讲解了Kotlin Multiplatform(KMP)的实现方式,包括共享模块的创建和平台特定模块的配置,展示了如何通过共享业务逻辑代码提高开发效率。最后,文章总结了Kotlin在Android开发、跨平台移动开发、后端开发和Web开发中的应用场景,并展望了其未来发展趋势,指出Kotlin将继续在函数式编程和跨平台开发领域不断完善和发展。; 适合人群:对函数式编程和跨平台开发感兴趣的开发者,尤其是有一定编程基础的Kotlin初学者和中级开发者。; 使用场景及目标:①理解Kotlin中高阶函数和Lambda表达式的使用方法及其在实际开发中的应用场景;②掌握Kotlin Multiplatform的实现方式,能够在多个平台上共享业务逻辑代码,提高开发效率;③了解Kotlin在不同开发领域的应用场景,为选择合适的技术栈提供参考。; 其他说明:本文不仅提供了理论知识,还结合了大量代码案例,帮助读者更好地理解和实践Kotlin的函数式编程特性和跨平台开发能力。建议读者在学习过程中动手实践代码案例,以加深理解和掌握。
内容概要:本文深入探讨了利用历史速度命令(HVC)增强仿射编队机动控制性能的方法。论文提出了HVC在仿射编队控制中的潜在价值,通过全面评估HVC对系统的影响,提出了易于测试的稳定性条件,并给出了延迟参数与跟踪误差关系的显式不等式。研究为两轮差动机器人(TWDRs)群提供了系统的协调编队机动控制方案,并通过9台TWDRs的仿真和实验验证了稳定性和综合性能改进。此外,文中还提供了详细的Python代码实现,涵盖仿射编队控制类、HVC增强、稳定性条件检查以及仿真实验。代码不仅实现了论文的核心思想,还扩展了邻居历史信息利用、动态拓扑优化和自适应控制等性能提升策略,更全面地反映了群体智能协作和性能优化思想。 适用人群:具备一定编程基础,对群体智能、机器人编队控制、时滞系统稳定性分析感兴趣的科研人员和工程师。 使用场景及目标:①理解HVC在仿射编队控制中的应用及其对系统性能的提升;②掌握仿射编队控制的具体实现方法,包括控制器设计、稳定性分析和仿真实验;③学习如何通过引入历史信息(如HVC)来优化群体智能系统的性能;④探索中性型时滞系统的稳定性条件及其在实际系统中的应用。 其他说明:此资源不仅提供了理论分析,还包括完整的Python代码实现,帮助读者从理论到实践全面掌握仿射编队控制技术。代码结构清晰,涵盖了从初始化配置、控制律设计到性能评估的各个环节,并提供了丰富的可视化工具,便于理解和分析系统性能。通过阅读和实践,读者可以深入了解HVC增强仿射编队控制的工作原理及其实际应用效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值