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

【Java笔记】08 数组

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

【Java笔记】08 数组

【Java笔记】08数组

文章目录
  • 【Java笔记】08数组
  • 一、介绍
  • 二、数组赋值机制
  • 三、应用
    • 排序
    • 查找
  • 四、多维数组

一、介绍

数组存放多个同一类型的数据,是引用类型

  • 数组的定义
    数据类型[] 数组名 = new 数据类型[大小]
    int[] a = new int[5];

先声明,再创建
声明:数据类型 数组名[];或 数据类型[] 数组名;此时为null
创建:数组名=new 数据类型[大小];

静态初始化
数据类型 数组名[]={元素值,元素值,…}

  • 注意
    1.数组创建后,如果没有赋值,有默认值 int 0,short 0,byte 0,long 0 ,float 0.0,double 0.0,char u0000,boolean false,String null
    2.数组属引用类型,数组型数据是对象(object)
二、数组赋值机制

数组在默认情况下是引用传递,赋的值是地址——>赋值方式为引用传递

	//arr2变化会影响到arr1
	int[] arr1 = {1,2,3};
	int[] arr2 = arr1;
	arr2[0] = 10;
	//arr1={10,2,3}

三、应用 排序
  1. 内部排序:所有数据加载到内存
  2. 外部排序:借助外部存储
  • 冒泡排序
    通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素 的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部
//数组[24,69,80,57,13]
//第一轮 最大数放最后 24,69,80,57,13->24,69,80,57,13->24,69,57,80,13->24,69,57,13,80

//第二轮 第二大的数放在倒数第二位置 24,69,57,13,80->24 57 69 13 80->24 57 13 69 80

//第三轮 第三大的数放在倒数第三位置 24 57 13 69 80->24 13 57 69 80

//第四轮 第四大的数放在倒数第四位置 13 24 57 69 80
public class BubbleSort {
    public static void main(String []args) {
		int[] arr = {24,69,80,57,13};
		int temp = 0;
		for(int i=0;i arr[j + 1]){
					temp = arr[j];
					arr[j] = arr[j + 1];
					arr[j+1] = temp;
				}
			}
			System.out.println("n==第"+(i+1)+"轮==");
			for(int j=0;j < arr.length;j++){
				System.out.print(arr[j]+"t");
			}
		}
    }
}
查找

顺序查找

import java.util.Scanner;
//顺序查找
public class SeqSearch {
    public static void main(String []args) {
		
		String[] names = {"白眉鹰王","金毛狮王","紫衫龙王","青翼蝠王"};
		Scanner myScanner = new Scanner(System.in);
		System.out.println("请输入名字");
		String findName = myScanner.next();
		
		int index = -1; 
		for(int i = 0; i < names.length; i++) { 
			//比较 字符串比较 equals, 如果要找到名字就是当前元素 
			if(findName.equals(names[i])) { 
				System.out.println("恭喜你找到 " + findName); 
				System.out.println("下标为= " + i); 
				//把 i 保存到 index 
				index = i; 
				break;//退出 
			} 
		}
		if(index == -1) { 
			//没有找到 
			System.out.println("sorry ,没有找到 " + findName); 
		}
    }
}
四、多维数组


列数不确定初始化

public class MyClass {
    public static void main(String args[]) {
      int[][] arr = new int[3][];
      for(int i=0;i < arr.length;i++){
        arr[i] = new int[i+1];
        for(int j = 0;j < arr[i].length;j++){
            arr[i][j] = i+1;
            
        }
          
      }
    
      for (int i = 0;i 

int[] x,y[];
x是int类型的一维数组,y是int类型的二维数组(int[] y[])

  • String[] str = new String[]{“a”,“b”,“c”};//ok
  • int[] str = new int[]{1,2,3};//ok
public class Insert{
	public static void main(String[] args){
		
		int[] arr = {10,12,23,45,90};
		int insertNum = 23;
		int index = -1;//将要插入的位置
		//遍历arr,if insertNum<=arr[i],i就是插入位
		//if 遍历完没有 insertNum<=arr[i],index=arr.length
		for(int i=0;i
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/439589.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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