Java数组声明的三种方式

第一种(声明并初始化):
         数据类型[] 数组名={值,值,...};
         例:int[] a = {1,2,3,4,5,6,7,8};
    第二种(声明后赋值):
          数据类型[] 数组名 = new 数据类型[数组长度];
          数组名[下标1]=值;数组名[下标2]=值;.....
          例:String[] a =new String[4];
              a[0]="hello";
              a[1]="world";
              ....
    第三种():

数据类型[] 数组名=new 数据类型[]{值,值,...};

Java数组拷贝的四种方式

第一种:for循环自己手写,注意数组越界异常

第二种: System.arraycopy(src, srcPos, dest, destPos, length);

Object src,int srcPos,Object dest,int descPos,int length

源数组,源数组开始拷贝位置,目标数组,目标数组开始拷贝位置,拷贝长度

第三种:java.util.Arrays.Arrays.copyOf(源数组,新数组长度);

    public static <T,U> T[] copyOf(U[] original, int newLength, Class<? extends T[]> newType) {@SuppressWarnings("unchecked")T[] copy = ((Object)newType == (Object)Object[].class)? (T[]) new Object[newLength]: (T[]) Array.newInstance(newType.getComponentType(), newLength);System.arraycopy(original, 0, copy, 0,Math.min(original.length, newLength));return copy;}

这个方法有两个参数,第一个参数是源数组,可以数byte,short,int,long,char,float,double,boolean

第二个参数是新数组长度

该方法先new一个新数组,然后拷贝,返回值是一个数组,需要先声明一个数组存放返回数组,也可以直接用Arrays.toString(Arrays.copyOf(a,a.length))遍历

java.util.Arrays.copyOfRange(源数组,开始拷贝位置,结束拷贝位置);

源数组的数据类型和Arrays.copyOf();一样

    public static <T,U> T[] copyOfRange(U[] original, int from, int to, Class<? extends T[]> newType) {int newLength = to - from;if (newLength < 0)throw new IllegalArgumentException(from + " > " + to);@SuppressWarnings("unchecked")T[] copy = ((Object)newType == (Object)Object[].class)? (T[]) new Object[newLength]: (T[]) Array.newInstance(newType.getComponentType(), newLength);System.arraycopy(original, from, copy, 0,Math.min(original.length - from, newLength));return copy;}

第四种:clone();

     int []h=new int[c.length];h=(int[])c.clone();h=c.clone();//h与c同数据类型

Demo:

package syntax;
import java.util.Arrays;
public class ArrayDemo2 {public static void main(String[] args) {int[] a={1,2,3,4,5,6,7,8};int[] b=new int[10];b[1]=1;b[2]=2;int[] c=new int[]{1,2,3,4,5,34,6,7,8,9,12};System.out.println("数组a="+Arrays.toString(a));System.out.println("数组b="+Arrays.toString(b));System.out.println("数组c="+Arrays.toString(c));System.out.println("\n===System.arraycopy拷贝===");System.out.println("===把数组c拷贝到长度为a.length的数组d===");//数组的copyint[] d=new int[a.length];System.arraycopy(c, 0, d, 0, a.length);//从a数组的第0个位置开始复制a.length个数据,复制到数组d第0个位置开始System.out.println("数组d="+Arrays.toString(d));System.out.println("\n===Arrays.copyOf拷贝===");//先new一个新的数组,再将原来数组拷贝到新数组中,原数组引用与其不同System.out.println("===把数组a拷贝到长度为a.length+1的数组e===");int[] e=Arrays.copyOf(a, a.length+1);//从a数组的第0个元素开始复制,复制长度为a.length+1;默认初始化值为0System.out.println("数组e="+Arrays.toString(e));System.out.println("\n=========for循环拷贝=========");System.out.println("===把数组c拷贝到长度为10的数组f===");//for循环复制int []f=new int[10];for(int i=0;i<f.length;i++){f[i]=c[i];}System.out.println("数组f="+Arrays.toString(f));System.out.println("\n=========clone循环拷贝=========");System.out.println("===把数组c拷贝到长度为c.length的数组h===");int []h=new int[c.length];h=(int[])c.clone();System.out.println("数组h="+Arrays.toString(h));}}

转载于:https://blog.51cto.com/jsw55667/1926969

Flex 布局教程:语法相关推荐

