数组

数组的名称就是标识符;

把自己存储的数据叫元素;

元素下标:对数组进行编号 从零开始数组中每一个元素都可以通过下标来访问;

创建时数组的长度固定不变 避免越界;

数组内元素类型必须一样;

[]就是数组的标记

第一步;

数据类型[] 数组名;提倡这个;

数据类型 数组名[] ;

第二步

数组名 = new 数据类型 [长度];

赋值:

  1. 数据类型[] 数组名 = new 数据类型 [长度]{数据,数据,数据};

  2. 键盘接收:

    数组名 = new 数据类型 [长度];

    for(数组名 i=0;i<4;i++){

    nums [i] = input.nextInt()

    }

    length 返回数组长度

相等不一定不相等 因为所有的数还没比完 如果比完了还不相等那么才输出

数组的排序

调一个包:java.util.Arrays提供数组操作方法:排序。查询

arrays类的sort()方法 升序排序

使用方法:

  1. Scanner input = new Scanner(System.in);
    
  2. 做一个循环输入数组

  3. 写 Arrays.sort(数组名字) 降序for (int i = 数组名字.lenght-1; i >定义的值; i--) {

  4. 然后在循环外面输出

Arrays类的方法

boolean equals 对比是否相等

boolean equals :if (Arrays.equals(args, args)){
                  相等
               }else {
                  不相等
               }

string to string:直接输入数组名字不会出现地址而是出现数组内的值

System.out.println(Arrays.toString(数组的名字));

void fill: 改变数组内容

Arrays.fill(数组的名字 , val:"要改的数值"); 就会把数组的数值全部改成要改的数值

copyOf 数组复制

String[] 新的数组名字=  Arrays.copyOf(要复制的数组,复制的那个数组.length+1)

int binarySearch 查询元素值在素组中的下标位置

必须先排序

Arrays.sort(数组名字);
int 下标名字 = Arrays.binarySearch(数组名字,key"要找的元素");
   if(下标名字>=0){
       输出  输出时下标加一就是位置
   }
   	

插入

//插入
char[] b = {'a','b','c' ,'e' ,'f' ,'p' ,'u' ,'z'};
System.out.print("原字符序列");
for (int i1 = 0;i1<b.length-1;i1++){
    System.out.print(b[i1]);
}
char [] c = Arrays.copyOf(b,b.length+1);
char d1 = 'm';
int d = c.length-1;
for (int i1 = 0;i1<c.length-1;i1++){
    if (d1<c[i1]){
        d = i1;
        break;
    }
}
System.out.print("\n待插入的字符是"+d1);
System.out.print("\n待插入字符的下标"+d);
for (int i1=c.length-1;i1>d;i1--){
    c[i1]=c[i1-1];
}
c[d]=d1;
System.out.print("\n输出插入后的序列");
for (int i1 = 0 ; i1<c.length;i1++){
    System.out.print(c[i1]+" ");
}

多维数组

int [] [] 变量名=new int[5] [50]

有五个元素 的每个元素都有50个元素

s[0] 😒[0] [0] , s [0] [1] ,s[0] [2]

s[1]😒 [1] [ 0], s[1] [1]; s[1] [ 2]

s[2]: s [2] [0], s [2] [ 1], s [2] [ 2]

三元运算符

(states[i]==1?"已完成":"已预定")条件为真 就显示第一个 条件为假就显示第二个

posted @ 2021-12-27 17:45  赎梦  阅读(61)  评论(0)    收藏  举报