目录

方法概念

方法定义和调用

方法定义

方法调用

练习

带参数的方法定义和调用

带参数的方法定义

带参数的方法调用

形参和实参

练习

带返回值的方法定义和调用

带返回值的方法定义

带返回值的方法调用

练习

方法的注意事项

1、方法不能嵌套定义

3、方法的通用格式

定义方法时,要做到两个明确

方法调用时

方法重载

方法重载的概述

方法重载的特点

方法重载练习

方法的参数传递

方法参数传递(基本类型)

方法参数传递(引用类型)

练习

数组最大值


方法概念

方法是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。

注意:

1、方法必须先创建才能使用,该过程称为方法定义

2、方法创建后并不是直接运行,需要手动使用后才执行,该过程称方法调用。

方法定义和调用

方法定义

格式:

public static void 方法名(){//方法体
}

范例

public static void isEvenNumber(){//方法体
}

方法调用

格式

方法名();

范例

isEvenNumber();
public class MethodDemo {public static void main(String[] args){//调用方法isEvenNumber();}//定义方法public static void isEvenNumber(){int number=10;if(number%2==0){System.out.println(true);}else {System.out.println(false);}}
}

方法必须先定义后调用,否则程序会报错

练习

设计一个方法用于打印两个数中较大数

public class MethodText {public static void main(String[] args){getMax();}public static void getMax(){int a=10;int b=20;if(a>b){System.out.println(a);}else{System.out.println(b);}}
}

带参数的方法定义和调用

带参数的方法定义

格式:

public static void 方法名(参数){... ...}

格式(单个参数)

public static void 方法名(数据类型 变量名){... ...}

范例(单个参数):

public static void isEvenNumber(int number){... ...}

格式(多个参数)

public static void 方法名(数据类型 变量名1,数据类型 变量名2,.....){......}

范例(多个参数)

public static void getMax(int number,int numder){......}

注意:

方法定义时,参数中的数据类型与变量都不能缺少,缺少任意一个程序将报错

方法定义时,多个参数之间使用逗号(,)分隔

带参数的方法调用

格式:

方法名(参数);

格式(单个参数)

方法名(变量名/常量值);

范例(单个参数)

isEvenNunber(5);

格式(多个参数)

方法名(变量名1/常量值1,变量名2/常量值2);

范例(多个参数)

getMax(5,6);

注意:

方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序将报错

public class MethodText {public static void main(String[] args){//带参数调用(常量)isEvenNumber(10);//带参调用变量int i=12;isEvenNumber(i);}//带参数的定义public static void isEvenNumber(int Nunber){if(Nunber%2==0){System.out.println(true);}else {System.out.println(false);}}
}

形参和实参

形参:方法定义中的参数,等同于变量的定义格式,例如:int number

public class MethondDemo02{public static void main(String[] agrs){isEvenNumber(10);int number=10;isEvenNumber(number);}public static void isEvenNumber(int number){if(number % 2==0){System.out.println(true);}else{System.out.println(false);}}}

实参:方法调用中的参数,等同于使用变量或常量,例如 10 number

练习

设计一个方法用于打印两个数中较大的数,数据来自参数

public class MethodText {public static void main(String[] args) {getMax(10,30);int a=10;int b=30;getMax(a,b);}public static void getMax(int a,int b){if(a>b){System.out.println(a);}else{System.out.println(b);}}
}

带返回值的方法定义和调用

带返回值的方法定义

格式:

public static 数据类型  方法名(参数){return 数据;
}

范例1:

public static boolean isEvenNumber(int number){return true;
}

范例2:

public static int getMax(int a, int b){return 100;
}

注意:

方法定义时return后面的返回值与方法定义上的数据类型要匹配,否则程序将报错

带返回值的方法调用

格式1:

方法名(参数);

范例1:

isEvenNumber(5);

格式2:

数据类型 变量名 = 方法名(参数);

范例2:

boolean flag = isEvenNumber(5);

注意:

方法的返回值通常会使用变量接收,否则该返回值将无意义

public class MethodText {public static void main(String[] args) {isEvenNumber(10);boolean flag=isEvenNumber(10);System.out.println(flag);}//定义一个方法,该方法接收一个参数,判断该参数是否是偶数,并返回真假public static boolean isEvenNumber(int number){if(number%2==0){return true;}else{return false;}}
}

练习

设计一个方法可以获取两个数的较大值,数据来自参数

public class MethodText {public static void main(String[] args) {int i=getMax(10,20);System.out.println(i);System.out.println(getMax(30,70));}//定义一个方法,该方法接收一个参数,判断该参数是否是偶数,并返回真假public static int getMax(int a,int b){if(a>b){return a;}else {return b;}}
}

方法的注意事项

1、方法不能嵌套定义

正确

public class ForForDemo {public static void methoodOne(){}public static void methoonTow(){}}

错误

public class ForForDemo {public static void methoodOne(){public static void methoonTow(){}}}

2、void 表示无返回值,可以省略return,也可以单独的书写return,后面不加数据

正确

public class ForForDemo {public static void methood(){}
}

正确

public class ForForDemo {public static void methood(){return;}
}

错误

public class ForForDemo {public static void methood(){return 100;}
}

3、方法的通用格式

格式:

public static 返回值类型  方法名(参数){方法体;return 数据; }

public static 修饰符

返回值类型 方法操作完毕之后返回的数据类型

如果方法操作完毕,没有数据返回,这里写void,而且方法体中一般不写return

方法名 调用方法时候使用的标识

参数 由数据类型和变量名组成,多个参数之间用逗号隔开

方法体 完整功能的代码块

return 如果方法操作完毕,有数据返回,用于把数据返回给调用者

定义方法时,要做到两个明确

明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写 void 如果有,写对应的数据类型

明确参数:主要是明确参数的类型和数量

方法调用时

void 类型的方法,直接调用即可

非void类型的方法,推荐用变量接收调用

方法重载

方法重载的概述

方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载

1、多个方法在同一个类中

2、多个方法具有相同的方法名

3、多个方法的参数不相同,类型不同或者数量不同

方法重载的特点

重载仅对应方法的定义,与方法调用无关,调用方式参照标准格式

重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判定两个方法是否相互构成重载。

不是方法重载

public class MethodDemo{//方法重载与返回值无关,不能通过返回值判定方法重载public static void fn(int a){}public static int fn(int a){}}
//不在同一个类
public class MethodDemo01 {public static void fn(int a) {}}
public class MethodDemo02{public static int fn(double a){}
}

是方法重载

public class MethodDemo {public static float fn(int a){}public static int fn(int a,int b){}
}
public class MethodDemo {public static void fn(int a){}public static int fn(double a){}
}

案例

public class MethodDemo {//与返回值无关//在调用的时候,java虚拟机会通过参数的不同来区分同名方法public static void main(String[] agrs){int i=sum(10,20);System.out.println(i);double j=sun(20.1,30.2);System.out.println(j);int k=sun(1,3,4);System.out.println(k);}//求两个int类型数据和的方法public static int  sum(int a,int b) {return a+b;}//求两个double类型数据和的方法public static double sun(double a,double b){return a+b;}//求三个int类型数据和的方法public static  int sun(int a,int b,int c){return a+b+c;}}

方法重载练习

需求:使用方法重载的思想,设计比较两个整数是否相同的方法,兼容全整数类型(byte,short,int,long)

public class MethodDemo {public static void main(String[] agrs){System.out.println(compare(12,12));System.out.println(compare((long)10,(long)90));System.out.println(compare((byte)2,(byte)2));System.out.println(compare((short)3,(short)3));}public static boolean compare(int a,int b){return a==b;}public static boolean compare(long a,long b){return a==b;}public static boolean compare(byte a, byte b){return a==b;}public static boolean compare(short a,short b){return a==b;}}

方法的参数传递

方法参数传递(基本类型)

public class MethodDemo {public static void main(String[] agrs){int number=100;System.out.println("调用change之前:"+number);change(number);System.out.println("调用change之后:"+number);}public static void change(int number){number=200;}}

对于基本数据类型的参数,形式参数的改变,不影响实际参数的值

方法参数传递(引用类型)

public class MethodDemo {public static void main(String[] agrs){int arr[] ={10,20,30};System.out.println("调用change之前:"+arr[0]);change(arr);System.out.println("调用change之后:"+arr[0]);}public static void change(int arr[]){arr[0]=200;}}

对引用类型的参数,形参式参数的改变,影响实际参数的值

练习

设计一个方法用于数组遍历,要求遍历的结果是在一行上,如[11,22,33,44,55]

System.out.println("内容"); 输出的内容并换行

System.out.print("内容"); 输出内容不换行

public class MethodDemo {public static void main(String[] agrs){int arr[]={11,22,33,44,55};printArray(arr);}public static void printArray(int arr[]){System.out.print("[");for(int i=0;i<arr.length;i++){//System.out.println(arr[i]);System.out.print(arr[i]);if(i<arr.length-1){System.out.print(",");}}System.out.print("]");}
}

数组最大值

public class MethodDemo {public static void main(String[] agrs){int arr[]={80,50,60,90,100};System.out.println(getMax(arr));}public static int getMax(int[] arr){int max=arr[0];for(int x=1;x<arr.length;x++){if(arr[x]>max){max=arr[x];}}return max;}
}

java基础之静态方法相关推荐

