自学Java第六天笔记-方法

思维导图:

1.方法

例子:

public class Ways{
	public static void main(String[] args){
		int c1 = sum(5,6);
		System.out.println("两数和为:" + c1);  //调用方法
	}
    //定义一个求和的方法
	public static int sum(int a,int b){
		int c = a + b;
		return c;
	}

}

2.方法常见问题:

3.方法的调用流程

4.方法的参数传递机制(基本类型和引用类型)

基本类型:无论对形参做哪些改变,实参不会变化,借给他用一下,原样返回。 (输出结果10,20,10)

 

 引用类型:形参发生变化,实参也会变化。把东西给他,让他帮忙改造。

5.方法重载

 

 

 6.return关键字

 

练习小程序:

1.求类项和并输出

public class Ways{
	public static void main(String[] args){
		System.out.println("和为:" + sum(50));
	}
	public static int sum(int n){
		    int sum1 = 0;
		for (int i = 1;i <= n; i++ ) {
			sum1 += i;
		}
		return sum1;
	}
}

运行结果: (不要在for循环的执行体里面定义变量)

2.判断奇偶

import java.util.Scanner;

public class Ways{
	public static void main(String[] args){
		//输入待判断的数
		System.out.print("请输入要判断的数:" );
		Scanner myscanner = new Scanner(System.in);
		int numjudge = myscanner.nextInt();
		judge(numjudge);//调用judge()
	}

	//判断奇偶
	public static void judge(int m){
		if(m % 2 == 0)
			System.out.println("该数为偶数!");
		else
			System.out.println("该数为奇数!");
	}

}

运行结果:

 3.用方法调用输入输出数组并求最大值

import java.util.Scanner;

public class Ways2{
	public static void main(String[] args){

		Scanner myscanner = new Scanner(System.in);
		System.out.println("您要输入几个元素?");
		int n = myscanner.nextInt();//输入元素个数
		int[] array=new int[n];
		arrIn(n,array);//输入
		arrOut(n,array);//输出
		System.out.print("\n");
   		System.out.print("最大值为:"+ arrMax(n,array));//输出最大值
	}
//输入方法
	public static void arrIn(int n,int[] arr){
		Scanner myscanner = new Scanner(System.in);
		for (int i = 0;i < n ;i ++ ) {
			System.out.print("请输入第"+ (i+1)+"个值:");
			arr[i] = myscanner.nextInt();
		}
	}
//输出方法
	public static void arrOut(int n,int[] arr){
		System.out.print("您输入的数组元素为:");
		for (int i = 0;i < n ;i ++ ) {
			System.out.print(arr[i]+"\t");
		}
	}
//比较最大值
	public static int arrMax(int n,int[] arr){
		int max = arr[0];
		for (int i = 0;i < n ;i ++ ) {
			if (arr[i]>max) 
				max = arr[i];
		}
		return max;//返回最大值
	}

}

运行结果:

 4.数组中查找元素

import java.util.Scanner;

public class Ways3{
	public static void main(String[] args){
		Scanner myscanner = new Scanner(System.in);
		int[] array={11,22,33,44,55};         //定义数组
		System.out.print("请输入你要找的元素:");
		int x = myscanner.nextInt();            //输入x
		arrCheck(x,array);

	}

	public static void arrCheck(int x,int[] arr){
		int sum = 0;
		OUT:
		{
		   for (int i = 0;i < arr.length ;i ++ ) {
			  if (x == arr[i]) {
				System.out.print("在数组中查找到元素,索引为:"+ i);
				break OUT;	
			  }
		   }
            System.out.print("没有您要查找的元素!");
	    }

	}

}

 运行结果:

在写这个程序的时候浅试了一下OUT{}然后在找到的时候break OUT一下。没想到居然成功了哈哈。

5.判断两个数组相等

public class WaysCompare{
	public static void main(String[] args){
	int[] a1={10,20,30};
	int[] a2={10,20,30};
	System.out.print(compare(a1,a2));
	}

public static boolean compare(int arr1[],int arr2[]){
	int n = 0;
	if(arr1.length == arr2.length){
		for (int i=0 ;i<arr1.length ;i++ ) {
			if(arr1[i] != arr2[i]){
				n=n;
			}else 
				n += 1;
		}
	}else
	System.out.print("两个数组不相等!");

	if(n==3)
		return true;
	else 
		return false;
}

运行结果:true

这一题我用的方法不太好,下面是老师的代码:

public class WaysCompare{
	public static void main(String[] args){
	int[] a1={10,20,30};
	int[] a2={10,20,30};
	System.out.print(compare(a1,a2));
	}

public static boolean compare(int arr1[],int arr2[]){
	int n = 0;
	if(arr1.length == arr2.length){
		for (int i=0 ;i<arr1.length ;i++ ) {
			if(arr1[i] != arr2[i])
				return false;
		}
        return true;
	}else
	     return false;
}

逻辑是:如果不相等就return false,如果for循环结束了还没有return false就return true。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值