关于Java基础的复习总结(三)数组基础知识

苟利代码生死已,岂因Bug避趋之

1、数组:
用来存放相同类型的一组数据

2、初始化数组:

   int nums[] ={3,4,5,6}
   int[] nums = new int[]{3,4,5,6}
   int[]nums=new int[5];
   nums[0]=3;
   nums[1]=4;
   nums[2]=5;
   nums[3]=6;
   nums[4]=7; //数组下标越界

获取数组长度:nums.length
数组默认值:

byte short int long:0
float double:0.0
String:null
boolean:fasle
char:'\u0000'

3、求最大值:
守擂法:定义第一个数守擂
冒泡排序法口诀:
N个数字来排队
两两相比小靠前
i 外层循环N-1
j 内层循环N-1-i
{16 25 9 90 23}
第一轮 16 9 25 23 90 4=5-1-0
第二轮 9 16 23 25 3=5-1-1
第三轮 9 16 23 2=5-1-2
第四轮 9 16 1=5-1-3

4、二维数组:

  int nums[][]={{1,2},{1,2,3},{1,2}};
  nums[0][1]=2
  nums[1][1]=2
   int[][] nums=new int[3][5];
   nums[0][0]=1;
   nums[0][1]=2;
   nums[1][0]=5;
   nums[1][1]=6;
   for(int i=0;i<nums.length;i++){
      for(int j=0;j<nums[i].length;j++){
         sout(nums[i][j])
      }
   }

5、数组遍历:

for(int i=0;i<nums.length;i++){}
增强for循环:for(int temp:nums){}

6、数组增删改查

String name[]={“张三”,“李四”,“王五”};
String name[]=new String[100];
name[0]=“张三”;
name[1]=“李四”;
name[2]=“王五”;
0 1 2 3
“张三”, “李四”, “王五” “小红”
//1、找到李四的下标
//2、从下标加1往前覆盖
//3、把当前有值的最后一位置空
插入算法
70 80 90 100 110 []
插入值85
//1、找到插入位置下标
//2、从最后一位覆盖到下标位置
//3、85覆盖90

arrays
boolean equals(array1,array2)
sort(array)//升序排序
String toString(array)
fill(array,val)
copyOf(array,length)
//插某元素下标,要求数组中的元素已升序排序
int binarySearch(array,val)

猜你喜欢

转载自blog.csdn.net/Pirate517/article/details/83588728