JAVA方法
创始人
2024-05-31 21:35:10
0

目录

  • 1 何为方法?

  • 2 方法的定义及调用

  • 方法的定义

  • 方法调用

  • 3 方法重载

  • 4 命令行传参

  • 5 可变参数

  • 6 递归

package com.Chris.method;

public class Demo01 {

//main方法

public static void main(String[] args) {

//int sum = add(1, 2);

//System.out.println(sum);

test();

}

//加法

public static int add(int a, int b) {

return a + b;

}

public static void test() {

int i = 0;

while (i < 100) {

i++;

if (i % 10 == 0) {

System.out.println(i);

continue;

}

}

}

}

1 何为方法?

  • System.out.println(),那么它是什么呢?

  • Java方法是语句的集合,它们在一起执行一个功能

  • 方法是解决一类问题的步骤的有序组合

  • 方法包含于类或对象中

  • 方法在程序中被创建,在其他地方被引用

  • 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最会保持方法的原子性,就是一个方法只用完成1个功能,这样有利于我们后期的扩展。

2 方法的定义及调用

方法的定义

  • Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:

  • 方法包含一个方法头和一个方法体。下面是一个方法的所有部分:

  • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义方法的访问类型。

  • 返回值类型:方法可能会返回值。returnValueType是方法返回值的数据类型,有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType是关键字void。

  • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名

  • 参数类型:参数想是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法是不可以包含任何参数。

  • 形式参数:在方法被调用时用于接收外界输入的数据。

  • 实参:调用方法时实际传给方法的数据

  • 方法体:方法体包含具体的语句,定义该方法的功能。

修饰符 返回值类型 方法名(参数类型 参数名){

···

方法体

···

return 返回值;

}

package com.Chris.method;

public class Demo01 {

//main方法

public static void main(String[] args) {

//实际参数:实际调用传递给他的参数

int sum = add(1, 2);

System.out.println(sum);

test();

}

//加法

//形式参数,用来定义作用的

public static int add(int a, int b) {

return a + b;

}

public static void test() {

for (int i = 0; i <= 1000; i++) {

if (i % 5 == 0) {

System.out.print(i + "\t");

}

if (i % (5 * 3) == 0) {//每行

System.out.println();

//System.out.print(“\n”)

}

}

}

}

方法调用

  • 调用方法:对象名.方法名(实参列表)

  • Java支持两种调用方法的方式,根据方法是否返回值来选择。

  • 当方法返回一个值得时候,方法调用通常被当做一个值。例如:

int larger = max(30,40);

  • 如果方法返回值是void,方法调用一定是一条语句。

System.out.println("Hello,HelloWorld")

package com.Chris.method;

public class Demo02 {

public static void main(String[]args){

int max = max(10,10);

System.out.println(max);

}

// 比大小

public static int max(int num1,int num2){

int result = 0;

if(num1==num2) {

System.out.println("num1==num2");

return 0;//终止方法

}

if(num1>num2){

result = num1;

}else {

result = num2;

}

return result;

}

}

3 方法重载

  • 重载就是在一个类中,有相同的函数名称,但形参不同的函数。

  • 方法的重载的规则:

  • 方法名称必须相同。

  • 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。

  • 方法的返回类型可以相同也可以不想同。

  • 仅仅返回类型不同不足以成为方法的重载

  • 实现理论:

  • 方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应得方法,如果匹配失败,则编译器报错。

package com.Chris.method;

public class Demo02 {

public static void main(String[] args) {

double max = max(20, 10);

System.out.println(max);

}

//比大小

public static int max(int num1, int num2) {

int result = 0;

if (num1 == num2) {

System.out.println("num1==num2");

return 0; //终止方法

}

if (num1 > num2) {

result = num1;

} else {

result = num2;

}

return result;

}

//比大小

public static double max(double num1, double num2) {

double result = 0;

if (num1 == num2) {

System.out.println("num1==num2");

return 0; //终止方法

}

if (num1 > num2) {

result =(int) num1;

} else {

result =(int) num2;

}

return result;

}

//比大小

public static int max(int num1, int num2, int num3) {

int result = 0;

if (num1 == num2) {

System.out.println("num1==num2");

return 0; //终止方法

}

if (num1 > num2) {

result = num1;

} else {

result = num2;

}

return result;

}

}

4 命令行传参

  • 有时候我们希望运行一个程序时候再传递给它消息。这要靠命令行参数给main()函数实现。

