1.数组的定义:

数组(Array)是相同数据类型的数据的有序集合。

2.数组的3个特点:

2.1数组长度是确定。数组一旦申请完空间,长度不能发生变化,用length属性访问。

2.2数组的元素都是同一数据类型。

2.3数组是有序的 。每个元素通过下标/索引标记,索引从0开始。

3.数组的3种声明方式:

3.1:

int[] arr = new int[2];

arr[0] = 10;

arr[1] = 20;

3.2:

int[] arr2 = new int[]{10,20,30,40,50};

3.3 :

int[] arr3 = {10,20,30,40};

4.数组的内存空间

数组的数据存储在堆空间中,声明数组时,在栈空间中存储数组在堆空间中的地址,所以数组时引用数据类型。

5.数组的遍历算法:

for(int i=0;i < arr.length;i++){

System.out.println("arr[" + i + "]" + "=" + arr[i]);

}

6.数组的常用算法

6.1插入算法

public class Test07{

public static void main(String[] args){

// 一个有序的数组,向该数组中添加一个元素,数组依然有序。

int[] arr = {1,3,7,9,12,20,0};

int t = 0;

// 【1】找位置

int loc = -1; // 表示t应该添加到的位置

for(int i = 0;i<arr.length-1;i++){

if(arr[i] >= t){

loc = i;

break;

}

}

System.out.println("loc = "+loc);

if(loc < 0){ // 没找到合适的位置

arr[arr.length-1] = t;

}else{

// 【2】依次后移

for(int j=arr.length-1;j>loc;j--){

arr[j] = arr[j-1];

}

// 【3】添加插入的值

arr[loc] = t;

}

// 验证

for(int i = 0;i<arr.length;i++){

System.out.print(arr[i]+"\t");

}

}

}

6.2删除算法:

public class Test08{

public static void main(String[] args){

// 删除算法

int[] arr = {1,3,7,9,12,20};

int t = 1;

// 【1】找位置

int loc = -1;

for(int i=0;i<arr.length;i++){

if(t == arr[i]){

loc = i;

break;

}

}

// 【2】移动元素

if(loc < 0){

System.out.println(t+"在数组中不存在");

}else{

for(int j = loc;j<arr.length-1;j++){

arr[j] = arr[j+1];

}

// 【3】最后一个元素置0

arr[arr.length-1] = 0;

}

// 验证

for(int i = 0;i<arr.length;i++){

System.out.print(arr[i]+"\t");

}

}

}

6.3冒泡排序算法

public class Test10{

public static void main(String[] args){

// 对一个无序的数组进行排序

int[] arr = {10,5,3,4,2,9,7};

int tmp = 0;

for(int i=0;i<arr.length-1;i++){ // 外层控制趟数

for(int j=0;j<arr.length-1-i;j++){ // 两两比较

if(arr[j]>arr[j+1]){

tmp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = tmp;

}

}

}

for(int i=0;i<arr.length;i++){

System.out.print(arr[i]+"\t");

}

}

}

Java基础学习--数组的更多相关文章

  1. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  2. 转载-java基础学习汇总

    共2页: 1 2 下一页  Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3     Java基础学习总结——Java对象的序列化和 ...

  3. JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API

    森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397  文章- 0  评论- 78  JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...

  4. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  5. Java基础学习(3)

    Java基础学习(三) Java异常 Throwable类:所有异常的祖先类 Error:虚拟机异常.内存错误.没法处理 Exception:编码.环境.用户操作输入出现问题 非检查异常(自动捕获): ...

  6. Java基础学习-- 继承 的简单总结

    代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...

  7. Java基础学习中一些词语和语句的使用

    在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...

  8. java基础学习总结——开篇

    java是我学习的第一门编程语言,当初学习java基础的时候下了不少功夫,趁着这段时间找工作之际,好好整理一下以前学习java基础时记录的笔记,当作是对java基础学习的一个总结吧,将每一个java的 ...

  9. Java基础学习笔记(一)

    Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...

随机推荐

  1. android常犯错误记录(三)

    java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionVie ...

  2. 走进Java Map家族 (1) - HashMap实现原理分析

    在Java世界里,有一个古老而神秘的家族——Map.从底层架构到上层应用,他们活跃于世界的每一个角落.但是,每次出现时,他们都戴着一张冷硬的面具(接口),深深隐藏着自己的内心.所有人都认识他们,却并非 ...

  3. WinForm -- 为TextBox文本框添加鼠标右键菜单

    WinForm -- 为TextBox文本框添加鼠标右键菜单 1. 新建一个WinForm项目,放置一个TextBox控件 2. 从工具箱拖进来一个ContextMenuStrip 3. 将TextB ...

  4. vue笔记未整理

    全局组件 局部组件 子组件传值到父组件 父子组件传值 watch跟计算属性差不多,都会有缓存,计算属性优先 计算属性get set 对象 数组 对象 数组 不复用 改变数组 直接修改数组,页面没变化 ...

  5. 好程序员web前端分享HTML基础篇

    好程序员web前端分享HTML基础篇,最近遇到很多新手,都会问,如果要学web前端开发,需要学什么?难不难学啊?多久能入门之类的问题?那么今天好程序员就先来给大家分享一下web前端学习路线:HTML基 ...

  6. 浅谈 Angular 项目实战

    为什么使用 Angular 我不是 Angular 的布道者,但如今痴迷 Angular,使用 Angular 做项目让我有一种兴奋感.目前的三大主流前端框架都研究过,博客中也有三者的相关教程,最早接 ...

  7. 随心测试_软测基础_006<测试人职业发展>

    接上篇:熟悉了_测试人员的工作职责范围与具体的工作内容 ,如何规划:测试人员的职业路线呢? 贴心小提示:以下内容,仅供参考,不挖坑 Q1:如何规划测试工程师的职业发展路线? A1:SX的观点:预定目标 ...

  8. C语言函数及变量的声明与定义的区别

    变量: 1.声明变量不需要建立存储空间,如:extern int a; 2.定义变量需要建立存储空间,如:int a:或者 int b=10:无论变量是否赋值,只要定义它,即占用空间. 3.int a ...

  9. 类 Calendar

    简介 Java.util.Calendar是日历类,在Date后出现,替换掉了许多Date的方法.该类将所有可能用到的时间信息封装为静态成员变量,方便获取.日历类就是方便获取各个时间属性的.注意Cal ...

  10. scala的多种集合的使用(2)之集合常用方法

    一.常用的集合方法 1.可遍历集合的常用方法 下表列出了Traverable在所有集合常用的方法.接下来的符号: c代表一个集合 f代表一个函数 p代表一个谓词 n代表一个数字 op代表一个简单的操作 ...