java方法的概念,方法重载,参数传递

news/2024/7/3 12:23:05

一.方法的语法格式

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){ 
    执行语句
    ……… 
    return 返回值;
}

修饰符:方法的修饰符比较多,有对访问权限进行限定的,有静态修饰符static,还有最终修饰符final等,这些修饰符在后面的学习过程中会逐步介绍public

返回值类型:用于限定方法返回值的数据类型void

参数类型:用于限定调用方法时传入参数的数据类型

参数名:是一个变量,用于接收调用方法时传入的数据

return关键字:用于结束方法以及返回方法指定类型的值

返回值:被return语句返回的值,该值会返回给调用者

二.方法练习

//无返回值无参数方法,打印3行,每行3个*号的矩形
    public static void printRect(){
        //打印3行星
        for (int i=0; i<3; i++) {
            //System.out.println("***"); 相当于是打印3颗星,换行
            //每行打印3颗星
            for (int j=0; j<3; j++) {
                System.out.print("*");  // ***
            }
            System.out.println();
        }
    }
//有返回值无参数方法,键盘录入得到一个整数
    public static int getNumber(){
        Scanner sc = new Scanner(System.in);
        int number = sc.nextInt();
        return number;
    }
//无返回值有参数方法,打印指定M行,每行N个*号的矩形
    public static void printRect2(int m, int n){
        //打印M行星
        for (int i=0; i<m; i++) {
            //每行中打印N颗星
            for (int j=0; j<n; j++) {
                System.out.print("*");  
            }
            System.out.println();
        }
    }
//有返回值有参数方法,求三个数的平均值
    public static double getAvg(double a, double b, double c) {
        double result = (a+b+c)/3;
        return result;
    }

三.方法的重载

Java允许在一个类中定义多个名称相同的方法,但是参数的类型或个数必须不同,这就是方法的重载

public class MethodDemo02 {
    public static void main(String[] args) {
        // 下面是针对求和方法的调用
        int sum1 = add01(1, 2);
        int sum2 = add02(1, 2, 3);
        double sum3 = add03(1.2, 2.3);
        // 下面的代码是打印求和的结果
        System.out.println("sum1=" + sum1);
        System.out.println("sum2=" + sum2);
        System.out.println("sum3=" + sum3);
    }

    // 下面的方法实现了两个整数相加
    public static int add01(int x, int y) {
        return x + y;
    }
    // 下面的方法实现了三个整数相加
    public static int add02(int x, int y, int z) {
        return x + y + z;
    }
    // 下面的方法实现了两个小数相加
    public static double add03(double x, double y) {
        return x + y;
    }
}

四.重载的注意事项

1.重载方法参数必须不同:

参数个数不同,如method(int x)与method(int x,int y)不同

参数类型不同,如method(int x)与method(double x)不同

参数顺序不同,如method(int x,double y)与method(double x,int y)不同

2.重载只与方法名与参数类型相关与返回值无关

如void method(int x)与int method(int y)不是方法重载,不能同时存在

3.重载与具体的变量标识符无关

如method(int x)与method(int y)不是方法重载,不能同时存在

 

五.参数传递

 

当调用方法时,如果传入的数值为基本数据类型(包含String类型),形式参数的改变对实际参数不影响

当调用方法时,如果传入的数值为引用数据类型(String类型除外),形式参数的改变对实际参数有影响

 

转载于:https://www.cnblogs.com/akiyama/p/10221837.html


http://www.niftyadmin.cn/n/4556525.html

相关文章

C语言的免费教学软件在哪可以下载

http://download.csdn.net/source/471768这里可以下载 答案补充 http://www.skycn.com/soft/17869.html ||| http://www.bccn.net/shipin/Special/erjicyuyan/Index.html 免费视频教程

给我传一个吧。急用 谁有VC++6.0简体中文版的开发工具 谢谢拉

cidC7AE9D00A3F2468722240859F8B467245141C230&t2&fmt-绝对可以的 cid7497C46991962334EBE62CD8A838BA92479CBF11&t2&fmt-1&redirectno ||| http://58.251.57.206/down searchVC%2B%2B6.0%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87&id0 vc6.0简体中文版htt…

Linux 后台运行命令:nohup 和

【参开文章】&#xff1a;nohup 与 & 的区别 1. nohup 1.1 基本概念 将程序以忽略挂起信号的方式运行起来&#xff1b; 不可以免疫 Ctrl C 的 SIGINT 中断信号&#xff1b; 可以免疫 SIGHUP 的 挂断信号&#xff1b; 测试&#xff1a; 查看启动脚本&#xff0c;两个…

.net C#连接数据库例子

表我建 ||| 最简单的连接SQL的方法&#xff1a; SqlConnection conn new SqlConnection("server.;databasemybase;uidsa;pwdsa;"); SqlConnection conn new SqlConnection("server./mySqlServer;databasemybase;uidsa;pwdsa;"); SqlConnection conn new…

前端组件:支持多选,支持选项筛选的下拉框选择器(基于Jquery和Bootstrap)

效果图一&#xff1a;多选 效果图二&#xff1a;选项筛选 最后奉献源码&#xff0c;复制出来直接可用 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>支持搜索选项和多选的下拉框</title><link rel"style…

这种题目怎么做 为什么 谢谢 给个例题 正方形的周长C与它的边长中的2个变量是否成正比例

因为&#xff1a;周长 4 * 边长 对于这个例子 周长c和边长 成 正比例 这种题目的做法是找出两个变量之间的函数关系的表达式 根据函数的表达式 符合正比例函数&#xff1a;y k * x (k4&#xff09;的定义 就可以知道两个变量的确切关系了 周长和边长着两个变量之间的函数干洗…

关于C语言方面的问题 请高手指教

||| main(){int a[10] 而不是你所想要的f指向A数组 你这样赋值会让f指向的值为A[10] 钱能主编的书里有. ||| float *f;*f A[10]; //Error:*f表示f的首地址的值 B[7]) ; return 0 ;} ||| 二.C语言/C类问题描述.这些问题在<<C程序设计教程>>清华大学出版社 40) ; pr…