栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

每日学到 15

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

每日学到 15

1.掌握数组常用操作

1)数组获取最大、最小值

设置个max值,并给它赋值数组下标为0的元素,从左到右,逐个对比,如果比max大,就把值赋给max,直到结束循环

public class Demo01 {
    public static void main(String[] args) {
        int[] nums = {11,22,33,44,55};
        int max = nums[0];
        for (int i = 0; i < nums.length; i++) {
            if (max 

设置个min值,并给它赋值数组下标为0的元素,从左到右,逐个对比,如果比min小,就把值赋给min,直到结束循环

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {
        int[] prices = new int[4];
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < prices.length; i++) {
            System.out.println("第"+(i+1)+"家店的价格:");
            prices[i] = sc.nextInt();
        }
        int min = prices[0];
        for (int i = 0; i < prices.length; i++) {
            if (min>prices[i]) {
                min=prices[i];
            }
        }
        System.out.println("最低价格为"+min);
    }
}

2)数组数字排序

冒泡排序:

每次比较相邻两数
升序:小的交换到前面;每轮结束后最大的数交换到最后
降序:大的交换到前面;每轮结束后最小的数交换到最后

第一轮:比较了length-1次
第二轮:比较了length-2次
第三轮:比较了length-3次
第四轮:比较了length-4次
第 i  轮:比较了length-i 次

public class Demo05 {
    public static void main(String[] args) {
        int[] array = {16,25,9,90,23};
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i]+" ");
        }
        System.out.println();
        int temp = 0;
        for (int i = 0; i < array.length-1; i++) {
            for (int j = 0; j < array.length-1-i; j++) {
                if (array[j]>array[j+1]){
                    temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }
            }
        }
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i]+" ");
        }
    }
}

 由于 i 和 j 是从0开始的,所以要注意 i 和 j 的范围。

3)数组插入数字

设置一个新的数组,想要插入n个数字就设置新数组的长度为原数组长度+n,然后遍历原数组,赋值给新数组。如果想插入在某个位置就让该位置之后的所有元素往后移动一位,也就是从数组末尾前一位开始给后一个元素赋值,一直到想要插入位置给后一位赋值后,直接给插入位置的元素赋值,目的就达到了。

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        int[] scores = {99,88,77,66,55};
        int[] newScores = new int[scores.length+1];
        for (int i = 0; i < scores.length; i++) {
            newScores[i]= scores[i];
        }
        Scanner sc = new Scanner(System.in);
        System.out.println("插入数值:");
        int num = sc.nextInt();
        int index = newScores.length-1;
        for (int i = 0; i < newScores.length; i++) {
            if (num>newScores[i]){
                index = i;
                break;
            }
        }
        for (int i = newScores.length-1; i > index; i--) {
            newScores[i]=newScores[i-1];
        }
        newScores[index]=num;
        for (int i = 0; i < newScores.length; i++) {
            System.out.println(newScores[i]);
        }
    }
}

4)数组删除数字

想要删除某个元素,让后一个元素的数据赋值给它,后面的元素依次赋值给前一个,然后给最后一位赋值为0。如果想删除最后一个,给最后一个赋值为0即可。

import java.util.Scanner;

public class Demo07 {
    public static void main(String[] args) {
        int[] nums = {11,25,96,65,49,78,95};
        for (int i = 0; i < nums.length; i++) {
            System.out.print(nums[i]+" ");
        }
        System.out.println();
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入删除元素的下标(0——length-1):");
        int index = sc.nextInt();

        for (int i = index; i < nums.length-1; i++) {
            nums[i]=nums[i+1];
        }
        int[] nums2 = new int[nums.length-1];
        for (int i = 0; i < nums2.length; i++) {
            nums2[i] = nums[i];
        }
        for (int i = 0; i < nums2.length; i++) {
            System.out.print(nums2[i]+" ");
        }
    }
}

 我这里是直接创建了一个新的数组,把原数组删除某个数字后,其后面数字全都依次向前一位赋值,然后遍历新数组,把原数组的元素赋值给新数组。

2.java.util.Arrays类

Arrays.equals(array1,array2)
比较array1和array2两个数组是否相等

import java.util.Arrays;

public class Demo09 {
    public static void main(String[] args) {
        int[] nums1 = {1,2,4,3,5};
        int[] nums2 = {1,2,4,5,3};
        boolean result= Arrays.equals(nums1,nums2);
        System.out.println(result);
        
    }
}

Arrays.sort(array)
对数组array的元素进行升序排列

import java.util.Arrays;

public class Demo09 {
    public static void main(String[] args) {
        int[] nums1 = {1,2,4,3,5};
        Arrays.sort(nums1);
        for (int i = 0; i < nums1.length; i++) {
            System.out.print(nums1[i]+" ");
        }
    }
}

Arrays.toString(array)
将一个数组array转换成一个字符串

import java.util.Arrays;

public class Demo09 {
    public static void main(String[] args) {
        int[] nums2 = {1,2,4,5,3};
        System.out.println(Arrays.toString(nums2));
    }
}

Arrays.fill(array,val)
把数组array所有元素都赋值为val

import java.util.Arrays;

public class Demo09 {
    public static void main(String[] args) {
        int[] nums1 = {1,2,4,3,5};
        for (int i = 0; i < nums1.length; i++) {
            System.out.print(nums1[i]+" ");
        }
        System.out.println();
        Arrays.fill(nums1,999);
        for (int i = 0; i < nums1.length; i++) {
            System.out.print(nums1[i]+" ");
        }
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1027259.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号