public class CommandLine{

public static void main(String args[]){

for(int i = 0;i

System.out.println("args["+i+"]:"+args[i]);

}

}

}

5 可变参数

不定项参数

  • JDK 1.5开始,Java支持传递同类型的可变参数给一个方法

  • 在方法生明中,在指定参数类型后加一个省略号(...)

  • 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。

package com.Chris.method;

public class Demo04 {

public static void main(String[] args) {

Demo04 demo04 = new Demo04();

demo04.test(1,2,3,4,5);

}

public void test(int...i){

System.out.println(i[0]);

System.out.println(i[1]);

System.out.println(i[2]);

System.out.println(i[3]);

System.out.println(i[4]);

}

}

package com.Chris.method;

public class Demo04 {

public static void main(String[] args) {

//调用可变参数的方法

printMax(34, 40, 50);

printMax(new double[]{1, 2, 3});

}

public static void printMax ( double...numbers){

if (numbers.length == 0) {

System.out.println("No argument passed");

return;

}

double result = numbers[0];

//排序

for (int i = 1; i < numbers.length; i++) {

if (numbers[i] > result) {

result = numbers[i];

}

}

System.out.println("The max value is" + result);

}

}

6 递归

  • A方法调用B方法,我们很容易理解!

  • 递归就是:A方法调用A方法!就是自己调用自己

  • 利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在与用有限的语句来定义对象的无限集合。

  • 递归结构包括两个部分:

  • 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。

  • 递归体:什么时候需要调用自身方法。

package com.Chris.method;

public class Demo06 {

//递归思想

public static void main(String[] args) {

System.out.println(f(3));

}

public static int f(int n) {

if (n == 1) {

return 1;

} else {

return n * f(n - 1);

}

}

}

相关内容

热门资讯

介绍朋友的优点英语范文12篇... 篇一:我的好朋友李明的优点李明是我最好的朋友之一。他有许多优点,让我非常钦佩和喜欢。首先,李明非常聪...
新年英语作文 新年英语作文(精选5篇)  无论是在学校还是在社会中,许多人都写过作文吧,通过作文可以把我们那些零零...
中国轻纺城英语介绍范文(优选... 中国轻纺城英语介绍范文 篇一Title: Introduction to China Textile...
英语各式abcc押韵句子(优... 英语各式abcc押韵句子 篇一Loving the RainRaindrops falling on...
台风的英语作文(通用4篇) 台风的英语作文 篇一The Terrifying TyphoonTyphoon is a power...
代沟的作文(精彩5篇) 代沟的作文 篇一随着社会的不断发展和进步,代沟问题逐渐凸显出来。代沟是指不同年龄群体之间由于生活经历...
电子书的利弊英语作文【优质3... Article 1: The Pros and Cons of E-booksWith the ra...
话题英语作文【优选6篇】 话题英语作文 篇一:The Impact of Social Media on TeenagersW...
介绍自己英语作文【经典5篇】 Introducing Myself - Part OneHello, everyone! My n...
关于幽默感的英语句子【优选3... 关于幽默感的英语句子 篇一Humor is the best medicineHumor has t...
一封信英语作文(优选6篇) 一封信英语作文 篇一Dear Grandma,I hope this letter finds yo...
代沟的英语作文带翻译 有关代沟的英语作文带翻译(精选3篇)  在日常学习、工作和生活中,许多人都有过写作文的经历,对作文都...
新年计划英语作文(精简6篇) 新年计划英语作文 篇一My New Year's ResolutionsAs the new yea...
期盼元旦的英语作文【精彩3篇... Anticipating New Year's Day - Article OneNew Year'...
面试学校老师英语作文范文(推... 面试学校老师英语作文范文 篇一Title: The Importance of Communicat...
冬至英语作文(精选6篇) 冬至英语作文 篇一Winter SolsticeWinter Solstice, also know...
去动物园英语作文【通用6篇】 Going to the Zoo - Part 1Last weekend, my family a...
在公园里的五年级英语作文【最... 在公园里的五年级英语作文 篇一A Day in the ParkLast weekend, my f...
英语创意作业评比报道范文(优... 英语创意作业评比报道范文 篇一英语创意作业评比活动圆满结束,参赛学生们展示了精彩的作品,令人难以选择...
如何让你活出精彩真自我英语作... 如何让你活出精彩真自我英语作文 篇一Title: Discovering Your True Sel...