学习毕向东java第四天

学习毕向东java第四天


p42
开始讲函数了
函数的格式:
修饰符 函数类型(即返回值类型) 函数名(参数类型 形式参数名1,参数类型 参数名2…){
执行语句;
return 语句;
}

有个比较重要的点是:主函数里面只能调用函数,而不能定义函数。因为大家都是函数,平级的。
定义一个函数的核心思想就是:
1.先知道这个函数的最后输出结果是什么(返回值类型)
2.再明确这个函数中需要输入或者说调用哪些未知的数。(参数列表或参数类型)

又学会一个,之前一直都是直接用if的,现在为了简洁,用?:这个
public static getComp(int x,int y){//用来比较x和y的大小
if(x>=y)
return x;
else
return y;

return (x>=y)?x:y;
}

p45
函数的重载
部分知识点转载于:https://www.cnblogs.com/ibelieve618/p/6363085.html
主要是在于,体现部分功能相似函数(按照毕老师的话就是,当定义的功能相同,但参与运算的未知内容不同的函数)的内容。(比如全是加法,全是减分等等)
更有意思的是,在两个重载函数之间进行互相的调用。如:

//第一个函数
public int add(int x,int y){
return x+y;
}
//第二个函数(最初版)
public int add(int x,int y,int z){
return x+y+z;
}
//第二个函数(修改版)
public int add(int x,int y,int z){
return add(x,y)+z;
}

其实这也是为了提高函数的可读性和效率,也能让代码整个看上去更加清晰简洁,但也存在一点缺点就是,当虚拟机运行的时候,原本只需要查找不同的函数名就行,现在需要在一些函数名一样情况之下,再去查找里面的参数类型,加大了查找的工作量)
重点:与参数的返回值类型无关,只需要重名,且参数类型或参数个数不一致!!!(以前一直以为参数的返回值类型也需要一致呢)

p47
java 的数组
不清楚可以再去看毕老师的视频:https://www.bilibili.com/video/av33772791/?p=47
先是讲到了java的栈和堆:
栈是用完即止,函数和函数里面的值用完之后就抛弃掉。(其中包含基本数据和局部变量)
堆是存放new创建的实例化对象及数组,用完之后靠垃圾回收机制不定期自动消除。

数组就是用到了堆和栈
在这里插入图片描述
栈存放new出来的数组的首地址(操作系统的知识)
运用画图来理解一些变量之间的赋值关系,其实效率也会变高。

在这里插入图片描述
其他数组方面的知识都有掌握,所以需要针对性看的时候再去拿出来看吧。

猜你喜欢

转载自blog.csdn.net/qq_41115379/article/details/87607880