javaSE基础04(数组,冒泡排序,选择排序)
- 数组
- 数组基本格式:dataType[ ] arrayRefVar = new dataType[arraySize];(动态初始化)
public static void main(String[] args) {cd int[] var = new int[10]; }
- 获取数组长度: arrays.length
- 数组的静态初始化:int[ ] a = {1,2,3.....}
-
int[] arr1= {1,3,5,7,8};//这种方式只有在声明并赋值时才可以使用
-
int[] arr2=new int[] {1,2,3,4,5};
- int[] arr3=new int[8];//长度 这个数值中可以存放8个数组
- 声明并初始化 不管什么类型的变量,都必须进行初始化;
- 变量的第一次赋值叫做变量的初始化
- 未初始化的变量,不能进行操作使用;只能赋值;
- 数组的基本特点
- 其长度是确定的,数组一旦被创建,它的大小就不允许被修改;
- 其元素必须是相同类型,不允许出现混合型;
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
- int[ ]是一个数组的标准格式,代表一个数组,和int代表整型一样;
- 对于在构造的方法中有int double int[ ]等不是void的类型,在main方法中调用时要初始化一个新值;
//例如 int[ ] 变量 = 构造的方法名称(代入的参数)
- 对于viod类型直接调用方法输入值也能输出结果;
- 数组不能被直接打印出来,会形成乱码,所以先要定义一个for循环遍历的方法,再调用该方法;
- 多维数组
- 多维数组表现形式int[ ][ ][ ]...array={{{..{1,.,.,},{2...}....}}};
- 打印多维数组要用到for循环,例如:
public static void main(String[] args) { int[][] array={{1,2},{3,4},{5,6}}; for (int i = 0; i < array.length; i++) { for (int j = 0; j < array[i].length; j++) { System.out.print(array[i][j]); } } }
- Arrays类
- 可以直接用Arrays类的方法,
int[] arr={1,2,3,4,5}; System.out.println(Arrays.toString(arr));
- 常用的Arrays类,Arrays.sort( ),把数组从小到大排序;
int[] arr={1,2,6,8,4,5}; Arrays.sort(arr); System.out.println(Arrays.toString(arr));//sort不能直接输出调用
- 冒泡排序(面试)
int[] arr1={1,2,6,8,4,5}; int temp = 0; //外层循环,决定要走多少次 for (int i = 0; i <arr1.length-1 ; i++) { //内层循环,比较两个数的大小i for (int j = 0; j < arr1.length-i-1; j++) {//比较次数减少 if(arr1[j+1]<arr1[j]){ temp = arr1[j]; arr1[j]=arr1[j+1]; arr1[j+1]=temp; } } } System.out.println(Arrays.toString(arr1));
- [0]表示有几行,有几列,有几个有效值;
- [1]表示该有效值的第几行(从0开始),该有效值的第几列(从0开始),该有效值;
- 选择排序
int temp; for (int i = 0; i < arr.length - 1; i++) { //交换排序的主体 int min = i;//把第i个数当作最小值 for (int j = i; j < arr.length; j++) { if (arr[min] > arr[j]) { min = j;//找出每一遍最小的一个值 } }if (min != i) {//如果min不等于i交换min和i的位置 temp=arr[i]; arr[i]=arr[min]; arr[min]=temp; }
浙公网安备 33010602011771号