写点什么

Java 基础 08 方法

  • 2022 年 4 月 16 日
  • 本文字数:2209 字

    阅读完需:约 7 分钟


数组作为参数:


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);


}


}



数组作为实参传入方法,被修改了,为什么?


  1. 对于引用来说,参数传递的是对象的内存地址

  2. 实参和形参就指向了同一个对象

  3. 对形参的修改就是对实参的修改,因为他们是一个对象



[](()方法的重载


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


为什么需要重载?



电饭煲只需要一个 cook 方法,通过不同的参数传递,自动调用不同的逻辑,返回不同的结果。


什么是重载?


  1. 在一个类中的多个方法

  2. 方法名相同

  3. 参数不同(类型、个数)


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. 可变参数要定义在最后


[](()结束


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


本文结束了,不知道大家是否掌握了方法,留个作业吧:


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、结合实际,修改简历


程序员的简历一定要多下一些功夫,尤其是对一些字眼要再三斟酌,如“精通、熟悉、了解”这三者的区别一定要区分清楚,否则就是在给自己挖坑了。当然不会包装,我可以将我的简历给你参考参考,如果还不够,那下面这些简历模板任你挑选:



以上分享,希望大家可以在金三银四跳槽季找到一份好工作,但千万也记住,技术一定是平时工作种累计或者自学(或报班跟着老师学)通过实战累计的,千万不要临时抱佛脚。


另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。

用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
Java基础08 方法_Java_爱好编程进阶_InfoQ写作平台