Java基础学习笔记-----2
递归
引入:阶乘
public class Demo_01 {
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f(int n){
if(n==1)
return 1;
return n*f(n-1);
}
}
//递归思想
数组
定义:相同数据类型的有序结合
声明: 定义: int[] nums; nums=new int[10] 存放10个int类型的数字
冒泡排序
public static void main(String[] args) {
}
/**
* 冒泡排序
*/
public static void bubbleSort( int[] a) {
int temp = 0;
boolean flag = false; //
for (int j = 0; j < a.length - 1; j++) {
for (int i = 0; i < a.length - 1 - j; i++) {
if (a[i + 1] < a[i]) {
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
flag = true;
}
}
if (flag = false)
break;
}
System.out.println(Arrays.toString(a));
}
稀疏数组
棋盘的普通二维数组
public class Demo_03 {
public static void main(String[] args) {
//创建一个二维数组 11*11 0:没有棋子 1:白旗 2:黑
int [][] array=new int[11][11];
array[1][2]=2;
array[1][3]=1;
System.out.println("输出原始数组");
for (int[] ints : array) {
for (int anInt : ints) {
System.out.print(anInt+"\t");
}
System.out.println();
}
//获取稀疏数组元素个数
int nums=0;
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 11; j++) {
if(array[i][j]!=0)
nums++;
}
}
System.out.println("元素个数"+nums );
//创建稀疏数组
int [][] array1=new int[nums+1][3];
array1[0][0]=11;
array1[0][1]=11;
array1[0][2]=nums;
//遍历二维数组,将非零的值放入稀疏数组
int count=0;
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
if(array[i][j]!=0){
count++;
array1[count][0]=i;
array1[count][1]=j;
array1[count][2]=array[i][j];
}
}
}
//输出稀疏数组
System.out.println("稀疏数组"+"\t");
for (int i = 0; i < array1.length; i++) {
System.out.println(array1[i][0]+"\t"
+array1[i][1]+"\t"
+array1[i][2]+"\t");
}
}
}