文档章节

Java基础知识_day05_(方法,方法重载)

S
 Sunmos
发布于 2017/05/13 00:19
字数 1069
阅读 2
收藏 0

内容摘要:

  • 方法概述及使用
  • 方法重载及参数传递
  • 方法操作数组

1. 方法概述及使用

方法定义格式:

  • 方法本质是完成特定功能的代码块;
  • 定义格式:
      修饰符 返回值类型 方法名(参数类型 参数名1,…) {
        方法体;
        return 具体的返回值;
      }
      修饰符:public static
      返回值类型:用于限定返回值的数据类型
      方法名:方便调用使用的名字
      参数类型:限定调用方法时传入的数据类型
      参数名:接收调用方法时传入的数据的变量
      方法体:用于完成特定功能的代码
      返回值:结束方法时返回给调用者的结果.

方法定义的位置:

  • 定义在一个类中,在其他的方法外面(方法间是同级关系).

方法编写:

  • 返回值类型:明确方法返回数据的数据类型;
  • 参数列表:参数的个数及对应的数据类型.

方法的调用:

  • 有明确返回值的方法的调用:
      单独调用时无意义的
      输出调用是可以的,但是不建议,可能还需要使用返回的结果.
      赋值调用,将返回值赋值给一个变量,以便使用.
  • 无明确返回值的方法调用(void),只能单独调用:
      单独调用:方法名(参数列表);
      输出调用:不能输出调用;
      赋值调用:不能赋值调用.

案例:

package com.heima.mothod;
import java.util.Scanner;
public class MethodTest {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 获取两个数中的最大值
        System.out.println("请输入第一个整数:");
        int a = scanner.nextInt();
        System.out.println("请输入第二个整数:");
        int b = scanner.nextInt();
        int max = getMax(a, b);
        System.out.println(max);

        // 获取三个整数中的最大值
        System.out.println("请依次输入3个整数:");
        int thereMax = getThereMax(scanner.nextInt(), scanner.nextInt(), scanner.nextInt());
        System.out.println(thereMax);
    }

    /** * 返回两个数中的最大值 * @param a * @param b * @return */
    public static int getMax(int a, int b) {
        return a > b ? a : b;
    }

    /** * 求取三个整数中的最大值 * @param a 第一个整数 * @param b 第二个整数 * @param c 第三个整数 * @return 有返回值 */
    public static int getThereMax(int a,int b,int c) {
        if (a > b && a > c) {
            return a;
        }if (b > a && b > c) {
            return b;
        }else {
            return c;
        }
    }
}

2. 方法重载及参数传递

2.1 方法重载

方法重载:

  • 在同一个类中存在方法名相同的方法.
  • 在调用方法时,Java虚拟机会通过方法的参数列表来区分同名的方法.

方法重载特点:

  • 方法名相同
      参数列表不同
      参数的个数不同;
      参数对应的数据类型不同;
  • 方法有多个参数类型时,若类型的顺序不同,也是重载.
  • 与方法的返回值无关

2.2 参数传递

形式参数为基本数据类型时:

  • 实际参数:实际参与运算的变量;
  • 形式参数:用于接收实际参数的变量,方法的声明上
  • 基本数据类型作为参数时,形式参数值的改变,不改变实际参数的值.
  • 内存中方法区存储的是字节码文件(.class)

引用数据类型作为形式参数传递时:

  • 引用数据类型作为形式参数传递时,形式参数的改变会改变实际参数.

总结:

  • 不管参数传递的是什么类型数据,传递的都是值,基本数据类型传递的变量的值,引用类型传递的是地址值。

3. 方法操作数组

数组遍历及求和:
求最值:

求取最大值和最小值时,不要取0作为参考,一般取数组的第一个值作为参考,并且循环从索引1开始.

案例:

package com.heima.test;
public class Test5 {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5,6};

        print(arr);
        System.out.println(getMax(arr));
    }
    // 获取数组的最大值
    public static int getMax(int[] arr) {
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
        }
        return max;
    }
    // 获取数组的最小值
    public static int getMin(int[] arr) {
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] < min) {
                min = arr[i];
            }
        }
        return min;
    }
    // 按指定格式打印数组元素
    public static void print(int[] arr) {
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                System.out.print(arr[i] + "]");
            }else {
                System.out.print(arr[i] + ", ");
            }
        }
    }
}

本文转载自:http://blog.csdn.net/l631106040120/article/details/63742734

S
粉丝 0
博文 34
码字总数 0
作品 0
成都
私信 提问
【给初学者】Android学习路线

很多朋友都对学习路线问题感到迷茫,特别是还在上学的朋友们。在这里就详细的为大家介绍一下。 1.Java基础 很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Jav...

Jimmy Xie
2012/09/08
0
1
10个经典的 Java main 方法面试题

以下是笔者认为比较经典的关于Java main方法的面试题,与其说是Java面试题,其实也是Java的一些最基础知识问题,分享给大家,如有错误,请指出。 很多小伙伴都喜欢在网上寻找教程,这种学习的...

紫魅编程
2016/04/23
379
0
java基础重点讲解,看了还不会找我(四)

###04.01Java语言基础(循环结构概述和for语句的格式及其使用) A:循环结构的分类 for,while,do...while B:循环结构for语句的格式: for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体...

谢小芳是女神
2018/12/30
0
0
一个java初学者的心得体验!

学习了一学期的Java课程,觉得是该总结自己的心得体会了。开始学习任何一门课(包括java),兴趣最重要。 还记得我编写的第一个经典程序“Hello Word”。从那时起我已开始走进Java的世界。 当时...

嘿你好夏天
2018/01/12
0
0
给Java新手的一些建议——Java知识点归纳(Java基础部分)

  写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,...

Java工程师-10
2017/05/24
509
2

没有更多内容

加载失败,请刷新页面

加载更多

fabric-sdk-java 1.4安装说明

Hyperledger Fabric Java SDK是开发基于Hyperledger Fabric区块链的Java应用之必备开发包。本文将介绍如何在Maven、Gradle和Eclipse中安装使用最新1.4版本的Hyperledger Fabric Java SDK。 ...

汇智网教程
24分钟前
0
0
Linux基础优化与安全归纳总结

一名运维工程师在运维岗位上时间久了,就会发现Linux优化的重要性,同时会给运维工作带来很多的便利性。本人逐渐认识到了这一点,所以特意在工作闲暇之余,通过阅读Linux相关书籍及向同事、同...

xiangyunyan
24分钟前
2
0
要996还是要生活?

今天早上,嗅嗅还在被窝的时候,睁开朦胧的双眼,习惯性的打开手机,一行小字映入眼帘:要996还是要生活 当真是垂死病中惊坐起,嗅嗅瞬间就清醒过来了。 其实嗅嗅当时的内心活动是:别闹了,...

forespider
25分钟前
4
0
SpringCloud微服务构建

遇到问题 修改server.port后,端口变更不起作用,总是8080 src/java/resources应该和rc/java/java在同一个层级,否则boot读取不到配置信息

铲平王
25分钟前
2
0
[IntelliJ IDEA][maven]properties in parent definition are prohibited报错

<parent> ... <version>${platform.version}</version><parent> IntelliJ报错: properties in parent definition are prohibited 解决: idea的错误提示,不用管 或者升级到maven3.5.......

Danni3
26分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部