JXNU1999python 发表于 2021-11-27 19:50

Java自学笔记Day11

<font face="微软雅黑" size=5 color=#660000 >
Java学习笔记Day11

一、前情回顾

第十天学习了JVM内存的基本知识以及方法基础知识。为下周的面向对象的学习做准备。

二、今日学习内容

(一)、方法重载

1、什么条件满足后构成了方法重载?

在同一个类中,方法名相同,参数列表不同(数量、顺序、类型不同)

2、方法重载和什么有关系,和什么没有关系?

与方法名和参数列表有关系。

3、例子
需要调用一个输入int整型数字和double类型的数字的方法,由于功能相似,可以使用同一个方法名。

      public class Printf {
      
                public static void main(String[] args) {
                        sum(6,8);
                        sum(6.66,8.88);
                        sum(6L,8L);
      
                }
                public static void sum(int x,int y) {
                        System.out.println(x+y);
                }
                public static void sum(double x,double y) {
                        System.out.println(x+y);
                }
                public static void sum(long x,long y) {
                        System.out.println(x+y);
                }
      }

(二)、方法递归

1、使用循环结构对1-N这N个数进行求和。

      public static void main(String[] args) {
                Scanner input=new Scanner(System.in);
                int sum=0;
                int n=input.nextInt();
                for(int i=1;i<=n;i++) {
                              sum+=i;
                }
      
      }

2、什么是递归?

就是方法自身调用自身。递归算法非常消耗栈内存,能不用就不用。
但是在一些特殊的地方需要使用递归。

      public class Digui {
      
                public static void main(String[] args) {
                        int n=4;
                        int number=sum(n);
      
                }
                public static int sum(int n) {
                        if(n==1) {
                              return 1;
                        }
                        return n+sum(n-1);
                }      
      }      
这里进入sum(n)之后,又会再次调用sum(n-1),所有的值处理好了就会完成1-N的求和。

3、递归和循环结构各有什么特点呢?

列出你的猜想并可以通过实践验证。

4、尝试画出递归时候的JVM内存图像。

三、下周学习目标:

面向对象相关内容

tanbobobobo 发表于 2021-11-27 20:42

感谢分享

nishiwnagbaji1 发表于 2021-11-27 20:53

加油路还远着

yanglixing 发表于 2021-11-27 21:13

可以 很优秀 加油

ngq0530 发表于 2021-11-27 21:36

谢谢分享

ZardBest 发表于 2021-11-27 22:16


谢谢分享 加油

coo11ooc 发表于 2021-11-27 22:19

楼主加油 我也在学

Galaxy2010 发表于 2021-11-27 23:06

向楼主学习,掌握一门编程语言相当重要,但我更倾向于学习python

Mrstick 发表于 2021-11-28 00:43

感觉楼主这个进度是不是太慢了,后面的东西巨多

tbloy 发表于 2021-11-28 01:30

一起过来学习一下, 不错。
页: [1] 2
查看完整版本: Java自学笔记Day11