导语
作为一名非科班出身的无基础java初学者。我会在这里记录我的学习过程及心得分享,希望会对你们想要入行的小伙伴有所帮助,多一个参考的点。
其次希望我的分享能对同样是初学者的你能有所帮助。
同时我也想以此激励自己学习,如果有志同道合的小伙伴就最好啦。大家一起进步!
最后,若您有自己的想法或者觉得我的讲述有问题,需要补充或改正的,欢迎在下方留言互相讨论!!
该阶段学习我认为难点在二维数组和排序。
二维数组
个人认为,二位数组可以看成一个数组里嵌套了多个数组,定义一个二维数组加深理解。
例:用二维数组表示下方的元素
0 1 0
0 0 1
1 1 0
int[][] arr ={{0,1,0},{0,0,1}{1,1,0}};
若要将二维数字遍历一遍
for (int i = 0; i <arr.length ; i++) {
for (int j = 0; j <arr[i].length ; j++) {
System.out.print(arr[j])
{
System.out.println()
}
我们在通过一个经典的题目来理解二维数组
题目:打印杨辉三角形(行数可以键盘录入)(建议先将规律找出来!)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
import java.util.Scanner;
public class YangHuiSanJiao {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入行数");
int a = sc.nextInt();
int[][] arr = new int[a][];
for (int i = 0; i < arr.length; i++) {
arr[i] = new int[i + 1];
for (int x = 0; x < arr[i].length; x++) {
if (x == 0 || x == arr[i].length - 1) {
arr[i][x] = 1;
} else {
arr[i][x] = arr[i - 1][x] + arr[i - 1][x - 1];
}
}
}
for (int i = 0; i < arr.length; i++) {
for (int x = 0; x < arr[i].length; x++) {
System.out.print(arr[i][x] + " ");
}
System.out.println();
}
}
}
排序
将数组中的元素从小到大排序三种方法:冒泡排序,选择排序,插入排序;
冒泡排序
选择排序
插入排序
public static void main(String[] args) {
int[] arr=new int[]{23,45,12,8,3,2,55,34,87,21};
//冒泡
/*for(int i =arr.length-1;i>0;i--){
for (int j=0;j<i;j++){
if(arr[j]>arr[j+1]){
int temp = arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
for (int i = 0; i <arr.length ; i++) {
System.out.print(arr[i]+" ");
}*/
//选择
/*for (int i=0;i<arr.length-1;i++){
int minIndex=i;
for(int j=i;j<arr.length-1;j++){
if (arr[minIndex]>arr[j+1]){
minIndex=j+1;
}
}
int temp = arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=temp;
}
for (int i = 0; i <arr.length ; i++) {
System.out.print(arr[i]+" ");
}*/
//插入
int[] ar=new int[]{23,45,12,8,3,2,55,34,87,21};
for(int i=1;i<arr.length;i++){
for(int j=i;j>0;j--){
if(arr[j-1]>arr[j]){
int temp = arr[j-1];
arr[j-1]=arr[j];
arr[j]=temp;
}
}
}
for (int i = 0; i <arr.length ; i++) {
System.out.print(arr[i]+" ");
}
}