  1. java基础(十三)-----详解内部类——Java高级开发必须懂的

    java基础(十三)-----详解内部类--Java高级开发必须懂的 目录 为什么要使用内部类 内部类基础 静态内部类 成员内部类 成员内部类的对象创建 继承成员内部类 局部内部类 推荐博客 匿名内部 ...

  2. java 获取泛型t的class_阿里巴巴都鼎力推荐的java基础之集合其他内容和泛型3

    第三节 泛型 3.1为什么需要泛型 没有采用泛型之前 1.不安全:添加元素是无检查 宽进 2.繁琐:获取元素时需要强制类型转换 严出 采用泛型之后 1.安全 严进 2.简单 宽出 3.2什么是泛型ge ...

  3. 给Java新手的一些建议——Java知识点归纳(Java基础部分)

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

  4. Java基础学习总结(20)——基础语法

    2019独角兽企业重金招聘Python工程师标准>>> 一.标识符 二.关键字 三.JAVA基础数据类型 3.1. java常量 3.2. java变量 从本质上来讲,变量其实是内存 ...

  5. (CZ深入浅出Java基础)线程笔记

    这是刘意老师的JAVA基础教程的笔记 讲的贼好,附上传送门 传智风清扬-超全面的Java基础 一.线程的引入 1.多线程概述 进程 a.正在运行的程序,是系统进行资源分类和调用的独立单位. b.每个进 ...

