10.Java方法学习知识点大全(下)

简介: 10.Java方法学习知识点大全(上)

2.人肉计算机

(1)三种调用方法的演示

public class MethodDemo5 {
    public static void main(String[] args) {
        //目标:掌握带返回值方法的定义和调用格式
        //1.直接调用---用于没有返回值的结果
        getSum(10,20,30);
        //2.赋值调用(最常用)
        double sum=getSum(10,20,30);
        System.out.println(sum);
        //3.输出调用
        System.out.println(getSum(10,20,30));
    }
        public static double getSum(double num1,double num2,double num3){
            double result=num1+num2+num3;
            return result;//返回方法的调用处
        }
}

1.直接调用的结果:空的

2.赋值调用的结果

3.输出调用的结果

(2)题目正解

public class MethodDemo5 {
    public static void main(String[] args) {
        //目标:掌握带返回值方法的定义和调用格式
        //1.直接调用---用于没有返回值的结果
       // getSum(10,20,30);
        //2.赋值调用
        //double sum=getSum(10,20,30);
        //System.out.println(sum);
        //3.输出调用
        //System.out.println(getSum(10,20,30));
        //先计算第一个季度的营业额
        double sum1=getSum(10,20,30);
        //先计算第二个季度的营业额
        double sum2=getSum(20,30,40);
        //先计算第三个季度的营业额
        double sum3=getSum(30,40,50);
        //先计算第四个季度的营业额
        double sum4=getSum(40,50,60);
        //求全年的营业额
        double sum=sum1+sum2+sum3+sum4;
        System.out.println(sum);
    }
        public static double getSum(double num1,double num2,double num3){
            double result=num1+num2+num3;
            return result;//返回方法的调用处
        }
}

3.总结

方法的返回值返回到调用处

4.练习:比较大小

public class MethodDemo6 {
    public static void main(String[] args) {
        //目标:要能区分出什么时候使用带返回值的方法
        //需求:定义方法,比较两个长方形的面积
        double area1=getArea(5.3,1.7);
        double area2=getArea(2.4,2.7);
        if(area1>area2){
            System.out.println("第一个长方形的面积更大");
        }else{
            System.out.println("第二个长方形的面积更大");
        }
    }
    //1.我要干嘛?比较两个长方形的面积
    //2.需要什么?两个长 两个宽
   /* public static void compare(double len1,double width1,double len2,double width2){
        double area1=len1*width1;
        double area2=len2*width2;
        if(area1>area2){
            System.out.println("第一个长方形的面积更大");
        }else{
            System.out.println("第二个长方形的面积更大");
        }
    */
    //在以后实际的开发中,我们一般是把重复的代码或者具有独立功能的代码抽取到方法中
    //以后直接调用就好了
    //如果不止两个长方形比较呢?
        //定义一个方法求长方形的面积
        //1.我要干嘛?比较两个长方形的面积
        //2.需要什么?两个长 两个宽
        //3.方法的调用处,是否需要继续使用方法的结果
        //如果要用,那么方法必须要有返回值
        //如果不要用,方法可以写返回值,也可以不写返回值
        public static double getArea(double len,double width){
            double area=len*width;
            return area;
        }
    }

五、方法的小结

1.方法的完整定义格式

2.方法的注意事项

3.return关键字

4.判断下面的代码书写是否正确

六、方法的重载

下面的代码是否构成重载?

答案:是.因为方法名相同,参数不同,上面有两个参数,下面有三个参数

1.区分一下方法是否构成重载

要在同一个类里面,方法名一样,形参不一样,不看返回值

2.会定义重载的方法

public class MethodDemo7 {
    public static void main(String[] args) {
        /*
        需求:使用方法重载的思想,设计比较两个整数是否相同的方法
         要求:兼容全整数类型(byte,short,int,long)
         */
        //调用
        //只要保证实参和形参一一对应就好了,调用的时候会调用相应的方法
       compare(5,3);
       compare((byte)5,(byte)3);
      /* byte b1=5;
       byte b2=3;
       compare(b1,b2);
       */
    }
    //会把相同功能的方法起成一样的名字
    //好处1:定义方法的时候可以不用那么多的单词了
    //好处2:调用方法的时候也不需要那么麻烦了
    public static void compare(byte b1,byte b2){
        System.out.println(b1==b2);
    }
    public static void compare(int i1,int i2){
        System.out.println(i1==i2);
    }
    public static void compare(short s1,short s2){
        System.out.println(s1==s2);
    }
    public static void compare(long l1,long l2){
        System.out.println(l1==l2);
    }
}

七、方法的基本内存原理

八、基本数据类型和引用数据类型

只要是new出来的,都是引用数据类型,例如数组

int[] arr=new arr{1,2,3};

小结

九、方法的值传递

1.基本数据类型的值的传递

猜猜下面代码的结果是什么呢?不要轻敌哦~

