方法定义
- 方法(method)是程序中最小的执行单元
方法格式
格式:
public static void 方法名(){
方法体(就是打包起来的代码);
}
public static void main(String[] args) {
playGame();
playGame();
}
public static void playGame(){
System.out.println("人物");
System.out.println("开局");
System.out.println("结束");
}
带参数的方法定义和调用
public static void main(String[] args) {
GF(20,10);
}
public static void GF(int num1,int num2){
int sum = num1 +num2 ;
System.out.println(sum);
}
public static 返回值类型 方法名(参数){
方法体;
return 返回值;
}
比较长方形面积大小
public static void main(String[] args) {
double area1 = getArea(5.3 , 1.7);
double area2 = getArea(2.4 , 4);
if(area1 > area2){
System.out.println("1");
}else {
System.out.println("2");
}
}
public static double getArea(double len,double width){
double area = len * width ;
return area ;
}
方法的重载
1.在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能
2.每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系
重载:同一个类中,方法名相同,参数不同的方法。与返回值无关
public static int sum (int a , int b){
return a + b ;
}
public static int sum (int a , int b , int c){
return a + b + c ;
}
public static void main(String[] args) {
// 使用方法重载的思想,设计比较两个整数是否相同的方法
// 要求:兼容全整数类型(byte ,short ,int ,long)
byte b1 = 10 ;
byte b2 = 20 ;
compare(b1 , b2);
}
public static void compare(byte b1 , byte b2){
System.out.println("byte");
System.out.println(b1 == b2);
}
public static void compare(short a1 , short a2){
System.out.println("short");
System.out.println(a1 == a2);
}
public static void compare(int c1 , int c2){
System.out.println("int");
System.out.println(c1 == c2);
}
public static void compare(long d1 , long d2){
System.out.println("long");
System.out.println(d1 == d2);
}
重载调用
练习
1.数组遍历
public static void main(String[] args) {
int[] arr = {11,22,33,44,55};
bian(arr);
}
//数组遍历
public static void bian(int[] arr){
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if ( i == arr.length - 1){
System.out.print(arr[i]);
}else {
System.out.print(arr[i] + ", ");
}
}
System.out.println("]");
}
输出结果:[11, 22, 33, 44, 55]
2.设计一个方法求数组的最大值,并将最大值返回
public static void main(String[] args) {
int[] arr = {1,3,5,7,9,8,10};
int max = max(arr);
System.out.println(max);
}
public static int max(int[] arr){
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if(arr[i] > max){
max = arr[i];
}
}
return max;
}
输出结果:10
3.定义一个方法判断数组中的某一个数是否存在,将结果返回给调用出
public static void main(String[] args) {
int[] arr = {1, 3, 5, 7, 8, 10, 12};
boolean live = live(arr, 14);
System.out.println(live);
}
public static boolean live(int[] arr, int number) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == number) {
return true;
}
}
return false;
}
输出结果:false
4.定义一个方法copyOfRange(int[] arr , int from , int to)将数组arr中从索引from(包含from)开始,到索引to结束(不包含to)的元素复制到新数组中,将新数组返回
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7};
//调用
int[] copy= copyOfRange(arr, 3, 7);
//遍历
for (int i = 0; i < copy.length; i++) {
System.out.print(copy[i] + " ");
}
}
public static int[] copyOfRange(int[] arr, int from, int to) {
//定义数组长度
int[] newarr = new int[to - from];
int index = 0;
for (int i = from; i < to; i++) {
newarr[index] = arr[i];
index++;
}
return newarr;
}
输出结果:4 5 6 7
Tips
以上学习内容均来自于B站黑马程序员