1.什么是方法?
2.方法的重载
补:可变参数(其实就是数组)
// 可变参数示例 (其实就相当于数组)
public class variableParameters {
public static void main(String[] args) {
printMax(34,2,5,89,78.9,45,36,1);
System.out.println("================================");
printMax(new double[]{1,45,56.1,3,4,75});
}
public static void printMax(double... numbers){
if(numbers.length==0){
System.out.println("No argument passed");
return;
}
double result=numbers[0];
//Sort
for (int i = 1; i < numbers.length; i++) {
if (numbers[i]>result){
result=numbers[i];
}
}
System.out.println("the max value is "+result);
}
}
3.递归(小批量数据用递归,大数据不用)
(1)n!
import java.util.Scanner;
public class recursive_Factorial {
public static void main(String[] args) {
System.out.println("请输入n:");
Scanner sc = new Scanner(System.in);
int x=sc.nextInt();
int result=f(x);
System.out.println("The result of n! is "+result);
}
public static int f(int n){
if(n==1){
return 1;
}else {
return n*f(n-1);
}
}
}
4.数组
(1)数组的定义
(2)数组的声明和创建
(3)数组的初始化
(4)数组的基本特点
(5)多维数组(在数组里边再嵌套数组)
(6)Arrays类
(7)稀疏数组
// 将原始数组打印成稀疏数组
public class sparseArrays {
public static void main(String[] args) {
// 1.创建一个二维数组 11*11 0:没有棋子, 1:黑棋, 2:白棋
int[][] array1=new int[11][11];
array1[1][2]=1;
array1[2][3]=2;
//输出原始的数组
System.out.println("输出原始的数组: ");
for(int[] ints :array1){
for (int anInt : ints){
System.out.print(anInt+"\t");
}
System.out.println();
}
System.out.println("======================================");
//转换为稀疏数组来保存
//1.获取有效值的个数
int sum=0;
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 11; j++) {
if (array1[i][j]!=0){
sum++;
}
}
}
System.out.println("有效值的个数:"+sum);
//2.创建一个稀疏数组的数组
int[][] array2=new int[sum+1][3];
array2[0][0]=11;
array2[0][1]=11;
array2[0][2]=sum;
//遍历二维数组,将非零的值,存放在稀疏数组中
int count=0;
for (int i = 0; i <array1.length ; i++) {
for (int j = 0; j < array1[i].length; j++) {
if (array1[i][j]!=0){
count++;
array2[count][0]=i;
array2[count][1]=j;
array2[count][2]=array1[i][j];
}
}
}
//输出稀疏数组
System.out.println("稀疏数组:");
for (int i = 0; i < array2.length; i++) {
System.out.println(array2[i][0]+"\t"+array2[i][1]+"\t"
+array2[i][2]+"\t");
}
}
}