Java方法案例


前言

设计方法的技巧,主要关注三方面:
1、方法是否需要接受数据进行处理
2、方法是否需要返回数据
3、方法要处理的业务

一、案例1:计算1-n的和

需求:求1-n的和

代码

import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        System.out.println("请输入n的值:");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        System.out.println("1-n的和:" + sum(n));

    }

    public static int sum(int n){
        int sum = 0;
        for(int i = 1; i <= n; i++){
            sum +=i;
        }
        return sum;
    }
}

运行结果

请输入n的值:
100
1-n的和:5050

二、案例2:判断一个整数是奇数还是偶数

需求:判断一个整数是奇数还是偶数,并把判断的结果输出出来

代码

import java.util.Scanner;
import java.util.Random;

public class Demo {
    public static void main(String[] args) {
        System.out.println("请输入一个整数:");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        judge(n);
    }

    public static void judge(int n){
        //利用取余进行判断
        if(n % 2 == 0){
            System.out.println( n + "为偶数");
        }else if(n % 2 == 1){
            System.out.println( n + "为奇数");
        }

        //利用位运算&进行判断
        if((n & 1) == 1){
            // n为奇数
            System.out.println( n + "为奇数");
        }
        if((n & 1) == 0){
            // n为偶数
            System.out.println( n + "为偶数");
        }
    }
}

运行结果

请输入一个整数:
10
10为偶数
10为偶数
请输入一个整数:
7
7为奇数
7为奇数

三、案例3:打印int类型的数据内容

需求:输出一个int类型的数组内容,要求输出格式为:[11,22,33,44,55]

代码

import java.util.Scanner;
import java.util.Random;

public class Demo {
    public static void main(String[] args) {
        System.out.println("请输入一个整数为数组长度:");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] arr = new int[n];
        for(int i = 0; i < arr.length; i++){
            System.out.println("请输入第" + (int)(i+1) + "个整数:");
            arr[i] = sc.nextInt();
        }
        method(arr);
    }

    public static void method(int [] arr){
        if(arr == null){
            System.out.println(arr);
            return;
        }else {
            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.print("]");
        }
    }
}

运行结果

请输入一个整数为数组长度:
5
请输入第1个整数:
11
请输入第2个整数:
22
请输入第3个整数:
33
请输入第4个整数:
44
请输入第5个整数:
55
[11,22,33,44,55]

四、案例4:比较两个int类型的数组是否一样

需求:如果两个int类型的数组,元素个数对应位置内容都是一样的则认为这两个数组是一样的

代码

import java.util.Scanner;
import java.util.Random;

public class Demo {
    public static void main(String[] args) {
        int[] arr1 = {11,22,33,44,55};
        int[] arr2 = {11,22,33,44,55};
        System.out.println(equals(arr1 , arr2));
    }

    public static boolean equals(int [] arr1 , int [] arr2){
        if(arr1 == null && arr2 == null){
            System.out.println("arr1和arr2都为空");
            return true;
        }
        if (arr1 == null || arr2 == null){
            System.out.println("arr1或者arr2有一个是空");
            return false;
        }

        if(arr1.length != arr2.length){
            System.out.println("arr1和arr2长度不相等");
            return false;
        }

        for(int i = 0 ; i < arr1.length ; i++){
            if(arr1[i] != arr2[i]){
                return false;
            }
        }
        System.out.println("arr1和arr2一样");
        return true;
    }
}

运行结果

arr1和arr2一样
true

总结

1、方法的运行区域在哪里?
栈内存
2、栈有什么特点?方法为什么要在栈中运行自己?
先进后出
保证一个方法调用完另一个方法后,可以回来

方法在计算机中的执行原理

Java的参数传递机制都是:值传递

基本类型的参数传递

引用类型的参数传递

基本类型和引用类型的参数在传递的时候有什么不同

都是值传递
基本类型的参数传递存储是数据值
引用类型的参数传输存储是地址值


  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值