方法1

ackage com.itheima_01;

/*

* 方法:其实就是完成特定功能的代码块

*

* 定义格式:

* 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {

* 方法体;

* return 返回值;

* }

* 格式解释:

* A:修饰符 目前记住public static

* B:返回值类型 用于限定返回值的数据类型

* C:方法名 为了方便我们调用方法的名字

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

* E:参数名 用于接收调用方法时传入的数据的变量

* F:方法体 完成功能的代码

* G:return 结束方法,并且把返回值带给调用者

*

* 写一个方法有两个明确:

* A:返回值类型 明确功能结果的数据类型

* B:参数列表 明确有几个参数,以及参数的数据类型

*

* 案例:

* 写一个方法用于求和。

*/

public class MethodDemo {

public static void main(String[] args) {

}

/*

* 两个明确:

* 返回值类型:int

* 参数列表:int a,int b

*/

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

int c = a + b;

return c;

}

}


package com.itheima_01;

/*

* 方法的调用:(有明确返回值的方法调用)

* A:单独调用,没有意义

* B:输出调用,有意义,但是不够好,因为我可能需要拿结果进行进一步的操作

* C:赋值调用,推荐方式

*/

public class MethodDemo2 {

public static void main(String[] args) {

//单独调用

//sum(10,20);

//输出调用

//System.out.println(sum(10,20));

//赋值调用

int result = sum(10,20);

//可以对result进行操作

//result += 10;

System.out.println(result);

}

/*

* 求和方法

*

* 两个明确:

* 返回值类型:int

* 参数列表:int a,int b

*/

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

int c = a + b;

return c;

}

}



package com.itheima_01;

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();

//调用方法

int max = getMax(a,b);

//输出结果

System.out.println("max:"+max);

}

/*

* 返回两个数中的较大值

*

* 两个明确:

* 返回值类型:int

* 参数列表:int a,int b

*/

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

if(a > b) {

return a;

}else {

return b;

}

}

}




ackage com.itheima_01;

import java.util.Scanner;

/*

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

*/

public class MethodTest2 {

public static void main(String[] args) {

//创建键盘录入对象

Scanner sc = new Scanner(System.in);

//接收数据

System.out.println("请输入第一个数据:");

int x = sc.nextInt();

System.out.println("请输入第二个数据:");

int y = sc.nextInt();

//调用方法

boolean b = compare(x,y);

//输出结果

System.out.println("b:"+b);

}

/*

* 比较两个数是否相等

*

* 两个明确:

* 返回值类型:boolean

* 参数列表:int a,int b

*/

public static boolean compare(int a,int b) {

if(a == b){

return true;

}else {

return false;

}

}

}





ackage com.itheima_01;

import java.util.Scanner;

/*

* 键盘录入三个数据,返回三个数中的最大值

*/

public class MethodTest3 {

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();

System.out.println("请输入第三个数据:");

int c = sc.nextInt();

//调用方法

int max = getMax(a,b,c);

//输出结果

System.out.println("max:"+max);

}

/*

* 返回三个数中的最大值

*

* 两个明确:

* 返回值类型:int

* 参数列表:int a,int b,int c

*/

public static int getMax(int a,int b,int c) {

if(a > b) {

if(a > c) {

return a;

}else {

return c;

}

}else {

if(b > c) {

return b;

}else {

return c;

}

}

}

}

ackage com.itheima_02;

/*

* 需求:写一个方法,在控制台输出10次HelloWorld案例

*

* 两个明确:

* 返回值类型:void

* 参数列表:没有参数

*

* 如果一个方法没有明确的返回值类型,也不能把返回值类型的地方空出来,应该写void表示该方法无返回值类型。

*

* 方法调用:(void修饰的方法的调用)

* 只能单独调用

*

*/

