Java基础知识整理【5】 (数组)

java SE 基础知识指南 36. Lock(上):相比Java synchronized,JUC Lock有什么优势?19. io类库:http://java.io类库如此庞大,怎么才能全面系统的掌握它?51. 线程状态:为何synchronized和Lock这两种锁对应的线程状态不同?34. synchronized(上):线程释放锁之后,如何通知其他线程获取锁?13. HashMap(上):为何HashMap中数组的大小必须是2的幂次方?37. Lock(中):如何使用AQS(抽象队列同步器)实现JUC Lock? 阅读详情

JVM内存图

在这里插入图片描述
ps:JVM内存的划分,根据人为的不同可以划分为不同的样式,上图是基本的内存图

程序计数器
当前线程所执行的字节码行号(执行到那个位置就添加对一个序号)

本地方法栈
为虚拟机使用native方法所提供的服务(java中有一些方法是使用native修饰,没有具体方法体,他们的实现是通过本地 系统C++类库或C类库进行实现)

Java虚拟基栈(栈空间)
描述Java方法执行的内存模型,每个方法执行的时候都会站在栈中创建一个栈帧,栈帧可以存储局部变量,操作栈,动态链
接,方法的出口等信息 ps:每一个方法,创建一个栈帧,栈帧张总存放了当前方的数据信息,当前反方执行完成之后,会还行弹栈,销毁栈帧
Java堆 被所有线程共享的一块存储区域,在虚拟机启动的时候会创建.所有对象都是开辟在堆空间中
ps:在堆开辟空间,需要使用一个关键字 new -->代表在堆中开辟了一块新空间
方法区
所有线程共享的区域,存储已被虚拟机加载的类信息(.class)、常量、静态变量,即实时编译所的到的数据都存在这个区 域

Java数组

声明变量–>>>数据类型 变量 = 值;
声明变量的作用是方便在代码中对数据的一种操作

当出现相对来说比较大的数据量是,使用变量进行管理就不回特别方便;此时java提供了一种数据结构,对大量数据进行储存并进行统一管理,这个数据结构就是–>>数组
1、数组储存数据的时候会记录数据的位置和具体值方便操作
2、数组是一个定长的数据结构(一旦确定数组大小,就不能存储超过范围的数据)
3、数组是开辟在堆空间,连续存的一个内存空间
4、数组中只能储存相同数据类型的元素(值)ps:不是绝对的,学习object后,数组也可以存所有object类型的数据(子类) 数组是一种数据结构,储存在数组中的数据是按照一定顺序排列而成的

数组中元素的数据类型
数组的可以声明成基本类型和引用数据类型

引用数据类型:数组,字符串,自定义类,集合等等
无论是基本数据类型还是引用数据类型,创建数组的时候,数组中都会存储默认值
在这里插入图片描述

整数类型存储默认值都是:0 
小数类型存储的默认值都是 0.0
char类型存储的是一个空字符-->不可见
引用类型存的是 null --> 空 --> 在堆中没有开辟 
ps:需要注意一个问题NullPoniterException空指针异常 这个异常的原因是因为,使用null进行一些操作

如何声明数组

/**
* 数组的四种创建方式 * @author JKMaster *
*/
public class ArrayDemo1 {
public static void main(String[] args) {
                // 1.标准创建 :创建数组的同时指定数组的大小
                //语法 数组中元素的数据类型[] 数组名 = new 数组中元素的数据类型[数组中元素的个数(即是数组的大小也是数组的长度)];
               //数组的数据类型是: 数据类型[]
                //[]之前的数据类型是:数组元素的数据类型即数组中可以存储什么样的值 
                int[] arr = new int[10];
                
                //2.先声明,然后在对数组进行赋值(创建类时,数组作为类的属性存在)
                 /*
                * 数组中元素的数据类型[] 数组名;
                ** 数组名 = new 数组中元素的数据类型[数组中元素的个数(即是数组的大小也是数组的长度)];
                **/
                int[] arr1;
                arr1 = new int[10];
                
                //3.创建数组的同时指定数组中元素
                //语法: 数组中元素的数据类型[] 数组名 = new 数组中元素的数据类型[]{元素1,元素2,元素3.....};
                 //ps:绝对不能再[]中写入数组大小,当前数组是根据后面{ }中的元素来决定数组多大的
                 int[] arr2 = new int[] {1,2,3,4,5};
                 //此时数组的大小即5
                 
                 //4.就是第三种简化
                 //语法: 数组中元素的数据类型[] 数组名 = {元素1,元素2,元素3.....}; 
                 int[] arr3 = {1,2,3,4,5};
                 }
     }