  1. Flex 布局教程:语法篇(阮一峰)

    阿里云  >  教程中心   >  html教程  >  Flex 布局教程:语法篇(阮一峰) Flex 布局教程:语法篇(阮一峰) 发布时间:2018-03-12 来源:网络 上传 ...

  2. [转]详解Flex布局(语法+教程)

    Flex 布局教程:语法篇 作者: 阮一峰 原文:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html 网页布局(layout)是 CSS ...

  3. Flex 布局教程:语法篇

    阮一峰的网络日志 » 首页 » 档案 上一篇:ES6 的功能侦测库 下一篇:Flex 布局教程:实 分类: 开发者手册 Flex 布局教程:语法篇 作者: 阮一峰 日期: 2015年7月10日 网页布 ...

  4. Flex 布局教程:实例篇

    上一篇文章介绍了Flex布局的语法,今天介绍常见布局的Flex写法. 你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我只列出代码,详细的语法解释请查阅<Flex布局教程:语法篇&g ...

  5. css基础精华---Flex 布局教程:实例篇

    转载地址:http://www.ruanyifeng.com/blog/2015/07/flex-examples.html http://www.ruanyifeng.com/blog/2015/0 ...

  6. Flex布局教程(非常受用)

    目录 前言: 一.语法篇 1.概述 2.Flex 布局怎么用 任何一个容器都可以指定为 Flex 布局 行内元素也可以使用 Flex 布局: Webkit 内核的浏览器,必须加上-webkit前缀: ...

  7. HTML Flex布局教程

    Flex 布局教程:语法篇 bShare.addEntry({ title: document.getElementById("page-title").innerHTML, ur ...

  8. Flex 布局教程——阮老师

    超级实用的css布局???赶紧学习来 一.Flex 布局教程:语法篇 http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html 二.Flex 布 ...

  9. Flex 布局教程实例

    Flex 布局教程实例 一.Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 F ...

  10. Flex布局教程(一)

    前言 对于Flex布局,在之前我用的最多的无非是justify-content:center和align-items:center这两个属性,对其他的属性知之甚少,最近也看了不少关于Flex布局的博文 ...

最新文章

  1. 开启报名丨中文信息学会青工委学术沙龙:“推荐系统前沿进展”
  2. Loaded runtime CuDNN library: 7102 (compatibility version 7100) but source was compiled with 7004
  3. ios利用block实现回调示例
  4. Spark(5)——standalone模式
  5. Python中的WSGI
  6. 返回局部变量或临时变量的地址_C++的函数不可以返回局部变量的指针
  7. 开发一款自动指向特定页面元素的jQuery插件:jQuery PointPoint
  8. 数学--数论--中国剩余定理 拓展 HDU 1788
  9. 登录drupal管理员_天气公司依靠Drupal来管理内容
  10. python --while 练习3
  11. 如何安装ipa文件(二)
  12. Sqoop 是什么?(二)
  13. jax指标的用法_济安线预警指标?JAX指标?
  14. VB中产生10个不重复的随机数
  15. Minecraft 1.18.1、1.18.2模组开发 02.方块和物品
  16. 【Python】批量爬取OSM建筑瓦片数据并整合为shp格式数据
  17. 在D天内送达包裹的能力
  18. android 应用程序Activity管理类
  19. Linux运行jar包报错:Error:Invalid or corrupt jarfile xxx.jar
  20. C#中Winfrom默认输入法的设置方法

热门文章

  1. Java集合工具类:Collections
  2. Maven 3.0.5 安装和配置:
  3. leetcode14. 最长公共前缀
  4. redis——NOSQL及redis概述
  5. 简单暴力到dp的优化(入门篇)
  6. Sublime Text 2配置强大的IDE开发环境,运行java
  7. 《Java8实战》笔记(07):并行数据处理与性能
  8. 通过字符串的方式读取文件的内容
  9. 在Docker里面安装Ubuntu,并且使用ssh进行连接
  10. OpenCL 第7课:旋转变换(1)