目录
一、定义 编辑
二、方法的其他形式
2.1 无参数,无返回值
2.2 有参数,无返回值
三、方法使用时的常见问题
四、方法的案例
4.1 求和案例
4.2 判断一个整数是奇数还是偶数
五、方法在计算机中执行原理
六、java的参数传递机制
6.1 基本类型的参数传递
6.2 引用类型的参数传递
6.3 引用类型的参数传递案例(数组)
6.3.1 案例1:
6.3.2 案例2:
七、方法重载
7.1 定义
7.2 方法重载案例
八、补充知识:方法中单独使用return关键字
package com.runa.define2;
public class MethodDemo1 {
public static void main(String[] args) {
int rs = sum(3,4);
System.out.println("计算出的和是:" + rs);
}
public static int sum(int a,int b){
int c = a + b;
return c;
}
}
package com.runa.define2;
public class MethodDemo2 {
public static void main(String[] args) {
printHelloWorld();
}
/**
无参数,无返回值
*/
public static void printHelloWorld() {
for (int i = 0; i < 3; i++) {
System.out.println("Hello World!");
}
}
}
package com.runa.define2;
public class MethodDemo2 {
public static void main(String[] args) {
printHelloWorld(5);
}
/**
有参数,无返回值
*/
public static void printHelloWorld(int n) {
for (int i = 0; i < n; i++) {
System.out.println("Hello World!");
}
}
}
package com.runa.define2;
public class MethodDemo3 {
public static void main(String[] args) {
System.out.println("1 - 100 的和是" + add(100));
}
public static int add(int n){
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
return sum;
}
}
package com.runa.define2;
public class MethodDemo4 {
public static void main(String[] args) {
judge(30);
}
public static void judge(int n){
if(n % 2 == 0){
System.out.println(n + "是一个偶数");
}
else{
System.out.println(n +"是一个奇数");
}
}
}
package com.runa.define2;
public class MethodDemo5 {
public static void main(String[] args) {
int[] arr = {10, 20, 30, 40};
printArray(arr);
int[] arr2 = null;
printArray(arr2);
}
public static void printArray(int[] arr){
if(arr == null){
System.out.println(arr);
return;
}
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.print(i == arr.length - 1 ? arr[i] : arr[i] + ", " );
}
System.out.println("]");
}
}
package com.runa.define2;
public class MethodDemo6 {
public static void main(String[] args) {
int[] arr1 = {12, 13, 14};
int[] arr2 = {12, 13, 14};
System.out.println(equals(arr1, arr2));
}
public static boolean equals(int[] arr1, int[] arr2){
// 1 判断arr1 与arr2 是否都是null,那么相等
if(arr1 == null && arr2 == null){
return true;
}
// 2判断arr1 是null 或者arr2 是null,那么不相等
if(arr1 == null || arr2 == null){
return false;
}
//3 判断arr1与arr2长度是否相同,返回不相等
if(arr1.length != arr2.length){
return false;
}
// 循环比较两个数组相同位置数值是否相同,返回不相等
for (int i = 0; i < arr1.length; i++) {
if(arr1[i] != arr2[i]){
return false;
}
}
// 不满足上面的所有判断,那么相等
return true;
}
}
package com.runa.define2;
public class MethodDemo7 {
public static void main(String[] args) {
test();
test(100);
}
public static void test(){
System.out.println("test1");
}
public static void test(int n){
System.out.println("test2");
}
void test(double n){
System.out.println("test3");
}
int test(int a, int b){
return a + b;
}
void test(int b,double a){
System.out.println("test3");
}
void test(double a,int b){
System.out.println("test3");
}
}
package com.runa.define2;
public class MethodDemo8 {
public static void main(String[] args) {
fire();
fire("本日");
fire("本日",999);
}
public static void fire(){
System.out.println("发射武器");
}
public static void fire(String country){
System.out.println("发射武器给" + country);
}
public static void fire(String country, int number){
System.out.println("发射了" + number + "核武器给" + country);
}
}