在这里插入图片描述

如何操作数组

import java.util.Arrays;
import java.util.Scanner;
/**
* 数组基本操作
* @author JKMaster *
*/
public class ArrayDemo2 {
public static void main(String[] args) { //创建数组
//数组中元素的数据类型[] 数组名 = new 数组中元素的数据类型[数组中元素的个数(即数组大小,数组长 度)]
          int[] arr = new int[10];
           //[I@70dea4e-->不是数组的地址
      //不能通过打印数组对象的方式来打印出数组中存储的元素                 System.out.println(arr);
     //创建数组的同时,数组是有默认元素值
     //整数默认值是都是0
     //若数组中存储的是引用类型,默认值是null一定要注意判断在使用不认会出现空指针异常 
     //若创建引用类型的时候,没有赋值之前(即开辟堆空间),不要使用 System.out.println(Arrays.toString(arr));
     //取出数组某一个元素的值怎么办?
    // 下标(角标) 从0开始 到当前数组长度-1结束
   //例如 有一个数组,数组的长度是5 它的下标就是 0,1,2,3,4
   //要修改数组中第一个元素的值
    //语法:数组名[下标值] = 值;

总结:
若访问数组中的元素,需要通过下标完成,下标范围 从0开始(第一位) 到 当前数组长度-1结束(最后一位)
数组名[下标值] = 值; --> (赋值)
数组类型 变量名 = 数组名[下标值] 或 System.out.println(数组名[下标]) --> (取值)
下标值不能是负数或大于等于数组长度,不然会出现一个异常
ArrayIndexOutOfBoundsException -->数组下标越界异常(数组中的下标超出了范围)

获取数组长度: 数组名.length --> 便捷的获取数组的最后一位的下标 数组名.length-1
//通过数组下标对应的元素进行修改
arr[0] = 100; System.out.println(Arrays.toString(arr));

//需要取出数组中的值 —>>>语法 数组名[下标值];

//ps:需要注意数组下标的值绝对不能是负数或是大于等于数组的长度 //ArrayIndexOutOfBoundsException -->数组下标越界异常(数组中的下标超出了范围) //System.out.println(“访问数组中的元素:”+arr[10]);

//获取数组长度
System.out.println(“数组的长度:”+arr.length); //访问数组中最后一个元素 System.out.println(“数组中最后一个元素是:”+arr[arr.length-1]);

如何给数组赋值
//1.静态赋值
int[] nums = {1,2,3,4,5,6};
//2.动态赋值
Scanner input = new Scanner(System.in);
arr2[0] = input.nextInt();
//使用随机数
arr2[1] = (int)(Math.random()*100); System.out.println(Arrays.toString(arr2));
} }

如何遍历数组

1、普通for循环
2、增强for循环(foreach)

/**
* 遍历数组的两种方式 * @author JKMaster *
*/
public class LoopArrayDemo {
                 public static void main(String[] args) {
                          int[] arr = new int[10]; 
                          //向数组中随机插入0-100之间值
                           //普通for循环
                           //i =0的原因是因为:若需要操作数组中的元素,需要使用下标 
                           //i作为循环变量,从0开始,数组中第一个元素的下标
                            //通过不断的自增i变量以达到操作数组下标的目的 
                            //当下标到达数组长度的时候,循环停止即可
                     for(int i = 0; i<arr.length;i++) {
                                 arr[i] = (int)(Math.random()*100);
                      }
                   //打印数组中的值
                    for(int i = 0;i<arr.length;i++) {
                            System.out.println("数组中第"+(i+1)+"位置的值是:"+arr[i]); }
                             System.out.println("-------------------------------------------------华丽的分割线---- -------------------------------------");
                             //增强for循环 /*
                             * 语法: for(数组中元素数据类型 变量名:数组名){ 操作当前变量就等于获取了数组存储的元素值
                             *  } */
                             * //通过增强for循环改变数组原有的值
                             * // 在for循环中相同定义了变量a 这个a获取数组每一个元素 /*
                             int ai[];
                             int l = (ai = arr).length;
                             for (int j = 0; j < l; j++){
                                       int a = ai[j];
                                       a = 0; 
                             }
*
*/
                       for(int a : arr) {
                        //这个所做的并不是给数组中修改值,而是给当前局部变量a修改值 a = 0;
                    }
                    //增强for循环对数组进行打印,不能赋值 System.out.println("通过增强for循环对数组中元素进行赋值");
                     for(int a1 : arr) {
                         System.out.println(a1);
                     }
              }
}

