房上的猫:数组

一.数组:  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 条评论
登录 后参与评论

相关文章

来自专栏我的技术专栏

C++ 异常机制分析

1354
来自专栏Java学习网

Java面试题系列之基础部分(二)——每天学5个问题

Java基础部分学习的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io的语法,虚拟机方面的语法,这些都是最基...

2565
来自专栏个人随笔

Java 高级开发必修知识---反射

程序猿们经常说的一句话:反射反射。。。程序员的快乐 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的...

4035
来自专栏java工会

2018年百度大神讲解 JAVA基础知识解析(重点)

2173
来自专栏塔奇克马敲代码

第 18 章 用于大型程序的工具

1162
来自专栏Java帮帮-微信公众号-技术文章全总结

04.Java对象和类

04.Java对象和类 Java 对象和类 Java作为一种面向对象语言。支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 本节我们重点研...

4326
来自专栏好好学java的技术栈

“面试不败计划”: java语言基础面试题(三)

1213
来自专栏浪淘沙

java初级笔记----final、static、匿名对象、内部类

一、final 1、final可以用来修饰类,方法,成员变量, 2、final修饰类不可以被继承,但是可以继承其他类。 3、final修饰的方法不可...

1383
来自专栏架构之路

Java子类的父类和要实现的接口有相同的方法/函数会冲突吗

答案是,不会。子类优先实现父类的方法,虽然父类的方法和接口的方法长得一模一样。 class father{ public void f(){} } in...

2733
来自专栏专注 Java 基础分享

关于类的对象创建与初始化

今天,我们就来解决一个问题,一个类实例究竟要经过多少个步骤才能被创建出来,也就是下面这行代码的背后,JVM 做了哪些事情?

4086

扫码关注云+社区