方法的定义
public static void 方法名(){
方法体;
}
调用:方法名()
带返回值的方法定义
public static 数据类型 方法名(参数){
return 数据;
}
例子:
1.public static boolean isEvenNumber(int number){
return true;
}
2.public static int getMax(int a,int b){
return 100;
}
带返回值的方法调用
1.方法名(参数)
例:isEvenNumber(5);
2.数据类型 变量名=方法名(参数);
例:boolean flag= isEvenNumber(5);
注:
方法不能嵌套定义
void表示无返回值,return可省略。
方法参数的传递
对于基本数据类型的参数 形参不影响实参。
即:
package _1; public class _75 { public static void main(String[] args) { int a=10; } public static int change(int a){ a=20; return a; } }
main与change中各自的“a”没有关系
练习程序:
利用方法实现:输入一个整数判断奇偶数
package _1;
import java.util.Scanner;
public class _71 {
public static void main(String[] args) {
oshu();
}
public static void oshu() {
System.out.println("输入一个整数");
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
if(i%2==0){
System.out.println("偶数");
}
else {
System.out.println("奇数");
}
}
}
//方法的定义和调用
利用无返回值方法实现:输入两个整数,并输出较大值
package _1;
import java.util.Scanner;
public class _72 {
public static void main(String[] args) {
System.out.println("请输入俩个整数");
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
Scanner sd=new Scanner(System.in);
int j=sc.nextInt();
getMax(i,j);
}
public static void getMax(int i,int j) {
int max=i>=j?i:j;
System.out.println("较大的是"+max);
}
}
//方法调用例子
使用有返回值的方法实现:输入两个整数,输出较大值。
package _1;
import java.util.Scanner;
public class _77 {
public static void main(String[] args) {
System.out.println("请输入两个数字");
Scanner a = new Scanner(System.in);
Scanner b = new Scanner(System.in);
int i = a.nextInt();
int j = b.nextInt();
System.out.println("较大的是" + max(i, j));
}
public static int max(int i, int j) {
int m = i >= j ? i : j;
return m;
}
}
//带返回值方法的定义和调用练习,两个数中较大的数
方法重载
package _1;
public class _80 {
public static void main(String[] args) {
int q=sum(10,20);
System.out.println(q);
double w=sum(10.2,20.2);
System.out.println(w);
int e=sum(10,20,30);
System.out.println(e);
}
public static int sum(int a, int b) {
return a + b;
}
public static double sum(double a, double b) {
return a + b;
}
public static int sum(int a, int b, int c) {
return a + b + c;
}
}
/*
* 方法重载
* 多个方法在同一个类中
* 多个方法的方法名相同
* 多个方法的参数的类型或数量不同
* */
判断是否相同,方法重载
package _1;
public class _81 {
public static void main(String[] args) {
byte a = 1;
byte b = 2;
System.out.println(tong(a, b));
short c = 4;
short d = 4;
System.out.println(tong(c, d));
int e = 3;
int f = 7;
System.out.println(tong(e, f));
long g = 10;
long h = 10;
System.out.println(tong(g, h));
}
public static boolean tong(byte a, byte b) {
System.out.println("-------");
System.out.println("byte");
return a - b == 0 ? true : false;
}
public static boolean tong(short a, short b) {
System.out.println("-------");
System.out.println("short");
return a - b == 0 ? true : false;
}
public static boolean tong(int a, int b) {
System.out.println("-------");
System.out.println("int");
return a - b == 0 ? true : false;
}
public static boolean tong(long a, long b) {
System.out.println("-------");
System.out.println("long");
return a - b == 0 ? true : false;
}
}
//方法重载练习
利用方法实现数组遍历
package _1;
public class _84 {
public static void main(String[] args) {
int a[]={2,4,6,3,7,1,34,52,1,};
bian(a);
}
public static void bian(int a[]) {
System.out.print("[");
for (int i=0;i<a.length-1;i++){
System.out.print(a[i]+", ");
}
System.out.print(a[a.length-1]);
System.out.println("]");
}
}
//利用方法实现数组的遍历
利用方法找出数组中的最大值
package _1;
public class _85 {
public static void main(String[] args) {
int a[] = {2, 5, 7, 34, 98, 56, 23, 55};
int max = max(a);
System.out.println("数组中最大的数是" + max);
}
public static int max(int a[]) {
int b = 0;
for (int i = 0; i < a.length; i++) {
b = a[i] >= b ? a[i] : b;
}
return b;
}
}
//利用方法找出数组中最大值