zoukankan      html  css  js  c++  java
  • 5.1数组

    一.数组的特点
    1.存储一组相同数据类型的数据
    2.长度一旦声明就固定
    3.每个元素的内存地址是连续的

    二.数组的使用步骤
    1.声明:数据类型[] 数组名; double[] nums;
    2.创建数组:nums = new double[10];分配连续的内存空间。声明和创建可以写成一句代码
    3.访问数组的元素:数组名[下标];下标是从0开始。 double[2] = 3.14;
    4.数组名.length可以获取数组的物理长度

    三.数组的声明和初始化的方式
    1.int[] nums = {32,45,76,98,100};
    2.int[] nums = new int[]{1,2,3,4,5,6,7};

    四.数组的排序
    import java.util.Arrays;

    int[] nums = {12,43,55,8,123,90,78};
    Arrays.sort(nums);//工具自动排序

    五.例子

    package com.demo1027;
    
    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Demo {
    	//数组的声明和使用
    //	public static void main(String[] args) {
    //		int[] nums;//声明数组
    //		nums = new int[5];
    //		//使用数组 无非就是1.读取数组中的数据  2.往数组中写入数据
    //		nums[1]=100;
    //		System.out.println(nums[0]);
    //		System.out.println("nums的长度为:"+nums.length);
    //	}
    	
    	//练习1 要求给数组0-4的下标赋值   3.14   5   6.6   89   100.11
    //	public static void main(String[] args) {
    //		double[] nums = new double[5];
    //		nums[0] = 3.14;
    //		nums[1] = 5;
    //		nums[2] = 6.6;
    //		nums[3] = 89;
    //		nums[4] = 100.11;
    //		
    //		System.out.println(nums[0]+nums[1]+nums[2]+nums[3]+nums[4]);
    //	}
    	
    	//练习2声明一个double类型的数组 长度5
    	//要求用循环来接受键盘输入的5个数字
    	//求5个数的平均值?
    //	public static void main(String[] args) {
    //		Scanner sc = new Scanner(System.in);
    //		double[] nums = new double[5];
    //		for(int i=0;i<nums.length;i++){
    //			System.out.println("请输入第"+(i+1)+"个数字:");
    //			nums[i] = sc.nextDouble(); 
    //		}
    //		double sum = 0;
    //		for (int i = 0; i < nums.length; i++) {
    //			sum+=nums[i];
    //		}
    //		System.out.println("平均数是:"+sum/nums.length);
    //	}
    	
    	//3.声明一个整型数组,将其初始化为以下数据:12,43,55,8,123,90,78
        //要求:a.用户随便输入一个数,告诉用户该数在不在数组中,如果在告诉用户在哪个位置上?
    	//    b.求数组中最大值是多少?
    //	public static void main(String[] args) {
    //		int[] nums = {-12,-43,-55,-8,-123,-90,-78};
    //		int max = nums[0];//擂台
    //		Scanner sc = new Scanner(System.in);
    //		System.out.println("输入一个数:");
    //		int num = sc.nextInt();
    //		for (int i = 0; i < nums.length; i++) {
    //			if(num==nums[i]){
    //				System.out.println("这个数在数组中第"+(i+1)+"位");
    //				break;
    //			}
    //			
    //			if(i==nums.length-1){
    //				System.out.println("没有这个数");
    //			}
    //		}
    //		
    //		for (int i = 0; i < nums.length; i++) {
    //			if(nums[i]>max){
    //				max = nums[i];
    //			}
    //		}
    //		System.out.println("数组中的最大值是:"+max);
    //	}
    	
    	//4.插入算法

    //数组的插入算法:初始化一个数组,数据位为:12,43,55,8,123,90,78
    //要求用户输入一个数字,和插入的位置,将该数字插入到数组中,其他元素的位置保持原来的顺序

    //	public static void main(String[] args) {
    //		//1.声明并初始化原数组
    //		int[] old = {12,43,55,8,123,90,78};
    //		for (int i = 0; i < old.length; i++) {
    //			System.out.print(old[i]+"  ");
    //		}
    //		//2.接受用户输入
    //		Scanner sc = new Scanner(System.in);
    //		System.out.println("请输入要插入的数字:");
    //		int num = sc.nextInt();
    //		System.out.println("请输入要插入的位置:");
    //		int index = sc.nextInt();
    //		//3.创建新数组,其长度为原数组长度加一
    //		int[] newNums = new int[old.length+1];
    //		//4.我们将原数组中的数据,对号入座到新数组中
    //		for (int i = 0; i < old.length; i++) {
    //			if(i<index-1){
    //				newNums[i] = old[i];
    //			}else{
    //				newNums[i+1] = old[i];
    //			}
    //		}
    //		//5。将用户输入的数字,对号入座到新数组中
    //		newNums[index-1] = num;
    //		//6.输出新数组中所有数据
    //		for (int i = 0; i < newNums.length; i++) {
    //			System.out.print(newNums[i]+"  ");
    //		}
    //	}
    	
    	//用java自带的工具给数组排序
    	public static void main(String[] args) {
    		int[] nums = {12,43,55,8,123,90,78};
    		
    		Arrays.sort(nums);//工具自动排序
    		
    		for (int i = 0; i < nums.length; i++) {
    			System.out.print(nums[i]+"  ");
    		}
    	}
    }
    

     

    /**
     * 数组
     * 1.初始化一个整型数组,12,43,55,8,123,90,78  将其倒序排序输出;
     * 2:输出最低分要求:输入十个数,将最低分输出;
     * 3:输入十个数,将小于0的数变为0,排序输出这十个数
     * 
     */
    package class1030;
    
    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Test01 {
    	public static void main(String[] args){
    		
    		//1.初始化一个整型数组,12,43,55,8,123,90,78  将其倒序排序输出;
    		/*
    		int a[]={12,43,55,8,123,90,78};
    		Arrays.sort(a);
    		for(int i=a.length-1;i>=0;i--)
    		{
    			System.out.print(a[i]+" ");
    		}
    		*/
    		
    		//2:输出最低分要求:输入十个数,将最低分输出;
    		/*
    		double b[]=new double[10];
    		double nums;
    		Scanner sc=new Scanner(System.in);
    		for(int i=0;i<b.length;i++)
    		{
    			System.out.println("请输入第"+(i+1)+"个数");
    			b[i]=sc.nextDouble();
    		}
    		nums=b[0];
    		for(int i=0;i<b.length;i++)
    		{
    			System.out.print(b[i]+" ");
    			if(nums>b[i])
    			{
    				nums=b[i];
    			}
    		}
    		System.out.println("最小的数是"+nums);
    		*/
    		
    		//3:输入十个数将其排序,并将小于0的数变为0,输出
    		/*
    		int arr[]=new int[10];
    		Scanner sc=new Scanner(System.in);
    		for(int i=0;i<arr.length;i++)
    		{
    			System.out.println("请输入第"+(i+1)+"个数");
    			arr[i]=sc.nextInt();
    			if(arr[i]<0){
    				arr[i]=0;
    			}
    		}
    		Arrays.sort(arr);
    		for(int j=0;j<arr.length;j++)
    		{
    			System.out.print(arr[j]+" ");
    		}
    		*/
    		
    		//4:{123,43,65,23,11,3,6,89}把这个数组排序,
    		//然后用户随便输入一个数字,将该数字插入到数组,并且仍保持数组有序,
    		//要求用插入算法
    		
    		int arr[]={123,43,65,23,11,3,6,89};
    		Arrays.sort(arr);
    		for(int i=0;i<arr.length;i++)
    		{
    			System.out.print(arr[i]+" ");
    		}
    		Scanner sc=new Scanner(System.in);
    		System.out.println("请输入一个数字");
    		int num=sc.nextInt();
    		int index=0;
    		for(int i=0;i<arr.length;i++)
    		{
    			if(arr[i]>num)
    			{
    				index=i;
    				break;
    			}
    		}
    		int arr2[]=new int[arr.length+1];
    		for(int i=0;i<arr.length;i++)
    		{
    			if(i<index)
    			{
    				arr2[i]=arr[i];
    			}else{
    				arr2[i+1]=arr[i];
    			}
    		}
    		arr2[index]=num;
    		for(int i=0;i<arr2.length;i++)
    		{
    			System.out.print(arr2[i]+" ");
    		}
    	}
    
    }
    

      

     

  • 相关阅读:
    hdu 4577 X-Boxes 大数
    hdu 4576 Robot 概率DP
    将IP地址转化为整数
    MyISAM压缩表
    yii2 模态框
    MySQL数据库设计
    foreach循环赋值问题
    实用的网站
    判断链接地址是否有效
    tp5获取配置文件信息
  • 原文地址:https://www.cnblogs.com/wlxslsb/p/10353177.html
Copyright © 2011-2022 走看看