public class Test1 {
    public static void main(String[] args) {
        int number=100;
        System.out.println("调用方法前:"+number);
        change(number);
        System.out.println("调用方法后:"+number);
    }
    public static void change(int number){
        number=200;
    }
}

为什么会这样呢?接下来从内存的角度去分析

(注意上图是将change中的number赋值为200,而原来number的值不变)

小结

传递基本数据类型时,传递的是真实的数据,形参的改变,不影响实际参数的值.

怎样修改代码将number的值改为200呢?

那么需要让方法具有返回值,并且在类中定义变量接收返回值.

public class Test1 {
    public static void main(String[] args) {
        int number=100;
        System.out.println("调用方法前:"+number);
        number=change(number);
        System.out.println("调用方法后:"+number);
    }
    public static int  change(int number){
        number=200;
        return number;
    }
}

2.引用数据类型的值的传递

猜猜这个结果吧~

public class Test2 {
    public static void main(String[] args) {
        int[]arr={10,20,30};
        System.out.println("调用change方法前:"+arr[1]);
        change(arr);
        System.out.println("调用change方法后:"+arr[1]);
    }
    public static void change(int[] arr){
        arr[1]=200;
    }
}

为什么会这样呢?

(注意上图是将arr地址值交给了change方法的形参)

小结

传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数的值.


总结

今天的内容你是否有所收获呢友友们🥰如果有写的不对的地方,欢迎大家帮我指正.最后,希望友友们点赞收藏一下博客关注后续的Java学习内容哦~😘💕💕

相关文章
|
26天前
|
Java API Maven
2025 Java 零基础到实战最新技术实操全攻略与学习指南
本教程涵盖Java从零基础到实战的全流程,基于2025年最新技术栈,包括JDK 21、IntelliJ IDEA 2025.1、Spring Boot 3.x、Maven 4及Docker容器化部署,帮助开发者快速掌握现代Java开发技能。
266 1
|
1月前
|
数据采集 搜索推荐 Java
Java 大视界 -- Java 大数据在智能教育虚拟学习环境构建与用户体验优化中的应用(221)
本文探讨 Java 大数据在智能教育虚拟学习环境中的应用,涵盖多源数据采集、个性化推荐、实时互动优化等核心技术,结合实际案例分析其在提升学习体验与教学质量中的成效,并展望未来发展方向与技术挑战。
|
1月前
|
算法 Java 开发者
Java 项目实战数字华容道与石头迷阵游戏开发详解及实战方法
本文介绍了使用Java实现数字华容道和石头迷阵游戏的技术方案与应用实例,涵盖GUI界面设计、二维数组操作、游戏逻辑控制及自动解法算法(如A*),适合Java开发者学习游戏开发技巧。
180 46
|
2月前
|
Java 数据库连接 数据库
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
本文全面总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、并发编程、网络编程及主流框架如Spring生态、MyBatis等,结合JVM原理与性能优化技巧,并通过一个学生信息管理系统的实战案例,帮助你快速掌握Java开发技能,适合Java学习与面试准备。
112 2
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
|
1月前
|
存储 搜索推荐 安全
Java 大视界 --Java 大数据在智能教育学习效果评估与教学质量改进中的应用(209)
本文探讨了 Java 大数据在智能教育中的创新应用,涵盖学习效果评估、教学质量改进及个性化教学方案定制等内容,结合实战案例与代码解析,展现技术如何赋能教育智能化转型。
|
2月前
|
存储 缓存 安全
Java基础 - 知识点
Java基础知识点涵盖语言特性、面向对象与基本数据类型、缓存池机制、String类特性、参数传递、类型转换、继承、抽象类与接口区别、重写与重载、Object通用方法及关键字使用等核心内容,是掌握Java编程的重要基石。
|
2月前
|
安全 Java API
Java 集合高级应用与实战技巧之高效运用方法及实战案例解析
本课程深入讲解Java集合的高级应用与实战技巧,涵盖Stream API、并行处理、Optional类、现代化Map操作、不可变集合、异步处理及高级排序等核心内容,结合丰富示例,助你掌握Java集合的高效运用,提升代码质量与开发效率。
182 0
|
2月前
|
算法 搜索推荐 Java
Java中的Collections.shuffle()方法及示例
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的方法,基于 Fisher-Yates 算法实现,支持原地修改。可选传入自定义 `Random` 对象以实现结果可重复,适用于抽奖、游戏、随机抽样等场景。
87 0
|
2月前
|
安全 Java
JAVA:Collections类的shuffle()方法
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的工具方法,适用于洗牌、抽奖等场景。该方法直接修改原列表,支持自定义随机数生成器以实现可重现的打乱顺序。使用时需注意其原地修改特性及非线程安全性。
92 0
|
2月前
|
算法 安全 Java
java中Collections.shuffle方法的功能说明
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的方法,基于 Fisher-Yates 算法实现,常用于洗牌、抽奖等场景。可选 `Random` 参数支持固定种子以实现可重复的随机顺序。方法直接修改原列表,无返回值。
90 0

热门文章

最新文章