java数组
1.数组的声明和创建
动态创建:int [] array1=new int[数组的长度]; int[0]=1;...
静态创建:int [] array1={1,2,3,4,5};
数组还能存放对象
数组求最值
int [] array1={1,2,3,4,5};
int max=array1[0];
for (int i = 1; i < arr.length; i++) {//注意i=1
if(array1[i]>max){
max=array1[i];
}
}
数组的反转
int [] arr1={1,2,3,4,5};
int [] arr2=new int[arr1.length];
for (int i = 0,j=arr2.length-1; i < arr1.length; i++,j--) {
arr2[j]=arr1[i];
}
Arrays工具类
Arrays.sort()从小到大排序方法
Arrays.fill()数组填充方法:包头不包尾
Arrays.fill(arr1,头,尾,填充的值);
二维数组
int [][] arr1={ {1,2},
{3,4},
{5,6} };
System.out.println(arr1.length);
//二维数组是:第一位是竖直,第二位是水平:竖直水平规则
System.out.println(arr1[0][0]);
System.out.println(arr1[0][1]);
System.out.println(arr1[1][0]);
System.out.println(arr1[2][0]);
}
Java内存分析
- 堆:new出来的对象和array
- 栈:基本数据类型的值,引用对象的变量地址值
- 方法区:static静态变量,所有的class
Scanner的使用
- new一个scanner对象
Scanner scanner = new Scanner(System.in);//System.in为输入int类型 - 输出提示信息给使用者
System.out.println("请输入第一个单词:"); - 用一个变量来接受scanner的值
String a=scanner.next();
//2,3步可以一直重复
System.out.println("请输入第二个单词:");
String b=scanner.next();
...
4. 关闭Scanner
scanner.close();
数组之冒泡排序
public static void main(String[] args) {
//定义一个数组
int[] arr1={1,3,2,4};
//定义一个临时变量temp
int temp=0;
//最外层比较次数,三个数比2次即可--两两比较,所有-1
for (int i = 0; i < arr1.length - 1; i++) {
//定义一个flag提高效率,如果数组是有序的
boolean flag=false;
//两个值进行比较,减去每次循环后排好的一个数,和三个数比较只要2次所以-i-1
for (int j = 0; j < arr1.length - 1 - i; j++) {
if (arr1[j]>arr1[j+1]){
temp=arr1[j+1];
arr1[j+1]=arr1[j];
arr1[j]=temp;
flag=true;//只要有交换,则说明数组无序
}
}
//如果数组元素之间没有进行交换的话,说明数组有序,比一次即可
if (flag=false){
break;
}
}
散列数组有点困惑

浙公网安备 33010602011771号