文章目录
前言
设计方法的技巧,主要关注三方面:
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的参数传递机制都是:值传递
基本类型的参数传递
引用类型的参数传递
基本类型和引用类型的参数在传递的时候有什么不同
都是值传递
基本类型的参数传递存储是数据值
引用类型的参数传输存储是地址值