public class MethodDemo {

public static void main(String[] args) {

//单独调用

printHelloWorld();

//输出调用

//System.out.println(printHelloWorld());

//赋值调用

//void v = printHelloWorld();

}

/*

* 在控制台输出10次HelloWorld案例

*

* 两个明确:

* 返回值类型:void

* 参数列表:

*/

public static void printHelloWorld() {

// for(int x=1; x<=10; x++) {

// System.out.println("HelloWorld");

// }

for(int x=0; x<10; x++) {

System.out.println("HelloWorld");

}

}

package com.itheima_02;

/*

* 写一个方法,传递一个整数(大于1),在控制台打印1到该数据的值

*/

public class MethodTest {

public static void main(String[] args) {

//调用方法

printNumber(3);

System.out.println("------------");

printNumber(10);

}

/*

* 写一个方法,传递一个整数(大于1),在控制台打印1到该数据的值

*

* 两个明确:

* 返回值类型:void

* 参数列表:int n

*/

public static void printNumber(int n) {

for(int x=1; x<=n; x++) {

System.out.println(x);

}

}



package com.itheima_02;

/*

* 写一个方法,把所有的水仙花数打印在控制台

*/

public class MethodTest2 {

public static void main(String[] args) {

//调用方法

printFlower();

}

/*

* 写一个方法,把所有的水仙花数打印在控制台

*

* 两个明确:

* 返回值类型:void

* 参数列表:无参数

*/

public static void printFlower() {

for(int x=100; x<1000; x++) {

int ge = x%10;

int shi = x/10%10;

int bai = x/10/10%10;

if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {

System.out.println(x);

}

}

}

}




package com.itheima_03;

/*

* 方法重载:在同一个类中,出现了方法名相同的情况。

* 方法重载的特点:

* 方法名相同,参数列表不同。与返回值无关。

* 参数列表不同:

* 参数的个数不同

* 参数对应的数据类型不同

*

* 注意:

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

*/

public class MethodDemo {

public static void main(String[] args) {

//定义变量

int a = 10;

int b = 20;

//求和方法

int result = sum(a,b);

System.out.println("result:"+result);

//定义变量

int c = 30;

//求和方法

//int result2 = sum2(a,b,c);

int result2 = sum(a,b,c);

System.out.println("result2:"+result2);

}

//不能出现方法名相同,并且参数列表也相同的情况

// public static int sum(int x,int y) {

// return x + y;

// }

public static float sum(float a,float b) {

return a + b;

}

//求三个数据的和

/*

public static int sum2(int a,int b,int c) {

return a + b + c;

}

*/

public static int sum(int a,int b,int c) {

return a + b + c;

}

//求两个数据的和方法

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

//int c = a + b;

//return c;

return a + b;

}

}


package com.itheima_03;

/*

* 比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型,并在main方法中进行测试

*/

public class MethodTest {

public static void main(String[] args) {

//System.out.println(compare(10, 20));

//System.out.println(compare((byte)10, (byte)20));

//System.out.println(compare((short)10, (short)20));

System.out.println(compare(10L, 20L));

}

//byte

public static boolean compare(byte a,byte b) {

System.out.println("byte");

return a == b;

}

//short

public static boolean compare(short a,short b) {

System.out.println("short");

return a == b;

}

//int

public static boolean compare(int a,int b) {

System.out.println("int");

return a == b;

}

//long

public static boolean compare(long a,long b) {

System.out.println("long");

return a == b;

}

}



package com.itheima_04;

/*

* 方法的参数如果是基本数据类型:形式参数的改变不影响实际参数。

*

* 形式参数:用于接收实际参数的变量

* 实际参数:实际参与运算的变量

*/

public class ArgsDemo {

public static void main(String[] args) {

int a = 10;

int b = 20;

System.out.println("a:"+a+",b:"+b);//a:10,b:20

change(a,b);

System.out.println("a:"+a+",b:"+b);//??? a:10,b:20

}

public static void change(int a,int b) {//a=10,b=20

System.out.println("a:"+a+",b:"+b);//a:10,b:20

a = b;//a=20

b = a + b;//b=40

System.out.println("a:"+a+",b:"+b);//a:20,b:40

}

}

你可能感兴趣的:(方法1)