前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础知识笔记四(详细)

Java基础知识笔记四(详细)

作者头像
用户7656790
发布2020-09-10 11:02:37
3000
发布2020-09-10 11:02:37
举报

图丨pixabay

作者: 追梦

原文链接:http://i8n.cn/7RTgww

方法概述

Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合,方法包含于类或对象中,方法在程序中被创建,在其他地方被引用。

简单的说:方法就是完成特定功能的代码块

在很多语言里面都有函数的定义,函数在Java中被称为方法

方法格式

代码语言:javascript
复制
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}

举例子:

代码语言:javascript
复制
package com.baidu.Demo;
public class DemoMethod {
    public static void main(String[] args) {
    }
    public static int getSum(int a,int b){
        int result = a +  b;
        return result;
    }
}

有些是没有返回值的

格式说明

  • 修饰符:目前固定写法 public static
  • 返回值类型:用于限定返回值的数据类型
  • 方法名: 一个名字,为了方便我们调用方法
  • 参数类型:用于限定调用方法时传入的数据的类型
  • 参数名 :用于接收调用方法时传入的数据的变量
  • 方法体:完成功能的代码
  • return :结束方法,把返回值带给调用者

方法案例

1,求两个数据之和

代码语言:javascript
复制
package com.baidu.Demo;
public class DemoMethod {
    public static void main(String[] args) {
        //方法一:输出调用
        //System.out.println(getSum(10,20));
        //方法二:赋值调用
        int result = getSum(10,20);
        System.out.println(result);
    }
    public static int getSum(int a,int b){
        int result = a +  b;
        return result;
    }
}

2,过程图解

3,键盘录入两个数据,返回两个数中的较大值

代码语言:javascript
复制
package com.baidu.Demo;
import java.util.Scanner;
public class methodTest {
    public static void main(String[] args) {
         Scanner sc=new Scanner(System.in);
         System.out.print("请输入两个数:");
         int a=sc.nextInt();
         int b=sc.nextInt();
        System.out.println("最大值是:"+getMax(a,b));
    }
    public static int getMax(int x,int y){
        if(x>y)
            return x;
        return y;
    }
}

4,键盘录入两个数据,比较两个数是否相等

代码语言:javascript
复制
package com.baidu.Demo;
import java.util.Scanner;
public class methodTest {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        System.out.println("请输入第一个数据");
        int a=sc.nextInt();
        System.out.println("请输入第二个数据");
        int b=sc.nextInt();
        boolean falg=getCompare(a,b);
        System.out.println("这两个数:"+falg);
    }
    public static boolean getCompare(int a,int b){
        return a==b;
    }
}

方法重载

1,方法重载概述

在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

2,方法重载特点

与返回值类型无关,只看方法名和参数列表

参数列表的不同,指的是参数个数不同和类型不同

在调用时,虚拟机通过参数列表的不同来区分同名方法

代码语言:javascript
复制
public static int sum(int a,int b){
        return a+b;
    }
public static int sum(int a,int b,int c){
        return a+b+c;
    }
public static double sum(int a,int b,double c){
        return a+b+c;
    }

重载按例

1,计算两个数据之和,参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型

代码语言:javascript
复制
package com.baidu.Demo;
import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;
public class MedthodTest {
    public static void main(String[] args) {
        System.out.println(sum(10,23));
        System.out.println(sum((byte)10,(byte)23));
        System.out.println(sum((short)10,(short)23));
        System.out.println(sum(10l,23l));
    }
    public static byte sum(byte b1,byte b2){
        System.out.println("byte---");
        return (byte)(b1+b2);
    }
    public static short sum(short s1,short s2){
        System.out.println("short---");
        return (short)(s1+s2);
    }
    public static int sum(int i1,int i2){
        System.out.println("int---");
        return (i1+i2);
    }
    public static long sum(long l1,long l2){
        System.out.println("long---");
        return (l1+l2);
    }
}

传递问题

1,java方法参数的值传递,形式参数的改变不影响实际参数的数据值

代码语言:javascript
复制
package com.baidu.Demo;
public class args {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        System.out.println("a"+a+"|"+"b"+b);//10 20
        chang(a,b);
        System.out.println("a"+a+"|"+"b"+b);//10 20
    }
    public static void chang(int a,int b){
        System.out.println("a"+a+"|"+"b"+b);//10 20
        a=b;                                //20
        b=a+b;                               //30
        System.out.println("a"+a+"|"+"b"+b);//20 40
    }
}

2,图解

3,java 方法参数的引用传递 那么形式参数的改变会影响实际参数

代码语言:javascript
复制
package com.baidu.Demo;
public class args {
    public static void main(String[] args) {
        int[] arr={12,6,2,8,3};
        for (int i = 0; i <arr.length ; i++) {
            System.out.println(arr[i]);
        }
        chang(arr);
        for (int i = 0; i <arr.length ; i++) {
            System.out.println(arr[i]);
        }
    }
    public static void chang(int[] arr){
        for (int i = 0; i <arr.length ; i++) {
            if(arr[i]%2==0)
                arr[i]=-1;
        }
    }
}

4,图解

注意点

形式参数 用于接收实际参数的变量 实际参数 实际参与运算的变量 在java中重载与重写的区别 重载(Overload) 重写(Override)---面向对象

所有巧合的是要么是上天注定要么是一个人偷偷的在努力。

结束!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 五角钱的程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法概述
  • 方法格式
  • 格式说明
  • 方法案例
  • 方法重载
  • 重载按例
  • 传递问题
  • 注意点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档