Java 基础 08 方法
数组作为参数:
public static void changeArray(int[] array){
for(int i =0;i < array.length;i++){
array[i] += 10;
}
}
public static void main(String[] args) {
int[] numbers = {1,2,3,4,5};
changeArray(numbers);
for(int num : numbers){
System.out.println(num);
}
}
数组作为实参传入方法,被修改了,为什么?
对于引用来说,参数传递的是对象的内存地址
实参和形参就指向了同一个对象
对形参的修改就是对实参的修改,因为他们是一个对象
[](()方法的重载
===================================================================
为什么需要重载?
电饭煲只需要一个 cook 方法,通过不同的参数传递,自动调用不同的逻辑,返回不同的结果。
什么是重载?
在一个类中的多个方法
方法名相同
参数不同(类型、个数)
public class DemoMethod5 {
public static void cook(){
System.out.println("什么都没放啊!");
}
public static void cook(String type,int water){
System.out.printf("煮放了 %d 水的 %s 汤\n",water,type);
}
public static void cook(String type,int solt,int water){
System.out.printf("煮放了 %d 水、%d 盐的 %s 汤\n",water,solt,type);
}
public static void main(String[] args) {
cook();
cook("老母鸡",200);
cook("老鸭",200,10);
}
}
[](()带返回值的方法
=====================================================================
如果方法运算后需要得到一个结果,就需要返回值
如果需要返回值,方法名前面就添加具体的类型
public static 返回值类型 方法名(数据类型 参数名~~~){
...
return 结果;
}
注意:一旦定义了返回值类型,方法就必须使用 return 返回该类型的结果
public class DemoMethod6 {
pu Java 开源项目【ali1024.coding.net/public/P7/Java/git】 blic static int sum(int num1,int num2){
return num1 + num2;
}
public static void main(String[] args) {
int result = sum(100,200);
System.out.println("result is "+result);
}
}
练习:
完成加减乘除四个方法,参数为两个 double 类型的数字,返回计算结果。
[](()可变参数
==================================================================
可变参数可以适应参数个数不确定的情况。
public static 返回值类型 方法名(数据类型... 参数名){
方法名
}
调用:
方法名();
方法名(参数 1);
方法名(参数 1,参数 2);
...
可变参数在处理时可以看做长度不确定数组
public class DemoMethod7 {
public static int sum(int... numbers){
int sum = 0;
for(int i = 0;i < numbers.length;i++){
sum += numbers[i];
}
return sum;
}
public static void main(String[] args) {
int res0 = sum(100);
System.out.println("result is "+res0);
int res1 = sum(100,200);
System.out.println("result is "+res1);
int res2 = sum(100,200,300);
System.out.println("result is "+res2);
}
}
注意:
可变参数可以和普通参数一起定义
可变参数要定义在最后
[](()结束
================================================================
本文结束了,不知道大家是否掌握了方法,留个作业吧:
1、使用方法实现数组求最大值
2、使用方法实现数组的二分查找
3、使用方法实现数组的选择排序
大家如果需要学习其他 Java 知识点,戳这里 [超详细的 Java 知识点汇总](()
最后的内容
在开头跟大家分享的时候我就说,面试我是没有做好准备的,全靠平时的积累,确实有点临时抱佛脚了,以至于我自己还是挺懊恼的。(准备好了或许可以拿个 40k,没做准备只有 30k+,你们懂那种感觉吗)
如何准备面试?
1、前期铺垫(技术沉积)
程序员面试其实是对于技术的一次摸底考试,你的技术牛逼,那你就是大爷。大厂对于技术的要求主要体现在:基础,原理,深入研究源码,广度,实战五个方面,也只有将原理理论结合实战才能把技术点吃透。
下面是我会看的一些资料笔记,希望能帮助大家由浅入深,由点到面的学习 Java,应对大厂面试官的灵魂追问
这部分内容过多,小编只贴出部分内容展示给大家了,见谅见谅!
Java 程序员必看《Java 开发核心笔记(华山版)》
Redis 学习笔记
Java 并发编程学习笔记
四部分,详细拆分并发编程——并发编程+模式篇+应用篇+原理篇
Java 程序员必看书籍《深入理解 ava 虚拟机第 3 版》(pdf 版)
大厂面试必问——数据结构与算法汇集笔记
其他像 Spring,SpringBoot,SpringCloud,SpringCloudAlibaba,Dubbo,Zookeeper,Kafka,RocketMQ,RabbitMQ,Netty,MySQL,Docker,K8s 等等我都整理好,这里就不一一展示了。
2、狂刷面试题
技术主要是体现在平时的积累实用,面试前准备两个月的时间再好好复习一遍,紧接着就可以刷面试题了,下面这些面试题都是小编精心整理的,贴给大家看看。
①大厂高频 45 道笔试题(智商题)
②BAT 大厂面试总结(部分内容截图)
③面试总结
3、结合实际,修改简历
程序员的简历一定要多下一些功夫,尤其是对一些字眼要再三斟酌,如“精通、熟悉、了解”这三者的区别一定要区分清楚,否则就是在给自己挖坑了。当然不会包装,我可以将我的简历给你参考参考,如果还不够,那下面这些简历模板任你挑选:
以上分享,希望大家可以在金三银四跳槽季找到一份好工作,但千万也记住,技术一定是平时工作种累计或者自学(或报班跟着老师学)通过实战累计的,千万不要临时抱佛脚。
另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。
评论