数组

数组概述:是具有相同数据类型的数据的集合

数组的定义:数据类型 数组名 []

数组特点

1,数组是引用数据类型。

2,数组值用大括号,元素之间用逗号隔开,元素的个数是0-N个

3,数组长度是固定的,不能变化,数组长度通过数组的length属性访问

4,数组里面的元素是通过下标访问的,下标从开始, 数组名[下标]

5,数组在内存中是一段连续的内存空间

定义数组的几种方法

第1种,直接给出数组的值 静态的

   int [] number = {1,2,3,4,5,6,7,8,9};

 

第2种  静态的

   int [] number = new int []{1,2,3,4,5,6,7,8,9};

第3种 动态的

 int [] number = new int[20];    // 20是数组的长度,数组能存在多少个元素,每一个元素都有一个默认值
number[0] = 1 ;
number[1] = 4 ;
number[2] = 3 ;

数组的操作: 增 删 改 查

copy:将一个数组放入另一个数组中()

方法一

 int [] array={1,3,4,5,8,6};
int [] b = Arrays.copyOf(array, 5); //array:被移动的数组 //5:新数组的长度,从旧数组下标为0开始截取,如果长度超过旧数组,其他值为数组定义类型的默认值

方法二

 int array [] = { 1 ,3 ,4, 5, 8 ,6};
int [] b = Arrays.copyOfRange(array, 2, 4); // [2,4)
//将旧数组中下标为2 包含2,到下标为4 不包含4 之间的内容放入新数组中,第二个参数不能超出旧数组下标,第三个参数如果超出,其值为数组定义类型的默认值

方法三

    int array [] = { 1 ,3 ,4, 5, 8 ,6};
int [] b = new int [20];
System.arraycopy(array, 0, b, 0, array.length); // array, 0:旧数组及其索引下标,下标不能超出array的范围
//b, 0:新数组及其索引下标,下标不能超出b的范围
//array.length:旧数组长度,不能超过array.length

二维数组 & 多维数组

二维:数组里面的每一个元素都是一个数组

静态的

  int array [][] = {{1,2,23,4},{4,3,2},{2,5,6,3}};
int array [][] = new int [][] {{1,2,23,4},{4,3,2},{2,5,6,3}};

动态的

  int array [][] = new int [3][4];
array[0] = new int [] {1,2,23,4};
array[1] = new int [] {4,3,2};
array[2] = new int [] {2,5,6,3};
//动态创建时,int后的第一个括号必须初始化大小

多维:参考二维

Java学习笔记之基础语法(数组)的更多相关文章

  1. Java学习笔记之---基础语法

    Java学习笔记之---基础语法 一. Java中的命名规范 (一)包名 由多个单词组成时,所有字母小写(例如:onetwo) (二)类名和接口 由多个单词组成时,所有单词首字母大写(例如:OneTw ...

  2. java学习笔记之基础语法(一)

    1.java语言基础由关键字.标识符.注释.常量和变量.运算符.语句.函数和数组等组成. 2.1关键字 定义:被java语言赋予了特殊含义的单词 特点:关键字中所有的字母都是小写. 2.2用于定义数据 ...

  3. java学习笔记之基础语法(二)

    1.数组: 概念:同一种类型数据的集合,其实,数组就是一个容器 优点:可以方便的对其进行操作,编号从0开始,方便操作这些元素. 2,数组的格式 元素类型[]数组名=new 元素类型[数组元素个数]: ...

  4. Java学习笔记之基础语法(顺序,条件,循环语句)

    顺序结构:自上而下 条件分支选择结构: if条件语句   1,一旦某一个分支确定执行以后,其他分支就不会执行.if后面的条件必须是boolean类型   2,if  后面如果不加大括号,默认相邻的下一 ...

  5. Java学习笔记之基础语法(数据类型)

    8种基本数据类型    整型:   byte[1字节]          short[2字节]        int[4字节]         long[8字节]      1,四种整型之间的区别:申 ...

  6. Java学习笔记之---方法和数组

    Java学习笔记之---方法与数组 (一)方法 (1)什么是方法? 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 (2)方法的优点 使程序变得更简短而 ...

  7. java学习笔记之基础篇

    java选择语句之switch   //switch可以用于等值判断 switch (e) //int ,或则可以自动转化成int 的类型,(byte char short)枚举jdk 7中可以防止字 ...

  8. Hive学习笔记:基础语法

    Hive基础语法 1.创建表 – 用户表 CREATE [EXTERNAL外部表] TABLE [IF NOT EXISTS 是否存在] HUserInfo ( userid int comment ...

  9. JAVA学习笔记之基础概念(一)

    一.Java 简介: Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称. 由 James Gosling和同 ...

随机推荐

  1. 史上最全Docker环境安装指南-让安装docker简单到爆

    一.思考❓❔ 1.什么是Docker? 装应用的容器 开发.测试.运维都偏爱的容器化技术 轻量级 扩展性 一次构建.多次分享.随处运行 2.安装Docker难不难? So easy! 此文看过之后,读 ...

  2. Vue2.x-社交网络程序项目的总结

    最近几天一直在学习Vue的课程,通过这个项目进行进一步的学习Vue方面的知识.掌握如何使用Vue搭建前端,如何请求Node.js写好的后端接口. 一.实现前后端连载 首先在后端的文件中  vue  i ...

  3. SpringBoot整合redis缓存(一)

    准备工作 1.Linux系统 2.安装redis(也可以安装docker,然后再docker中装redis,本文章就直接用Linux安装redis做演示) redis下载地址: 修改redis,开启远 ...

  4. 模板引擎Velocity学习系列-#set指令

    #set指令 #set指令用于向一个变量或者对象赋值. 格式: #set($var = value) LHS是一个变量,不要使用特殊字符例如英文句号等,不能用大括号括起来.测试发现#set($user ...

  5. 10 (OC)* Coretext

    CoreText实现 看上图,我们可以知道,一个View包括CTFrame,CTFrame中间包括许多行CTLine,而一个CTLine中包括许多CTRun 我们主要说说CTLine和CTRun   ...

  6. linux切换jdk

    一.安装openjdk yum search openjdk yum install java-1.8.0-openjdk-devel-debug.x86_64 二.查询java版本 alternat ...

  7. [C++] 头文件中的#ifndef,#define,#endif以及#pragma用法

    想必很多人都看过“头文件中用到的 #ifndef/#define/#endif 来防止该头文件被重复引用”.但是是否能理解“被重复引用”是什么意思?头文件被重复引用了,会产生什么后果?是不是所有的头文 ...

  8. 微服务SpringCloud之zipkin链路追踪

    随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位 ...

  9. 2018年蓝桥杯java b组第二题

    2.标题:方格计数 如图p1.png所示,在二维平面上有无数个1x1的小方格. 我们以某个小方格的一个顶点为圆心画一个半径为1000的圆.你能计算出这个圆里有多少个完整的小方格吗? 注意:需要提交的是 ...

  10. 利用sqlalchemy 查询视图

    这个问题 google 百度 中英文搜了一上午.最新的回答还是 7年前.最后自己靠着官方文档的自己改出来一个比较方便的方法 使用环境 python == 3.7.0 SQLAlchemy === 1. ...