JAVA基础学习之路(五)数组的定义及使用
什么是数组:就是一堆相同类型的数据放一堆(一组相关变量的集合)
定义语法:
1.声明并开辟数组
数据类型 数组名[] = new 数据类型[长度];
2.分布完成
- 声明数组:数据类型 数组名 [] = null;
- 开辟数组:数组名 = new 数据类型[长度];
public class test2 {
public static void main(String args[]) {
int arr[] = new int[];
arr[] = ;
arr[] = ;
arr[] = ;
for(int i=;i<;i++) {
System.out.println(arr[i]);
}
}
}
内存分析:
- 声明并开辟数组

2.分布完成

数组内存引用
数组是一个引用数据类型
public class test2 {
public static void main(String args[]) {
int arr[] = new int[];
arr[] = ;
arr[] = ;
arr[] = ;
int arr_tem[] = arr;
arr_tem[] = ;
for(int i=;i<;i++) {
System.out.println(arr[i]);
}
}
}
//输出为
100

以上方法都是数组的动态初始化,都是为数组先开辟空间,之后再赋值。这里,就会联系到之前学习的构造方法了(再实例化对象时产生默认值),下面将介绍数组的两种静态初始化方法。
简单方法:int arr[] = {值,值,值......} //尽量不要用
完整方法:int arr[] = new int[] {值,值,值......}
public class test2 {
public static void main(String args[]) {
int arr[] = new int[] {1,2,3};
int arr_tem[] = arr;
arr_tem[0] = 100;
for(int i=0;i<3;i++) {
System.out.println(arr[i]);
}
}
}
数组操作方法:
- System.arraycopy(源数组,源数组索引,目标数组,目标数组索引,长度)
public class test2 {
public static void main(String args[]) {
int arr_1[] = new int[] {1,2,3,4,5,6,7 };
int arr_2[] = new int[] {11,22,33,44,55,66,77 };
System.arraycopy(arr_1, 2, arr_2, 2, 3);//将数组2替换为11,22,3,4,5,66,77
for(int i=0; i<arr_2.length; i++) {
System.out.println(arr_2[i]);
}
}
}
- java.util.Arrays.sort()
public class test2 {
public static void main(String args[]) {
int arr[] = new int[] {1,3,2,9,5,7,6,4};
java.util.Arrays.sort(arr);
for(int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}
}
}
JAVA基础学习之路(五)数组的定义及使用的更多相关文章
- JAVA基础学习之路(四)定义简单java类
简单java类开发一般原则: 类名称必须有意义,再怎么说,要让人家看的明白吧 类之中所有属性必须使用private封装,并提供setter,getter方法 类之中可以有多个构造方法,但是必须保留有一 ...
- JAVA基础学习之路(一)基本概念及运算符
JAVA基础概念: PATH: path属于操作系统的属性,是系统用来搜寻可执行文件的路径 CALSSPATH: java程序解释类文件时加载文件的路径 注释: 单行注释 // 多行注释 /*... ...
- JAVA基础学习之路(七)对象数组的定义及使用
两种定义方式: 1.动态初始化: 定义并开辟数组:类名称 对象数组名[] = new 类名称[长度] 分布按成:类名称 对象数组名[] = null: 对象数组名 = new 类名称[长度]: 2 ...
- JAVA基础学习之路(六)数组与方法参数的传递
通常,向方法中传递的都是基本数据类型,而向方法中传递数组时,就需要考虑内存的分配 public class test2 { public static void main(String args[]) ...
- Java基础学习笔记十五 集合、迭代器、泛型
Collection 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数组既然都 ...
- JAVA基础学习之路(九)[2]String类常用方法
字符与字符串: 1.将字符数组变为字符串(构造方法) public String(char[] value) Allocates a new String so that it represents ...
- JAVA基础学习之路(八)[1]String类的基本特点
String类的两种定义方式: 直接赋值 通过构造方法赋值 //直接赋值 public class test2 { public static void main(String args[]) { S ...
- JAVA基础学习之路(三)类定义及构造方法
类的定义及使用 一,类的定义 class Book {//定义一个类 int price;//定义一个属性 int num; public static int getMonney(int price ...
- Java基础学习之“二维数组”
一.鄙人对二维数组的理解 二维数组就是由多个数组并列而成 二.举例 1.普通数组(一维数组)的图像格式 2.二维数组的图像格式 代码 1 @Test 2 public void xueXi(){ 3 ...
随机推荐
- iOS数据存储类型 及 堆(heap)和栈(stack)
iOS数据存储类型 及 堆(heap)和栈(stack) 一般认为在c中分为这几个存储区: 1栈 -- 由编译器自动分配释放. 2堆 -- 一般由程序员分配释放,若程序员不释放,程序结束时可能由O ...
- NopCommerce 3.4省市联动
做法有两种,一种是在StateProvince表里面加个字段,另一种是新建两个表,用来存市.县的数据,表结构完全按照StateProvince走就好了.我这里用的是第二种做法,菜鸟一枚,代码写的比较烂 ...
- Vue01 vue基础、mvvm、ES6z知识点、计算属性、生命周期
Vue案例: <body> <div id="app"> <!--第一部分--> <fieldset> <legend> ...
- Unity 游戏框架搭建 (二十三) 重构小工具 Platform
在日常开发中,我们经常遇到或者写出这样的代码 var sTrAngeNamingVariable = "a variable"; #if UNITY_IOS || UNITY_AN ...
- 关于ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法
转 关于ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法 2016年03月31日 10:14:59 阅读数:1 ...
- Tesseract-OCR 自动生成识别库的批处理
用Tesseract-OCR做识别库的时候,生成字典非常麻烦,就写了一个批处理,用来生成字典还是蛮方便的,希望大家有用,该批处理已经自动生成font_properties文件,各位无需手动创建 下载地 ...
- Django学习笔记1
重点在注释# 1.views.py from django.shortcuts import render from django.http import * #from django.templat ...
- Hbase过滤器
Hbase过滤器简介 HBase的基本API,包括增.删.改.查等,增.删都是相对简单的操作,与传统的RDBMS相比,这里的查询操作略显苍白,只能根据特性的行键进行查询(Get)或者根据行键的范围来查 ...
- 网站用户行为分析——Linux的安装
Linux的选择 在Linux系统各个发行版中,CentOS系统和Ubuntu系统在服务端和桌面端使用占比最高,网络上资料最是齐全,所以建议使用CentOS系统或Ubuntu. 一般来说,如果要做服务 ...
- 基于OMAPL138的字符驱动_GPIO驱动AD9833(三)之中断申请IRQ
基于OMAPL138的字符驱动_GPIO驱动AD9833(三)之中断申请IRQ 0. 导语 学习进入到了下一个阶段,还是以AD9833为例,这次学习是向设备申请中断,实现触发,在未来很多场景,比如做用 ...