方法中的使用以及数组定义
方法中可能首先会定义一些数组,这是就会区分静态数组还是动态数组
数组定义:
其中静态数组定义方式如下:
int[] arr = new int[]{1,2,3};
int[] arr = {1,2,3}; ----> 简化格式
其中动态数组定义方式如下:
int [] arr = new int[3];
左边:
int:说明数组中的元素类型是int类型
[]:说明这是一个数组
arr:这是数组的名称
右边:
new:为数组申请内存空间
int:说明数组中的元素类型为int类型
[]:说明这是一个数组
3:数组长度,其实就是数组中的元素个数
{1,2,3}代表静态数组中的元素
对于动态数组中可以这样定义各个元素:
arr[0] = 1;
arr[11] = 2;
方法中的定义方式
第一种方式-----无参数无返回值:
public class HelloWorld {
public void show() {
System.out.println("Hello World");
}
public static void main(String[] args){
HelloWorld test=new HelloWorld();
test.show();
}
}
第二种方式-----无参数有返回值:
public static void main(String[] args){
HelloWorld hello = new HelloWorld();
int sum = hello.calcSum();
System.out.println();
}
public int calcSum(){
int a = 5;
int b = 12;
int sum = a + b;
return sum;
}
第三种方式-----带参无返回值:
public static void main(String[] args) {
//定义一个数组,用静态初始化完成数组元素初始化
int[] arr = {11,22,33,44,55};
printArray(arr);
}
public static void printArray(int[] arr){
System.out.print("[");
for(int x=0; x< arr.length; x++){
if(x == arr.length-1){
System.out.print(arr[x]);
}else{
System.out.print(arr[x]+", ");
}
}
System.out.println("]");
}
主要格式就是:
public static void main(String[] args){
方法名(参数);
}
public static void 方法名(参数){
int[] arr;
}
第四种方式-----带参数返回值:
public static void main(String[]args){
//1:方法名(参数)
//isEvenNumber(10); 无输出结果,无意义
//2:数据类型 变量名 = 方法名(参数)
boolean flag = isEvenNumber(10);
System.out.println(flag);
}
//需求:定义一个方法,该方法接收一个参数,判断该数据是否为偶数,并返回真假值
public static boolean isEvenNumber(int number){
if(number%2 == 0){
return true;
}else{
return false;
}
}
主要格式就是:
public static void main(String[] args){
数据类型 变量名 = 方法名(参数);
}
public static 数据类型 方法名(参数){
return 数据;
}
第五种方式-----带返回值定义与调用:
public static void main(String[] args) {
//常量值的调用
isEvenNumber(10);
//变量的调用
int number = 10;
isEvenNumber(number);
}
//需求:定义一个方法,该方法接收一个参数,判断该数据是否为偶数
public static void isEvenNumber(int number){
if(number%2 == 0){
System.out.println(true);
}else{
System.out.println(false);
}
}
//形参: 方法定义中的参数 等同于变量定义格式,例如 42行中的 int number
//实参: 方法调用中的参数 等同于使用变量或常量,例如 35行中的 10; 39行中的 number
主要格式就是:
public static void main(String[] args){
方法名(参数);
方法名(变量名/常量值);
isEvenNumber(5);
方法名(变量名1/常量值1,变量名2/常量值2);
getMax(5,6);
注意:方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序将报错
}
public static void 方法名(参数){
......
}
public static void 方法名(数据类型 变量名){
(数据类型 变量名)------>(int number)
......
}
public static void 方法名(数据类型 变量名1,数据类型 变量名2){
(数据类型 变量名1,数据类型 变量名1)------>(int number1,int number2)
......
}
注意:
1.方法定义中,参数中的 数据类型 与 变量名 都不能缺少,缺少任意一个程序将报错
2.方法定义中,多个参数之间用逗号(,)分隔
第六种方式-----重载
方法重载:
1.多个方法在同一个类中
2.多个方法具有相同的方法名
3.多个方法的参数不相同,类型不同或者数量不同
4.与返回值无关
5.在调用的时候,Java虚拟机会通过参数的不同来区分同名的方法
public static void main(String[] args) {
//调用方法
int result = sum(10,20);
System.out.println(result);
double result2 = sum(10.0,20.0);
System.out.println(result2);
int result3 = sum(10,20,30);
System.out.println(result3);
}
//需求1:求两个int类型数据和的方法
public static int sum(int a,int b){
return a + b;
}
//需求2:求两个double类型数据和的方法
public static double sum(double a,double b){
return a + b;
}
//需求3:求三个int类型数据和的方法
public static int sum(int a,int b,int c){
return a + b + c;
}
主要格式就是:
public static void main(String[] args){
数据类型 名称 = 方法名(变量值)
--或者--
system.out.println(方法名(变量值1,变量值2));
}
public static 数据类型 方法名(){
system.out.println();
}