数组排序

数组中排序有很多种:冒泡,选择,插入,快排,堆,归并等排排序方式

冒泡排序:


         //打印没有排序之前数组值 System.out.println(Arrays.toString(arr));
         //对数组进行排序操作 //1.数组中所有的元素都需要进行一次比较,所以通过循环满足每一个元素比较 for(int i = 0 ;i<arr.length;i++) {
          //控制比较次数
         //arr.length-1的目的是为了方式数组下标越界异常 原因在于 j+1 会到大数组的长度 
         //-i随着比较次数的逐渐增多,每一次都会有一个正确数放到正确的位置,那么通过-i操作 
         //减少当前需要排序的元素个数
         for(int j = 0; j<arr.length-1-i;j++) {
         //具体元素的比较
                 if(arr[j] > arr[j+1]) { //交换
                    int tmp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = tmp;
                }
         }

选择排序:

//先确定循环的次数,有多少个元素就执行多次
      for(int i = 0;i<arr.length;i++) {
       //循环的次数即比较次数
       //j的初始变量值是i+1 即i的下位,因为i是固定比较值
                 for(int j = i+1;j<arr.length;j++) {
                 //具体数据的比较
                 //i值就是一个固定的元素值 
                      if(arr[i] > arr[j]) {
                            int tmp = arr[i];
                            arr[i] = arr[j];
                            arr[j] = tmp;
                     }
             }
     }

线性查找和二分查找

当前这两种查找方式都可以在数组查找出需要的数据

线性查找

/**
* 线性查找数据
* @param arr 是一个整数数组
* @param num 是要查找的值
* @return 返回的值正数就知道即下标 */
返回的是-1即没有找到
public static int LinearSearchNumber(int[] arr,int num) { //线性查找即顺序查找,将整个数组进行遍历比较每一个元素
for(int i = 0; i<arr.length;i++) {
            if(arr[i] == num) {
                return i;
             } 
}
//当循环是通过循环条件正常停止,即没有找到相同的数据所以此时返回-1
return -1; }

二分查找

  • 二分查找理论

1.先定义一个开始值beginIndex也就是起始的位置即下标第一位
2.在定义一个结束值endIndex也就是结束的为位置即下标的最后一位
3.通过 (beginIndex+endIndex)/2得到一个中值即middleIndex
4.通过中间值获取对应数组中的数据,然后和要比较的数据进行比较
4.1当前比较的值大于中间值所对应数据,此时就需要去中间值的右半区进行查找
需要重新计算中间值,需要移动开始值beginIndex = middleIndex+1
重计算中间值即 (beginIndex+endIndex)/2得到一个中值即middleIndex
4.2当前比较的值小于中间值所对应的数据,此时就需要去中间值的左半区进行查找 需要重新计算中间值,需要移动结束值endIndex = middleIndex-1重计算中间值即 (beginIndex+endIndex)/2得到一个中值即middleIndex
4.3 查找到当前数据,即中间值的位置就要查找的数据
4.4 没有找到出现了交叉 即 beginIndex > endIndex

在这里插入图片描述

传值和传址

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

数组工具类

import java.util.Arrays;

