1:函数(掌握)
(1)函数:是完成特定功能的代码块。
(2)函数的格式:
省略...
(3)函数的特点:
A:函数只有被调用才执行。
B:函数间是平级的关系,不能嵌套定义。
(4)如何写一个函数:两个明确
A:返回值类型
B:参数列表
(5)函数调用
A:非void类型的函数
a:单独调用,没有意义。
b:输出调用,不够好。(上课方便就这样用了)
c:赋值调用,推荐方案。
B:void类型的函数
单独调用。
(6)案例:
A:获取两个数中的最大值。
B:判断两个数是否相等。
C:求和案例。
D:nn乘法表。
(7)函数重载
函数名相同,参数列表不同。(个数和类型)
与返回值类型无关。
2:数组(一维数组 掌握)
(1)数组:存储同一种类型的多个元素的容器。
(2)特点:
每一个元素都有编号,(索引)。方便我们获取数组中的元素的。
从0开始编号。数组的最大索引是长度-1。
(3)定义格式:
A:int[] arr = new int[3];
B:int arr[] = new int[3];
C:int[] arr = new int[]{1,2,3};
D:int[] arr = {1,2,3};
(4)常见操作:
数组的长度:数组名.length
A:遍历数组
public static void printArray(int[] arr) {
for(int x=0; x<arr.length; x++) {
System.out.println(arr[x]);
}
}
10
20
30
//改进版
public static void printArray(int[] arr) {
for(int x=0; x<arr.length; x++) {
if(x==arr.length-1) {
System.out.println(arr[x]);
}else {
System.out.print(arr[x]+", ");
}
}
}
10, 20, 30
B:获取最值
最大值
public static int getMax(int[] arr) {
int max = arr[0];
for(int x=1; x<arr.length; x++) {
if(arr[x] > max) {
max = arr[x];
}
}
return max;
}
最小值
public static int getMin(int[] arr) {
int min = arr[0];
for(int x=1; x<arr.length; x++) {
if(arr[x] < min) {
min = arr[x];
}
}
return min;
}
C:倒序
//方式1
public static void change(int[] arr) {
for(int start=0,end=arr.length-1; start<=end; start++,end--) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
}
//方式2
public static void change(int[] arr) {
for(int x=0; x<arr.length/2; x++) {
int temp = arr[x];
arr[x] = arr[arr.length-1-x];
arr[arr.length-1-x] = temp;
}
}
D:查表法
根据给定的数据,输出对应的星期。
String[] strArray = {"星期一","星期二",...};
Scanner sc = new Scanner(System.in);
int week = sc.nextInt();
System.out.println(strArray[week-1]);
E:普通查找
//方式1
public static int getIndex(int[] arr,int value) {
for(int x=0; x<arr.length; x++) {
if(arr[x] == value) {
return x;
}
}
return -1;
}
//方式2
public static int getIndex(int[] arr,int value) {
int index = - 1;
for(int x=0; x<arr.length; x++) {
if(arr[x] == value) {
index = x;
break;
}
}
return index;
}
3:数组(二维数组 理解)
(1)就是每一个元素是一维数组的一维数组。
(2)格式:
A:int[][] arr = new int[3][2];
int[] arr[] = new int[3][2];
int arr[][] = new int[3][2];
举例:
int[] x,y[];
x是一维数组
y是二维数组
建议写法:
int[] x;
int[] y[];
B:int[][] arr = new int[3][];
C:int[][] arr = new int[][]{{元素...},{元素...},{元素...}};
D:int[][] arr = {{元素...},{元素...},{元素...}};
(3)遍历:
把二维数组当成一维数组就可以了。
public static void printArray(int[][] arr) {
for(int x=0; x<arr.length; x++) {
for(int y=0; y<arr[x].length; y++) {
if(y==arr[x].length-1) {
System.out.println(arr[x][y]);
}else {
System.out.print(arr[x][y]+", ");
}
}
}
}
(4)求和:
自己做。
|
|