java方法

Java方法

方法定义

1648657766384

- 格式:类.对象.方法

 

1648658618126

  • add函数中a与b为形式参数,用来定义作用的

  • sum = add(a:1,b:2)中的1和2为实际参数,实际调用传递给它的参数

1648658637839

方法调用

1648660386527

  • max方法的调用,被当作一个值(调用方法第一种:有返回值类型)。

  • System.out.println()方法调用(形式:类.对象.方法),是一条语句(调用方法的第二种,无返回值的)。

1648660298204

1648660316705

1648660331762

 

  • num1与num2相等时结果如下:

  • 其中,0返回给了max,用于文字输出。说最大值为0,表明此句不可信,要看前边的"num1==num2"。也可以直接返回其中一个值,结果显示就正确

1648783478099

1648783521495

 

1648661059225

  • Java是值传递(拷贝),没有指针(引用传递/指针传递)

方法重载

1648776776819

  • 重载是指:①函数名称相同,但形参类型不同的函数。②函数名称相同,但形参数量不同的函数。③函数名称相同,但形参排列顺序不同的函数。④与返回值类型无关

1648778983317

1648779171546

1648779188957

  • 通过有返回值调用时,传递不同类型的参数,进行分开调用

  • 形参与实参的类型要一致:自己的程序中,为执行程序交互输入型,要同时可重载max函数的int返回型与max函数的double返回型,需要修改对应输入处为较高的数据类型(如int->double)

1648778344341

  • 需注意:=========================================

1648778618368

===================================================

1648777094730

1648778281509

命令行传参

1648779401150

Dos进入对应目录,输入javac Demo03.java进行文件编译

1648780170192

1648780163372

输入java Demo03加载对应程序,但直接加载是不行的

1648780281924

需要退回到src目录,输入完整路径名才可加载

1648780375663

但未输出任何值,因为原函数并未传参,为空的字符串组

1648780406163

此时用命令行传参

1648780459659

 

可变参数

1648780865425

输出的是:不定项参数i的对应数组的地址

1648781194901

输出多个参数

1648781302086

可变参数只能作为最后一个参数,且一个函数只能由一个可变参数

1648781385870

  • 可变参数本质是数组

1648782763942

1648782910557

1648782748410

递归算法

1648783194376

  • java采用栈基址,每一次方法占用一个栈空间,结束才释放,递归会不断压栈

  • 能不用递归就不用递归**,主要学习思想。**其他算法也能实现递归的作用,除非基数小

  • n的阶乘

1648784808808

1648784361072

 

***作业:计算器(重要)***

1648785504340

代码-仅两位数四则运算

  • 虽远未达标,但收获很多,以后完善

  • 先想使用场景,才会有对应的编程思路

1648870610707

  • 中间为注释,会在后续截图

1648870645339

1648870678585

代码优化

  • 如果要实现继续运用上一次的值进行运算,可以将运算后的结果给到num1,之后再次scanner输入num2;则scanner 给num1的值只需要一次,提到do while循环之外。或者用switch?(switc进行用户输入选择,比如继续运算,还是clr还是+、-等)

1648888880133

1648888903244

1648888922642

 

问题与学习

next()与nextLine()一起使用时。

https://blog.csdn.net/hello_word2/article/details/54895106

理解:

  • next()可认为是自带“空白符”+“我们按下的enter”

  • nextLine()可认为是只有“我们按下的enter“

 

  • 出问题1

1648882071568

  • 解决

1648871128533

1648888285679

  • 出问题2

1648882163010

  • 解决

1648881979815

 

字符串比较用equals。

https://www.cnblogs.com/Dreamice/p/7809605.html

1648871189103

1648871206454

scanner关闭时间

1648871271078

字符串不相等判定公式

https://blog.51cto.com/u_10865693/2403660?b=totalstatistic

 

posted @ 2022-04-02 16:49  尘世红叶  阅读(48)  评论(0)    收藏  举报