IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> JAVA修炼秘籍第四章《闭关修炼》 -> 正文阅读

[Java知识库]JAVA修炼秘籍第四章《闭关修炼》

往期:
JAVA 修炼秘籍第一章:《痛苦的折磨》
JAVA 修炼秘籍第二章:《逐渐魔化》
JAVA 修炼秘籍第三章:《绝地反击》


在这里插入图片描述


一、方法

在JAVA中什么是方法呢,方法其实与C语言中的函数是大相径庭的,方法可以帮助我们更清晰的理解代码,并且可以重复使用重复调用,大大减少了代码的重复性。

方法的书写格式如下:

public class Prog{
    public static int add(int x,int y){
        return x+y;
    }
    public static void main(String[] args) {
        int a=3;
        int b=5;
        int c=add(a,b);
    }
}

通过图片来分析代码:

在这里插入图片描述

注释部分:
1.在JAVA的方法书写格式与定义中,方法参数可以没有,如果有一定要指定类型。
2.返回值可以没有,如果没有返回值的方法,写上void。
3.方法定义时的参数为形参,方法调用时的参数为实参,形参是实参的一份临时拷贝。
4.方法的定义必须在类中, 调用位置的上方或者下方都可已。
5.方法只会在被调用时运行,不调用则不会。
6.遇到return语句则直接返回,不会继续函数内部后面的代码。

方法的重载

在这里插入图片描述

什么是方法的重载,当我想要计算两个正数数相加需要写一个函数,当我想计算两个小数相加又要写一个函数,两个短整型呢?还是很麻烦,这个时候,我们就需要用到重载,可以大大提升我们的代码清晰度,与简洁。不光可以写两个,可以重载很多个。

代码如下:

public static int add(int x,int y){
        return x+y;
    }
    public static double add(double x,double y){
        return x+y;
    }
    public static void main(String[] args) {
        int a=10;
        int b=20;
        double c=2.5;
        double d=10.3;
        System.out.println(add(a,b));
        System.out.println(add(c,d));
    }

输出结果为:30 12.8。
注释部分:
1.可以看到两个add函数的实现大致相同,他们的作用也相同,不同的点在于他们的参数类型不同,返回值不同。
2.方法名相同。
3.返回值不做要求。
4.参数列表不同,参数个数与参数类型。
5.必须在一个类中。

方法递归

在这里插入图片描述

一个方法在执行的过程中调用自身, 就称为递归,递归的程序的执行过程不太容易理解, 要想理解清楚递归, 必须先理解清楚 “方法的执行过程”,
尤其是 方法执行结束 之后, 回到调用位置继续往下执行。

代码部分:计算n的阶乘

public static int factor(int n){
        if(n==1){
            return 1;
        }
        return n*factor(n-1);
    }
    public static void main(String[] args) {
        int n=5;
        System.out.println(factor(n));
    }

注释部分:
1.自身调用自身。
2.要有终止条件。
3.自己能推到出递归公式。

赠送一张图片方便理解:

在这里插入图片描述
一定要认真学习并且习惯使用递归,因为在后面一些数据结构中二叉树等都是需要用递归来实现的,递归YYDS,用多了就不难了。

二、数组

在这里插入图片描述

在JAVA中数组的使用是非常方便的,数组是多个相同类型的批量创建,数组的定义如下,然后来介绍一下数组的存储形式。

代码如下:

 public static void main(String[] args) {
        int[] arr={1,2,3,4,5};
    }

注释部分:
1.上面代码转换为中文-》数据类型[ ] 数组名={初始化数据}。
2.这样就用一行代码创建了5个类型为 int 的变量。
3.JAVA中的数组都是在堆上创建的,数组名只是保留了地址。
4.JAVA中栈上的地址是拿不到的,堆上的地址可以拿到,但是不是真的,但是可以看作是真实的。
5.数组的的内存形式如下图所示:

在这里插入图片描述

获取数组长度与访问数组

在这里插入图片描述

在JAVA中获取数组长度非常简单,随时随地获取,非常简单

代码如下:

public static void main(String[] args) {
        int[] arr={1,2,3,4,5};
        System.out.println(arr.length);
        System.out.println(arr[1];
    }

注释部分:
1.数组名.length就可以直接计算出当前数组的长度,打印结果为5.
2.数组名[下标],可以直接访问下标所对应的数字,数组的下标是从0开始的,不是1

拷贝数组与以字符串的形式打印数组

拷贝数组其实可以手动实现,也可以使用方便快捷的库方法直接调用,这里介绍这两种数组操作的快捷方法,可以去放心大胆的刷题,自己实现也非常容易.
代码如下:

import java.util.Arrays;(1)
public static void main(String[] args) {
        int[] arr1={1,2,3,4,5,6};(2)
        int[] arr2=new int[arr1.length];(3)
        System.out.println(Arrays.toString(arr1));(4)
        arr2=Arrays.copyOf(arr1,arr1.length);(5)
        System.out.println(Arrays.toString(arr2));(6)
    }

注释部分:(按照代码中(数字)来分析) (1).调用包,使用库方法; (2).创建数组1; (3).创建空数组2,长度为数组1的长度.
(4).输出arr1这个库方法是以字符串的形式打印数组,格式为Arrays.toSring(数组名);
(5).拷贝数组,将arr1中的内容拷贝到arr2中,格式Arrays.copyOf(被拷贝数组名,拷贝长度);
(6)与(4)相同.

数组内容梳理完成,还有二维数组,二维数组与数组大同小异,随处可见,这里就不多比比了,再见.
在这里插入图片描述

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-05 17:11:57  更:2021-08-05 17:14:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/12 5:18:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码