房上的猫:数组

一.数组:  1.定义:   (1)数组就是一个变量,用于将相同数据类型的数据储存在内存中   (2)数组中的每一个数据元素都属于统一数据类型  2.基本要素:   (1)标识符:    和变量一样,在计算机中,数组也要有一个名称,称为标识符,用于区分不同的数组   (2)数组元素:    当给出数组名称,即数组标识符后,要向数组中存放数据,这些数据就称为数组元素   (3)数组下标:    在数组中为了正确地得到数组的元素,需要对它们进行编号,这样计算机才能去存取,这个编号就称为数组下标   (4)元素类型:    存储在数组中的数组元素应该是同一数据类型  3.总结:   (1)数组只有一个名称,即标识符   (2)数组元素在数组里顺序排列编号,该编号即为数组下标   (3)数组中的每个元素都可以通过下标来访问   (4)数组的大小(长度)是数组可容纳元素的最大数量,    >定义一个数组的同时也定义了它的大小    >如果数组已满但是还继续向数组中存储数据的话,程序就会出错,这称为数组越界  4.使用数组步骤与语法:   (1)声明数组:    数据类型[] 数组名;        或者    数据类型 数组名[];   (2)分配空间:    数组名 = new 数据类型[数组长度];   合并:数据类型[] 数组名 = new 数据类型[数组长度];   (3)赋值:    数组名[下标值];    数据类型[] 数组名 = {值1,值2,值3,......,值n};   (4)对数据进行处理:   注:数组一经创建,其长度(数组中包含元素的数目)是不可改变的,如果越界访问(即数组下标超过0至数组长度-1的范围),程序会报错    因此,当我们需要使用数组长度时,一般用"数组名.length;"方式  5.常见错误:   (1)数组下标    数组下标从0开始,而不是从1开始   (2)数组访问越界    如果访问数组元素时指定的下标小于0,或者大于等于数组的长度,都会出现数组下标越界异常   (3)排错方法:    增加数组长度或删除超出数组下标范围的语句  6.数组的排序:   语法:    Arrays.sort(数组名);     对数组进行升序排序(从小到大)   拓展:Arrays.toString();在输出语句内输出整个数组  7.数组的插入算法(难点):   (1)定义一个长度为原数组长度+1的数组   (2)将旧数组的值赋值给新数组   (3)找到新增值的插入位置   (4)元素后移(倒着移,将前一位赋值给后一位)空出要插入的位置   (5)给要插入的位置(已空出)赋值

二.演示:

public class Job_010 {


    public static void main(String[] args) {
        Scanner bdqn = new Scanner(System.in);
        String[] a = new String[] { "Island", "Ocean", "Pretty", "Sun" };
        System.out.print("插入前的数组为:");
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i] + "\t");
        }
        System.out.print("\n请输入歌曲名称:");
        String b = bdqn.next();
        String[] newa = new String[a.length + 1];
        for (int j = 0; j < a.length; j++) {
            newa[j] = a[j];
        }
        newa[newa.length - 1] = b;
        Arrays.sort(newa);
        System.out.print("插入后的数组为:");
        for (int t = 0; t < newa.length; t++) {
            System.out.print(newa[t] + "\t");
        }
    }
}

 演示结果:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逆向技术

计算机基础知识_进制转化

          进制转化 一.任何一个进制转化为10进制的方式 156的十进制可以看做1*10^2 + 5*10^1  +   6*10^0 首先我们看一下...

1920
来自专栏calmound

JavaScript基础2---控制权DOM操作

文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。 DOM将HTML文档呈现为带有元素,属性和文本的树结构(...

3134
来自专栏noteless

-1-1 java 基础语法 java关键字 java 注释 常量 语句 运算符 函数 数组定义

字符/数字/下划线/$/  组成  不可以使用关键字 不允许以数字开头    严格区分大小写

642
来自专栏null的专栏

C/C++——set的基本操作总结

set容器中只能存储键,是单纯的键的集合,其中键是不能重复的。 set支持大部分的map的操作,但是set不支持下标的操作,而且没有定义mapped_type...

2963
来自专栏闻道于事

Oracle数据库(二)常用关键字以及函数

常用关键字 insert into---插入数据 delete---删除数据 update---更新一条数据 select---实际工作中尽量不要写...

3297
来自专栏编程

Python3:复杂数据结构的排序

排序是非常常见的一个场景,相比于Python2,Python3中的排序有不少优化,今天谈一谈Python3中常见排序场景~~更多细节可参考Ref中的Python...

21310
来自专栏静默虚空的博客

[Java 基础]数组

数组初始化 定义数组语法格式 定义数组有两种方式,如下两种格式是等价的: int[] a1; int a1[];  注:在C/C++中,不支持第一种格式。但是...

1718
来自专栏小白的技术客栈

Python函数参数之全面讲解

Python函数参数 Python函数参数 本文主要介绍Python的函数参数,各种形式的参数。建议动手试试,可以加深理解。 函数参数 定义函数的时候,我们把参...

3625
来自专栏搞前端的李蚊子

JS中const、var 和let的区别

今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章。主要内容是:js中三种定义变量的方式const, var, let的区别。 1.const定义...

2556
来自专栏测试开发架构之路

总结了一些指针易出错的常见问题(六)

  安全问题与指针误用 声明和初始化指针(初始化失败) 误用指针 释放问题 指针声明: // 宏定义(仅仅是替换) #define PINT int*; PIN...

33613

扫描关注云+社区