一、权限修饰符
权限修饰符:使用在类、方法上,主要作用是显示类和方法的使用范围。
二、数组
1.概述
数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致
2.格式
①数据类型[] 数组名称 = new 数据类型[数组长度];
②数据类型[] 数据名称 = {数组内容1,数组内容2,···,数组内容3};
③数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,元素3...};
代码示例
//格式一
int[] arr = new int[3];
//格式二
int[] arr = {1,2,3,4,5};
//格式三
int[] arr = new int[]{1,2,3,4,5};
3.数组的访问
-
索引:每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。
-
格式
数组名[index]=数值,为数组中的元素赋值 变量=数组名[index],获取出数组中的元素
-
代码示例
public static void main(String[] args) {
//定义存储int类型数组,赋值元素1,2,3,4,5
int[] arr = {1,2,3,4,5};
//为0索引元素赋值为6
arr[0] = 6;
//获取数组0索引上的元素
int i = arr[0];
System.out.println(i);
//直接输出数组0索引元素
System.out.println(arr[0]);
}
4.数组作为方法参数
数组作为方法参数传递,传递的参数是数组内存的地址。
public static void main(String[] args) {
int[] arr = { 1, 3, 5, 7, 9 };
//调用方法,传递数组
printArray(arr);
}
/*
创建方法,方法接收数组类型的参数
进行数组的遍历
*/
public static void printArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
5.数组作为方法返回值
数组作为方法的返回值,返回的是数组的内存地址
public static void main(String[] args) {
//调用方法,接收数组的返回值
//接收到的是数组的内存地址
int[] arr = getArray();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
/*
创建方法,返回值是数组类型
return返回数组的地址
*/
public static int[] getArray() {
int[] arr = { 1, 3, 5, 7, 9 };
//返回数组的地址,返回到调用者
return arr;
}
6.数组常见问题
①数组下标越界问题
②空指针(默认是null)
7.常用算法:最大最小值
①创建一个变量,用于存储遍历数组时发现的最大值
②循环取出数组的每一个内容,从1开始,判断哪个值大或小
⑴冒泡排序
原理:- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
⑵二分查找 (折半查找)
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,二分查找要求数组数据必须采用顺序存储结构有序排列,如果不是,那么可以先排序。
原理:首先,假设数组中元素是按升序排列,将数组中间位置的数据与查找数据比较,如果两者相等,则查找成功;否则利用 中间位置记录将数组分成前、后两个子数组,如果中间位置数据大于查找数据,则进一步查找前子数组,否则进一步查 找后子数组。 重复以上过程,直到找到满足条件的数据,则表示查找成功, 直到子数组不存在为止,表示查找不成功。
最大下标<最小下标,数据不存在
代码
三、方法
1.概述
方法用于封装一段特定的逻辑功能。方法的主要要素有:权限修饰符 方法名、参数列表和返回值
2.格式
修饰符 返回值类型 方法名(参数列表){
//代码省略...
return 结果;
}
3.注意
修饰符: public static 固定写法
返回值类型: 表示方法运行的结果的数据类型,方法执行后将结果返回到调用者
参数列表:方法在运算过程中的未知数据,调用者调用方法时传递
return:将方法执行后的结果带给调用者,方法执行到 return ,整体方法运行结束
方法的参数为基本类型时,传递的是数据值. 方法的参数为引用类型时,传递的是地址值.
代码示例
public class Demo {
public static void main(String[] args) {
// 调用方法getSum,传递两个整数,这里传递的实际数据又称为实际参数
// 并接收方法计算后的结果,返回值
int sum = getSum(5, 6);
System.out.println(sum);
}
/*
定义计算两个整数和的方法
返回值类型,计算结果是int
参数:不确定数据求和,定义int参数.参数又称为形式参数
*/
public static int getSum(int a, int b) {
return a + b;
}
}