  6. Java基础教程:反射基础

    Java基础教程:反射基础 引入反射 反射是什么 能够动态分析类能力的程序称为反射. 反射是一种很强大且复杂的机制. Class类 在程序运行期间,Java运行时系统始终为所有对象维护一个被称为运行时 ...

  7. java 多态判断非空_跳槽涨薪季面试题之java基础(一)

    点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 为迎接金九银十跳槽涨薪季,小编汇总了java精编版面试题,大概从java基础.java8特性.多线程.spring.springboot. ...

  8. java基础学习整理(一)

    java基础学习整理(一) lesson1: D0s命令: 1.回到根目录,>cd \ 2.复制命令行下的内容,右击标记所要复制的内容,这样就已经复制好了,右击粘贴就可以了. 3.查看,设置环境 ...

  9. Java基础:类加载器

    系列阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 1. 什么是类加载器 类加载器就是用来加载类的东西!类加载器也是一个类:ClassLoader 类加载 ...

最新文章

  1. 玻璃和水晶PBR纹理材质预设
  2. gff3转mysql_五月 | 2013 | 陈连福的生信博客
  3. overflow的量两种模式
  4. python能在生活中做什么-python能做哪些生活有趣的事情
  5. 企业壳的反调试及Hook检测分析
  6. 阿里云服务器被挖矿病毒minerd***的解决方法
  7. 将网站SSL Server Certificate导入ABAP系统,证书Subject中文字符被转义引起的问题
  8. WEB站点服务器安全配置
  9. node生成uuid
  10. 持续集成部署Jenkins工作笔记0014---curl命令触发构建
  11. 数据库设计系列[04]组织结构加入权限系统
  12. 手把手玩转win8开发系列课程(20)
  13. php 安装pdo odbc,php如何安装pdo odbc扩展
  14. iOS开发之isa、superclass(课程总结)
  15. react中创建组件的三种方法
  16. IOMeter安装以及测试
  17. HexCompare比较任意Bin/Hex/Srec/s19/elf文件
  18. loki日志收集系统部署
  19. 微信公众号如何做推送?微信日常图文推送怎么做?
  20. Jenkins进阶系列之——02email-ext邮件通知模板

热门文章

  1. web渗透--60--本地存储安全
  2. Windows自带的计算器
  3. PHP上传图片和显示
  4. 计算机快捷键m是什么,电脑常用快捷键有哪些
  5. 单片机的组成、工作原理、分类、特点以及发展趋势
  6. geohash 模块安装及使用(Anaconda.Python 2)
  7. eval()函数的使用
  8. 20211221:Tensorrt部署解析模型uff模型
  9. 如何实现uniapp热区链接
  10. 详解鸽巢原理【组合数学】