public class ArrayTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] arr = new int[10];
		for(int i=0;i<arr.length;i++) {
			arr[i]= (int)(Math.random()*100);
		}
		
		String str = Arrays.toString(arr);
		System.out.println(str);
		
		//排序(升序)
		Arrays.parallelSort(arr);
		System.out.println(Arrays.toString(arr));
		
		//二分查找
		/**
		 * 找到即下标,找不到负数
		 */
		int index = Arrays.binarySearch(arr, 20);
		
		//复制数组
		/**
		 * 深拷贝:数组的地址和内容都要复制
		 * 浅拷贝:只复制数组怼内容不复制数组怼地址
		 * 第一个参数是要复制的数组
		 * 第二个参数是复制的长度,这个长度不能为负数
		 * 这里是浅拷贝
		 */
		
		int[] newArr = Arrays.copyOf(arr, 15);
		System.out.println(Arrays.toString(newArr));
		
		/*
		 * 拷贝范围内的数组
		 * 
		 * 第一个参数要拷贝数组
		 * 第一个参数是开始的位置
		 * 第三个参数是结束的位置
		 * 包括开始但是不包括结束,参数是下标
		 * 能是负数 不能超过范围
		 */
		
		int[] newArr2 = Arrays.copyOfRange(arr, 2, 5);
		System.out.println(Arrays.toString(newArr2));

		
		/*
		 * 引用类型进行比较(不能使用==)
		 * 使用==判断引用类型,比较的是内存地址值,不是内容
		 * 需要使用equals进行判断
		 */
		int[] a1 = {1,2,3,4};
		int[] a2 = {1,2,3,4};
		System.out.println("a1和a2是一样吗?"+(Arrays.equals(a1, a2)));
				
		
		
	}

}

今日总结:JVM内存原理浅析,声明数组,数组赋值,操作数组,排序遍历问题,两种查找,传值和传址

在这里插入图片描述

《Java语言程序设计》✍基础知识整理 Java语言程序设计 第1章 Java语言概述 Java语言比较特殊,它既是编译型语言又是解释型语言。Java的源程序代码必须通过编译器将其编译为Java字节码(byte code)后才能运行,所以被称为编译型语言。但Java字节码不能直接运行,只能在Java虚拟机环境中被解释执行,因此称之为解释型语言 Java程序是由虚拟机负责执行,并非是操作系统,这样做的优点是可以实现程序的跨平台运行 Java语言的特点 简单性 与C++语言相比,Java语言有着突出的特点,摒弃了C++语言中不宜理解的部分,减少 阅读详情

相关推荐

Java中的数组基础知识学习教程

主要介绍了Java中的数组基础知识学习教程,文中同时也整理了Java对数字类型的支持状况及Number类中的方法,需要的朋友可以参考下

Java学习 6.数组的定义与使用

数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。比如现实中的车库:在Java中,包含6个整形类型元素的数组,就相当于上图中连在一起的6个车位,从上图中可以看到: 1. 数组中存放的元素其类型相同。2. 数组的空间是连在一起的。3. 每个空间有自己的编号,其实位置的编号为0,即数组的下标。

m0_52468661的博客 1454

SigmaStar(星宸科技)SSC33X系列

目前,SSC33X系列已经量产了接近两年,SDK成熟稳定,功耗表现良好,图像效果出色,广泛应用在AI枪机、AI球机、AI云台机、多目摄像机、停车场闸机、人脸门禁、人脸锁、门铃猫眼等产品上。

Comake Online的博客 1万+

Java数组(这一篇就够了)(超详细)

文字定义:数组是一种数据结构,用于存储多个相同类型的数据。java中 "类型[ ]" 即数组,并且索引下标从0开始。

m0_73158088的博客 3万+

解决屏幕不亮难题:慷智SerDes DE信号极性配置避坑指南

本文深入探讨了基于慷智AIM95x系列SerDes芯片的嵌入式显示系统开发中,因DE信号极性配置不匹配导致屏幕不亮的典型故障。文章详细解析了DE信号的核心作用与极性定义,提供了慷智SerDes芯片中DE极性寄存器的具体配置方法与调试记录,并给出了从隔离问题、对比时序到波形验证的系统性排查流程,帮助工程师快速定位并解决此类隐蔽问题。

weixin_29185493的博客 141

CANOE DIVA 工程怎样在具体服务前增加前置条件

