Day07方法加强和API使用

本文详细介绍了Java中的方法参数传递,包括值传递和引用地址传递的概念与内存分析,强调了基本数据类型和引用数据类型的差异。接着讲解了可变参数的用途,它简化了处理参数个数不定的方法调用,降低了代码复杂性。最后,讨论了Arrays工具类的使用,这是一个用于操作数组的实用工具,通过API文档可以学习其各种方法,提高开发效率。
摘要由CSDN通过智能技术生成

  1. 方法加强练习【掌握】

/**

 * 方法练习题

 */

public class _01Homework {

public static void main(String[] args) {

// 1.定义一个方法getMax,接收两个int参数,返回最大的一个数(低级)建议使用三目运算

/*

 * 2 方法的调用:(最重要)

看要调用方法是否有static修饰:

1 有static修饰,用:当前类名.方法名(实参(变量/值));

2 没有static修饰,用:当前类的对象名.方法名(实参(变量/值)); //这几天都不用

特殊情况:

如果调用方(目前就是指main方法)和被调用方都在同一个类中,且都有或者都没有static修饰,可以简写为:

方法名(实参(变量/值));

 */

int max = getMax(1, 2);

System.out.println(max);

System.out.println(getMax(2, 3));// 可以直接打印一个方法,但是该方法返回值类型必须不是void。

// 2.定义一个方法,接收三个int参数,返回最小的一个数(低级)

// 3.设计一个求3个int类型积的方法,并返回这个积(低级)

// 4.设计一个方法,传入一个int的数组,返回该数组中最大的值(中级)

int[] arr = {1, 9, 96, 9, 6, 66};

// 调用getMaxInArray方法

int maxInArray = getMaxInArray(arr);

System.out.println("数组中最大值:" + maxInArray);

// 5.设计一个方法,传入一个参数姓名name、一个参数爱好hobby,打印输出一句话:name的爱好是:hobby

// ===============================选做==========================

/*

 * 6.设计一个方法,查询并返回一个字符在字符数组中第一次出现的位置(高级)

char[] arr2 = {'a', 'b', 'c', 'a', 'g'};

char c = 'a';

    四要素:

返回值类型:int 

方法名:getIndexInArray()

形参列表:char c, char[] arr

方法体:

遍历整个数组,将c 和 arr[i] 如果相等,返回下标i

如果遍历完,没有找到,返回 -1  下标范围:0,n

 */

char[] arr2 = { 'a', 'b', 'c', 'a', 'g'};

char c = 'g';

int indexInArray = getIndexInArray(arr2, c);

System.out.println("下标:" + indexInArray);

// 7.设计一个方法,统计返回一个字符在字符数组中出现的次数(高级)

// 8.设计一个方法,已知这样的整形数组  int[] arr = {1,2,3,4,5,6,7,8,9,11,12}返回其中的奇数和

int[] arr3 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12};

// 调用方法: getOddSum

int oddSum = getOddSum(arr3);

System.out.println("奇数和:" + oddSum);

/*

 *  9.现在有数组 double[] scores = {11,34,76,77,88,99,58,97,56};定义一个方法统计并打印出每一个阶段学生人

 *  数(分段方式:0-60;60-80;80-100)(高级)

 */

double[] scores = {11, 34, 76, 77, 88, 99, 58, 97, 56};

printScores(scores); // 返回值是void,直接调用执行即可

// 10.设计一个方法,传入一个int数组,翻转该数组中的元素,并且返回反转后的数组(牛皮做)

// 调用方法:reverse

int[] reverse = reverse(arr3);

for (int e : reverse) {

System.out.println(e);

}

// 打印数组是,没有意义。所以,有了该需求

// 11.需求:请设计一个方法toString,传入一个int[],将该数组进行字符串拼接,格式如下:[元素1, 元素2, 元素3....],返回拼接后的字符串

System.out.println(reverse);

// 调用:toString方法

String str = toString(reverse);

System.out.println(str);

}

/**

 * 1.定义一个方法getMax,接收两个int参数,返回最大的一个数(低级)建议使用三目运算

 *  方法的声明(定义):(最重要)

1. 在当前类中,main方法下方,写public + alt + / 选择第三个

2. 根据需求分析方法的四要素:

1. 返回值类型:int

2. 方法名:getMax

3. 形参列表:int a, int b

4. 方法体:三目运算,找最大值,并且返回

3. 根据实际需求,修改方法的四要素

 * @return

 */

public static int getMax(int a, int b) {

// 如果用if else语句

// if (a > b) {

// return a;

// } else {

// return b;

// }

return a > b ? a : b;// 是优先级最低的运算,会在执行完三目运算后执行return返回结果

}

/**

 *  4.设计一个方法,传入一个int的数组,返回该数组中最大的值(中级)]

 *  方法的声明(定义):(最重要)

1. 在当前类中,main方法下方,写public + alt + / 选择第三个

2. 根据需求分析方法的四要素:

1. 返回值类型:int

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值