zoukankan      html  css  js  c++  java
  • 数组

    数组

    概念:

    数组可以看成是多个相同类型数据的集合,对这些数据的统一管理。

    数组的变量时引用类型,数组本身也是个对象,数组中每个元素相当于该对象的成员变量 数组的元素可以使任何数据类型,包括基本数据类型和引用数据类型。

    声明方式:

    类型 [ ] 变量名 = new 类型 [长度](规定) 或 类型 变量名 [ ]  = new 类型【长度】

    int[ ]   a;double [ ]  d; String [ ]  s; person [ ]  p;

    声明数组要用new关键字。

       1,必须声明数组的长度, int[ ] = new int[5];

       2,也可以直接定义数组的内容    int[ ] a = {1,2,3}

       3, 数组的长度一旦被定义,则不可再变。

    遍历和初始化(求int数组的和)

      args(命令行参数)

       静态初始化/动态初始化

       基础类型

       引用类型

       二维数组的初始化和定义: int [ ] [ ] aa = new int [3] [ ];

    数组的对象都会有一个叫lenth的属性,来记录长度。

    访问数组中的一个元素使用索引

       索引从0开始

       int [ ] a = {1,2,3,4,5};

       a[2]  

       main方法中的字符串数组(模拟计算器)

    public static void main (String[] args){
       if(args.length ! = 3){
              System.out.println("请输入正确的格式!");
               return;   
         }
        int a  = Integer.parseInt(args[0]);
        int b  = Integer.parseInt(args[2]);
        String s = args[1];
        swirch(s) {
            case"+"  
            System.out.println(a + b );
            case"-"
             System.out.println(a - b );
           case"*"  
            System.out.println(a x b );
            case"/"
             System.out.println(a / b );
    
          }       
    }    

    练习500逢3退1

    public class Count3Quit {
           public static void main (String[] args){
                    boolean[] persons  = new boolearn[500];
                    for(int i = 0; i < persons.length; i ++){
                         persons[i] = true;
                }
                          int index = 0; 
                          int count = 0;
                          int len = persons.length;
                          while( len ! = 1){
                          if(person[index]    {
                              count++;
                               if(count == 3 ){
                                  persons[index] = false;
                                  count = 0;
                                  len--;
                }
             }      
                             index++;
                            if(index  == 500){
                               index = 0;
        }
    }
                            if(int i = 0 ;i< persons.length; i ++){
                            if(persons[i]){
                             System.out.println(i); 
               }
          }        
    }    
    
    }                                            

    数组元素初始化

    int = 0; 所有整数都是0 ;所有浮点型都是0.0 ; 布尔值都是flase; 所有引用类型都是null;

    数组排序

         反转排序

      冒泡排序

      

     pubic static void bubblesort(int[] arr){
        int[] arr = {1,3,6,2,0,11,17,14};
         bubbleSort(arr);
        p(arr);
      }
       public static void bubbleSort(int[] arr){
                for(int i = 0; i < arr.length; i++){
                    for(int j = 0; j <arr.length-i-1;i++){
                        if(arr[j] > arr[j+1]){
                           int temp = arr[j];
                           arr[j] = arr[j+1];
                           arr[j+1] = temp;
                 }        
             }
         }   
    }     
          public static void p(int[] arr){
            for(int i = 0; i < arr.length;i++){
            System.out.print(arr[i] + " ");  
         }       
    } 

      直接选择排序

    Arrays工具类

      数组排序 Arrays.sort(arr);快速排序

      填充数组Arrays.fill(arr,5);填充数组

      数组复制Arrays.copyOf(arr,5);如果新数组的长度不如被复制的数组长度长有多少取多少 ,如果新数组的长度比较长,不足的部分用0填充

      数组的范围赋值 Arrays.copyOfRange(); 索引范围包括开始,不包括结束。

      比较两个数组是不是一样 Arrays.equals(int [ ] a, int [ ] b );

      数组查询 binarySearch();二分搜索法 必须先排序。如果有,返回值是该数的索引。 如果没有返回值是该数应该所在的索引加一的相反数

      数组范围查询

  • 相关阅读:
    京东精益敏捷教练分享:敏捷助力产品创新!
    设计规范 | 详解组件控件结构体系
    Axure响应式进阶
    通讯录表设计
    TEST1
    c#练习四单元总结
    窗体控件应用总结(1)
    .NET(c#理解)
    test2-11
    test1-1
  • 原文地址:https://www.cnblogs.com/r6688/p/9025527.html
Copyright © 2011-2022 走看看