然后会在CANoe的Test Module视窗中发现一个跟系统条件相关的Test Module模块,在该模块中有生成跟系统条件相关的CAPL 脚本。这里需要根据你的实际项目进行更改,diva工程加载到canoe的工程的时候,会同步加入你创建的cdd文件,这里示例的ABS_ESP 就是你的cdd的ECU命名,后面就是具体的前置条件服务。4、配置完成后,测试用例就会如下图Trace窗口所示,在每一次10 02请求之前都会调用CAPL Function的PreconditionCheck函数中定义的脚本。

weixin_45940007的博客 1964

14 数组

数组 数组的定义 数组是相同类型数据的有序集合 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成 其中,每一个数据称作一个数组元素每个数组元素可以通过一个下标来访问它们 数组声明创建 首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法: dataType[] arrayRefVar; // 首选的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首选方法 Java语言使用new操作符来创建数组,语法如下: dataType[] array

qq_53537301的博客 1149

IAP板卡远程升级(串口网口都可)+Ymodem+AES对bin文件加密+pc软件+板卡相互烧录

还是决定记录一下,毕竟这个东西我也搞了挺久的,遇到一些棘手的,或者是因为我很粗心遇到的问题也和大家分享一下,。 板卡核心是 STM32F103RCT6,256kflash 前言 开始看这个远程升级的时候,我是一头雾水的,原子哥的教程里面也有说到过iap,有了一个大概的了解,我想不明白的是,通过串口下载的方式把hex文件下载到flash,和把bin文件下载到flash难道不是拉一根线,下载一个文件嘛,(初入职场的我并没有考虑到安全这个问题)如果直接将hex文件给到客户那边,风险是非常大...

那可真是太开心了的博客 5371

Java中的数组

Java中的数组介绍,数组的概念,数组的基本类型,数组的基本使用,介绍了数组初始化的两种方式,动态初始化和静态初始化,使用数组完成用户登录操作,使用数组求最大最小值,介绍了数组的复制,数组实现自动扩容的办法和案例,二维数组的简介,

fj123321666的博客 7406

【第07例】IPD体系进阶: 6 个技术评审点(TR)

TR技术评审点

产品线负责人 4415

[STM32F103C8T6]W5500+Modbus TCP(HAL库)

本章节是博主学习Modbus TCP所写的一篇文章Modbus TCP是Modbus的一个分支,主要用到网口通信的,在工业上也用的很频繁,我们公司最近的项目就是用的W5500+modbus TCP来和PC端的上位机通信和交互的。虽然这个项目不是我在写代码,但是我都学了Modbus RTU了,那我也抽空学习一下Modbus TCP吧。本次的Modbus TCP不是博主写的,是一个大佬开源的一个W5500写的一个Mobus TCP代码,我在这个基础上自己写了主机读从机多个数据,和主机写从机寄存器的函数。

sinat_58149788的博客 4086

Java数组

此文章对Java中的数组进行了详细的讲解,从数组的定义、创建到使用,以后数组如何传参,数组作为方法返回值应该怎么做。为了防止大家看不懂,我们特地的为大家准备了一些例题,如数组转字符串、数组拷贝、找数组中的最大元素、找数组的平均值、查找数组中的指定元素(二分法和顺序查找)、检索数组的优秀给你、数组排序、数组逆序、以及数组数字排列。在文章的最后,我们为大家讲解了二位数组是什么它怎么遍历,等……

xinhang10的博客 7675

Opus Clip AI技术浅析(一)

Opus Clip AI 是一款由Opus公司推出的AI视频剪辑工具,旨在通过人工智能技术简化视频编辑过程,帮助用户快速从长视频中提取精彩片段,并生成适合社交媒体分享的短视频。

m0_75253143的博客 2152

java基础知识整理(5)——数组的具体应用

