zoukankan      html  css  js  c++  java
  • Java 【数组】

    一.数组的基本使用

    public class demo{
        public static void main(String[] args){
            //使用数组四部走
            int[] a;  //声明数组
            a = new int[5]; //分配空间
            for(int i=0;i<5;i++){
                a[i] = i;
            }
            a[0] = a[0]*10;  //处理数据
            for(int i=0;i<5;i++){
              System.out.println(a[i]);    
            }
            
        }
    }

     1.四种写数组方法

    public class demo{
        public static void main(String[] args){
            //第一种
            int arr1[];  //声明
            arr1 = new int[5]; //分配空间
            arr1[0] = 1;   //赋值
    
            //第二种
            int arr2[] = new int[5];  //声明并分配空间
            arr2[0] = 32;   //对数据赋值
    
            //第三种
            int arr3[] = {8,2,3,4};  //声明、赋值、分配
    
            //第四种
            int arr4[] = new int[]{2,5,8,7};  //声明、赋值、分配
    
          System.out.println(arr1[0]);
          System.out.println(arr2[0]);
          System.out.println(arr3[0]);
          System.out.println(arr4[0]);
     
            
        }
    }

    二.数组的排序

    import java.util.Arrays;  //Arrays的sort()排序
    import java.util.Scanner;
    public class demo1{
        public static void main(String[] args){
             
             Scanner data = new Scanner(System.in);
    
             int[] arr1 = new int[10];
             String[] arr2 = new String[7];
             
             //对数字进行排序
             for(int i=0;i<arr1.length;i++)
             {
                  System.out.println("请输入第"+ i +"学生成绩");
                  arr1[i] = data.nextInt();  //数值赋值
             }
    
              Arrays.sort(arr1);  //对数组排序
             
            for(int i=0;i<arr1.length;i++)
             {
                  System.out.println(arr1[i]);
                
             }
    
             //对字母进行排序
             for(int i=0;i<arr2.length;i++)
             {
                  System.out.println("请输入字母"+ i);
                  arr2[i] = data.next();  //字符赋值
             }
    
              Arrays.sort(arr2);  //对数组排序[逆序]
             
            for(int i=arr2.length-1;i>=0;i--)
             {
                  System.out.println(arr2[i]);
                
             }
        }
    }

     三.数组的复制

    import java.util.Scanner;
    public class demo{
        public static void main(String[] args){
    
            //数组的复制
            int arrA[] = new int[]{2,3,4,5,6,7};
            int [] arrB = new int[arrA.length];
            for(int i=0;i<arrA.length;i++){
                arrB[i] = arrA[i];
            }
            for(int i=0;i<arrB.length;i++){
    
                System.out.println(arrB[i]);
    
            }
    
    
        }
    }

    四.数组的查找算法

    import java.util.Scanner;
    public class demo{
        public static void main(String[] args){
    
            //数组查找算法
            String arr[] ={"张三","里斯","网二","码字","庇护"};
            Scanner data = new Scanner(System.in);
            System.out.println("请输入查找的学生的姓名:");
            String name = data.next();  //输入查找值
           
            boolean flag = false;   //查找标志位
            for(int i=0;i<arr.length;i++){  //循环数组查找
                if(name.equals(arr[i])){ //如果输入值等于数组值
                    flag=true;
                    break;
                }
            }
                
                if(flag == true){
                    System.out.println("找到了!");
                }
                else{
                    System.out.println("没找到!");
                }
       
        }
    }

    五.数组插入算法

    import java.util.Scanner;
    public class demo{
        public static void main(String[] args){
            //数组插入算法
            Scanner data = new Scanner(System.in);
            int[] arr = {2,3,4,5,6,7};  //长度为6
            System.out.println("请输入你要插入的数值:");
    
            int num=data.nextInt(); //获取输入的数值赋值给num
    
            arr[arr.length-1] = num;  //把num插入到最后
    
            for(int i=arr.length-1;i>0;i--){ //从后到前遍历
                if(arr[i]<arr[i-1]){ //如果前一个大于后一个
                    int t = arr[i];   //交换前后
                    arr[i] = arr[i-1];
                    arr[i-1] = t;
                }
                else{   //否则跳出循环
                    break;
                }
    
            }
    
            for(int i=0;i<arr.length;i++){
                System.out.println(arr[i]);
    
            }
    
        }
    }

    六.数组冒泡排序

    public class demo{
        public static void main(String[] args){
            //数组冒泡排序
            int arr[] = new int[]{12,5,18,10,11,17};  //长度6
           for(int j=0;j<=arr.length-1;j++){  //循环
                for(int i=0;i<arr.length-1;i++){//主要将大的向后移动
                    if(arr[i]>arr[i+1]){
    
                        int t = arr[i];
                        arr[i] = arr[i+1];
                        arr[i+1] = t;
    
                    }
                }
            }
            for(int i=0;i<arr.length;i++){ //输出
                
                System.out.println(arr[i]);
    
            }
            
    
        }
    }

    七.选择排序原理

    public class demo{
        public static void main(String[] args){
         
            //选择排序 (打擂台)
            int []arr = new int[]{9,8,7,6,5,4,3,2,1};
            int replace = 0;
            int bj = 0;
             for(int i=0;i<arr.length-1;i++){ //循环次数
                 for(int j=i+1;j<arr.length;j++){//每次循环比较的个数
                   if(arr[i] > arr[j]){
                         int t = arr[i];
                         arr[i] = arr[j];
                         arr[j] = t;
                         replace++;  //交换次数
                   }
                  //比较次数
                   bj++;
                 }
                 
             }
             for(int i=0;i<arr.length;i++){
                   
                 System.out.println(arr[i]);
             }
           
            System.out.println("交换次数:" + replace);
            System.out.println("比较次数:" + bj);
    
        }
    }

  • 相关阅读:
    Tomcat的startup.bat启动后显示乱码
    SKF密码设备研究
    《网络攻防》第十一周作业
    《网络攻防》第十周作业
    《网络攻防》第九周作业
    Maven环境搭建以及建立Maven项目
    JavaSE (unbound)的问题解决
    对任性孩子,只要做到“四个不要”就可以了
    layui中对table中的数据进行判断(0、1)转换为提示信息
    Asp.Net Core Mvc上Json序列化首字母大小写的问题
  • 原文地址:https://www.cnblogs.com/Crown-V/p/12404020.html
Copyright © 2011-2022 走看看