回顾数据类型
基本数据类型:
byte short int long
float double
char
boolean
引用数据类型:
类
String
接口
数组
int[] double[] String[]
1.方法的概念
什么是方法?
方法就是将具有独立功能的一段代码组成一个代码块。
方法需要先创建才能使用,创建的过程称为方法的定义。
方法创建之后不是自动执行的,需要手动调用才会执行,称为方法的调用。
方法的单词是:mathod
2.方法的定义
无返回值的格式:
修饰符 返回值类型 方法名(参数类型 参数名){
方法体;
}
例子:
public static void add(int a , int b){
int c = a + b;------------方法体
System.out.println(c);
}
有返回值的格式:
修饰符 返回值类型 方法名(参数类型 参数名){
方法体;
return 值;
}
3.方法的调用【重点】
没有返回值的方法调用
只能直接调用:方法名(参数);
有返回值的方法调用
赋值调用:
数据类型 变量名 = 方法名(参数);
输出调用:
System.out.println(方法名(参数));
直接调用:
方法名(参数);
/*
注意事项:
1.方法和方法之间不能嵌套,不要把一个方法定义在另一个方法里面
2.方法定义之后需要调用,不调用定义了没意义
3.方法要先定义后调用,不要可以从上往下写代码
*/
// 主方法
public static void main(String[] args) {
System.out.println(4);
// 方法调用
method();
System.out.println(5);
}
// 定义方法
public static void method(){
System.out.println(1);
System.out.println(2);
System.out.println(3);
}
4.方法的参数【重点】
定义:
方法的参数就是方法中需要的未知数,从方法外传入方法内的数据。
格式:
修饰符 返回值类型 方法名(参数类型 参数名){
方法体;
}
注意事项:
1.方法的参数可以是任意的类型,可以是任意的个数,具体怎么写根据方法功能来决定
2.形参和实参
形参是形式参数,定义方法时的参数叫形参
形参格式:数据类型 变量名
实参是实际参数,在调用方式的参数叫实参
实参格式:值 和 变量
3.形参要什么类型
实参就给什么类型
形参要几个参数
实参就给几个参数
5.方法的返回值【重点】
返回值是方法运行后返回给调用位置的结果。
返回值的注意事项:
1.一个方法只能有一个返回值,可以是任意数据类型
2.如果方法的返回值是void,其实也能出现return,return后面不能写值,代表结束方法
3.如果方法的返回值类型不是void,就必须要写return并返回结果
6.方法的好处
1.方法可以多次调用,提高了代码的复用性。
2.优化代码格式,让格式变得清晰
7.方法的练习
1.无参数无返回值
public static void main(String[] args) {
//方法调用
getSum();
}
//定义方法
//求两个整数的和
public static void getSum(){
int a = 10;
int b = 20;
int c = a + b;
System.out.println(c);
}
2.有参数无返回值
public static void main(String[] args) {
// 方法调用
getSum(15,50);
}
// 定义方法
// 求两个整数的和
public static void getSum(int a ,int b) {
int c = a + b;
System.out.println(c);
}
3.有参数有返回值
public static void main(String[] args) {
// 方法调用:变量可以接收到方法返回值进行调用
int c = getSum(10,30);
// 方法调用:变量可以接收到方法返回值进行调用
int d = getSum(5,50);
if(c > d){
System.out.println("最大值为:" + c);
}else {
System.out.println("最大值为:" + d);
}
}
public static int getSum(int a,int b){
int c = a + b;
System.out.println(c);
return c;
}
8.方法的重载
在同一个类中,两个或者两个以上方法的名称一样,参数列表不一样,和返回值无关,这些方法称之为重载。
public static void main(String[] args) {
// 方法调用
System.out.println(getSum(10,20,30));
}
// 两个整数的和
public static int getSum(int a,int b){
int c = a + b;
return c;
}
// 三个整数的和
public static int getSum(int a ,int b,int c ){
int d = a + b + c;
return d;
}
// 两个小数的和
public static double getSum(double a,double b){
double c = a + b;
return c;
}
// 三个小数的和
public static double getSum(double a,double b,double c){
double d = a + b + c;
return d;
}
9.方法的练习
1.方法求数组最大值
public static void main(String[] args) {
//定义数组
int[] arr = {214,325,4,65,7,65,56};
//调用方法
int max = getMax(arr);
//输出
System.out.println(max);
}
//定义方法求数组的最大值
public static int getMax(int[] arr){
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if(arr[i]>max){
max = arr[i];
}
}
return max;
}
2.定义方法判断数组中是否存在某个数字
如果存在返回数字在数组中的索引
如果不存在返回-1
比如: {11,22,33,44,55} 寻找44 返回: 3
比如: {11,22,33,44,55} 寻找30 返回: -1
public static void main(String[] args) {
//定义数组
int[] arr = {11,22,33,44,55};
int num = 44;
//调用
int index = getIndex(arr,num);
//输出结果
System.out.println(index);
}
//定义方法
//寻找 数组中一个数字的索引
public static int getIndex(int[] arr,int num){
//数组的遍历
for (int i = 0; i < arr.length; i++) {// 0 1 2 3 4
//用数组的元素和num做比较
if(arr[i]==num){
//如果相同就返回对应的索引
return i;
}
}
//如果找到了相同的元素,就执行了上面的return,方法就不会执行到这里
//如果代码能够执行到这里,就代表没有找到相同的元素
//返回-1代表没找到
return -1;
}
总结
一定要遵守定义方法和调用方法的格式!!!我给你列举几个格式错误
定义方法:
public static void method(arr){
}
方法调用:
method(int a);
method(int[] arr);
在方法中没有定义过变量a
method(a);