一、查找 1、数组无序          /*          需求:在数组中查找指定的数据,并返回其角标          明确:返回类型 int                     未知内容 数组未知 int[] arr,给定的元素 int a          */     public class Search {     public static void mai...

Bnsdmm_lk的博客 311

在Centos上从零开始部署并运行TinyWebServer服务器,过程记录(非常详细)

TinyWebServer是个什么项目?它是Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器。使用线程池+非阻塞socket+epoll(ET和LT均实现) +事件处理(Reactor和模拟Proactor均实现) 的并发模型使用状态机解析HTTP请求报文,支持解析GET和POST请求访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件实现同步/异步日志系统,记录服务器运行状态。......

AnChenliang_1002的博客 3021

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

PHP基础知识总结系列文章归档

《PHP基础知识总结》系列分享专栏 《PHP基础知识总结》已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/201728.html 简介 总结PHP基础知识,对初学者还是高手都值得参考巩固。 文章 PHP检查库或函数是否可用的方法 关于PHP5 Session生命周期介绍 PHP页面和Mysql数据库的转UTF8编码问题总结 W...

hello_katty的专栏 1263

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Java 基础知识总结(超详细整理)

本文系统梳理了Java语言的核心知识点,包括跨平台原理、JDK/JRE/JVM关系、面向对象三大特性(封装、继承、多态)、基础语法(数据类型、变量、运算符、流程控制)等。内容涵盖Java开发必备知识体系,从基础概念到实际应用,帮助开发者快速掌握Java编程基础。

Huangmiemei911的博客 5098

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java基础知识总结(超详细整理)

Java语言的特点,1.面向对象(OOP)就是Java语言的基础,也是Java语言的重要特性。面向对象的概念:生活中的一切事物都可以被称之为对象,生活中随处可见的事物就是一个对象,我们可以将这些事物的状态特征(属性)以及行为特征(方法)提取并出来,并以固定的形式表示。 2.简单好用,Java语言是由C和C++演变而来的,它省略了C语言中所有的难以理解、容易混淆的特性(比如指针),变得更加严谨、简洁、易使用。 3.健壮性、Java的安全检查机制,将许多程序中的错误扼杀在摇蓝之中。 另外,在

龙源IT 的博客 44万+

Java基础——数组基础知识

Java基础——数组基础知识 数组作为一种数据结构,经常用来存储同一类型值的集合。数组可以存储所有的数据类型,包括基本数据类型和引用数据类型。 数组的创建 数组是用来存储东西的,就需要为之分配一个地方,而且分配多大,以及怎么找到这个数组和存储什么类型就成为了我们的问题,所以在使用数组之前我们需要先创建数组,创建数组就是为了解决了上面的问题。 我们根据我们需要解决的问题来了解怎么创建数组,首先我们知...

qq_42655458的博客 202

Java基础知识笔记整理(一)

目录Java基础知识1、Java的优势有哪些?Java有什么优点?2、JDK、JRE、JVM三者之间的区别是什么?3、标识符的命名规则4、什么是变量、变量的本质是什么?5、变量的分类以及作用域6、常量7、Java的基本数据类型7.1 整型7.2 浮点型7.3 char字符型7.4 boolean布尔型8、运算符8.1 算数运算符8.2 赋值和赋值扩展运算符8.3 关系运算符8.4 逻辑运算符8.5 位运算符8.6 字符串连接符8.7 条件运算符(三目运算符)8.8 运算符优先级问题8.9 &和&am

weixin_43246215的博客 2938

Java数组自学整理

自学Java数组篇

qq_62151839的博客 923

Java基础知识总结(第三篇):数组、排序和查找

java基础知识整理

2301_76144723的博客 981

java基础知识整理(一维数组、二维数组)

java基础知识整理(一维数组、二维数组)一维数组二维数组 一维数组 1、含义 存储一组数据的容器(数组里可以放多个数组,在进行操作——增删改查)。 2、静态初始化 数组由程序员指定,数组的长度由系统自动分配 例如:String[] name = new String[]{“姓名1”,“姓名2”}; 3、动态初始化 数据由系统指定,数组长度由程序员指定 动态初始化元素默认值: (1)整型类型:0 ...

qq_41102206的博客 332

Java必备基础知识:数组、排序和查找

本文介绍了数组、排序和查找。介绍了数组的声明和初始化、元素访问、遍历方法和Arrays工具类的使用;对比了7种常见排序算法(冒泡、选择、插入、希尔、归并、快速、堆排序),以及它们的实现思路和性能特点;最后总结了顺序查找、二分查找和分块查找三种策略及其适用场景。

chuilchui的博客 1075
上一篇: Java基础知识整理【4】 (方法)
下一篇: Java基础知识整理【6】 (对象)
码上发财V
博客等级 码龄11年 4粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值