java 静态数组_java(四)创建静态数组
一、静态数组要分配内存空间
语法:type[] ary = new type[number];
int[] ary; 声明数组是什么类型;内存空间为5的数组;
ary=new int[5];
用法:
public class XueArray {
// 执行程序
public static void main(String[] args) {
int[] arrInt = new int[5]; // 数组长度为5
byte[] arrByte = new byte[5];
String[] arrString = new String[5];
double[] arrDouble = new double[5];
System.out.println("arrDouble[0] = " + arrDouble[0]); // 0.0
System.out.println("arrInt[0] = " + arrInt[0]); // 0
System.out.println("arrString[0] = " + arrString[0]); // null
System.out.println("arrByte[0] = " + arrByte[0]); // 0
}
}
第一种
int[] ary ={1,2,3,4} ;
// Arrays.toString(ary) 转化可打印的数组
System.out.println(Arrays.toString(ary)); // 输出 [1,2,3,4]
第二种
int[] ary = new int[]{1,2,3,4};
System.out.println(Arrays.toString(ary)); // 输出 [1,2,3,4]
三、创建一个二维数组
int[][] erAry = new int[][]{{1, 2}, {3, 4}}; // [[1,2],[3,4]]
四、数组常见操作方法(Arrays)
控制台打印一维数组(Arrays.toString(ary))
int[] ary={1,2,3,4};
System.out.println("ary = " + Arrays.toString(ary));
数组拷贝:(System.arraycopy(ary1,index,ary2,index,length))
System.arraycopy() 新数组和旧数组地址不一样
ary2=ary1 新数组和就数组地址一样
{
int[] ary = {1, 2, 3, 4};
int[] ary2 = new int[4];
int[] ary3 = new int[4];
ary3 = ary; // ary3根arr是同一个地址
System.arraycopy(ary, 0, ary2, 0, 4);
ary[0] = 10;
System.out.println("ary2 = " + Arrays.toString(ary2)); // [1,2,3,4]
System.out.println("ary3 = " + Arrays.toString(ary3)); // [10,2,3,4]
System.out.println("ary = " + Arrays.toString(ary)); // [10,2,3,4]
}
遍历数组
for循环
forEach
int[] ary = {1, 2, 3, 4, 5, 6};
for (int i = 0; i < ary.length; i++) {
System.out.println("item = " + ary[i]);
}
for (int item : ary) {
System.out.println("item = " + item);
}
替换元素(Arrays.fill())
替换所有元素
public static void main(String[] args) {
int[] ary = {1, 2, 3, 4, 5, 6};
Arrays.fill(ary,9);
System.out.println("aryAry = " + Arrays.toString(ary)); // [9,9,9,9,9,9]
}
替换单独元素
public static void main(String[] args) {
int[] ary = {1, 2, 3, 4, 5, 6};
Arrays.fill(ary,2,3,9);
System.out.println("aryAry = " + Arrays.toString(ary)); // [1,2,9,4,5,6]
}
数组排序(Arrays.sort(ary))
字符串是按字典来排序;
数字是按从小到大排序
复制数组 (Arrays.copyOf(ary,length))
复制新的数组不是同一个地址
// 执行程序
public static void main(String[] args) {
int[] ary = {1, 2, 3, 4, 5, 6};
int[] ary1 = Arrays.copyOf(ary, 3);
ary[0]=100;
System.out.println("ary1 = " +Arrays.toString(ary1) ); // [1,2,3]
}
五、基本算法
冒泡算法
原理:冒泡排序也是一种交换排序算法。冒泡排序的过程,是把数组元素中较小的看作是“较 轻”的,对它进行“上浮”操作。从底部开始,反复地对数组进行“上浮”操作 n 次,最后 得到有序数组。
public void sort(int[] ary) {
int index;
for (int i = 1; i < ary.length; i++) {
// 先拿出第一项出来
index = 0;
// 判断是否最大值
for (int j = 1; j <= ary.length - i; j++) {
// 如果匹配到最大值把index索引替换了
if (ary[j] > ary[index]) {
index = j;
}
}
int temp = ary[ary.length - i]; // 拿出来最后一项存起来
ary[ary.length - i] = ary[index]; // 最后一项赋值最大的的值
ary[index] = temp; // 最大项的位置给最后一项
}
System.out.println("ary = " + Arrays.toString(ary));
}
数组反转
思路:最后一个和第一个换位置,第二个和倒数第二个,所以循坏长度为总长度的一半
public void reverse(int[] ary) {
int len = ary.length;
for (int i = 0; i < len / 2; i++) {
int temp = ary[i]; // 第一项存起来
ary[i] = ary[len - 1 - i]; // 第一项等于最后一项
ary[len - 1 - i] = temp; // 最后一项等于第一项
}
}
java 静态数组_java(四)创建静态数组相关推荐
- java正确定义一维数组_java一维数组定义,创建一维数组详解
前面给大家介绍了一下什么是java数组,下面要接着给大家介绍的就是java一维数组定的定义以及创建一维数组方面的知识. 数组当中的每个元素都只带有一个下标的时候,这样的数组就是一维数组,一维数组实质上 ...
- java input 数组_Java基础之:数组
Java基础之:数组 一组相同数据类型的数据,我们即称之为 数组,数组也是一种数据类型. 需要注意的是 , 数组和String 字符串 相同,也是引用类型的. 数组的初始化 方式一:动态初始化 四种格 ...
- java大括号定义数组_Java基础语法_数组
数组的概念 数组的概念:是一种容器,可以同时存放多个数据值 数组的特点: 1.数组是一种引用数据类型 2.数组当中的多个数据,类型必须统一 3.数组的长幅在程序运行期间不可改变 数组的定义格式 数组的 ...
- java scanner输入数组_java基础- scanner/方法/数组
1.用户交互scanner Next() public class demo1 { public static void main(String[] args) { //创建一个scanner对象 S ...
- java工厂模式静态工厂_Java设计模式之静态工厂模式详解
本文实例讲述了Java设计模式之静态工厂模式.分享给大家供大家参考,具体如下: 静态工厂模式(static factory)也叫简单工厂模式. 涉及到3个角色:工厂类角色,抽象产品类角色和具体产品类角 ...
- Java学习笔记(四):数组操作
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://mp.csdn.net/mdeditor/100728414 目录 ...
- java怎么定义一维数组_Java定义一个一维数组有哪几种方法
展开全部 首先: 一维62616964757a686964616fe59b9ee7ad9431333366306432数组的声明 ; 代码如下int[] ary1; //Java推荐的数组声明方式 i ...
- java反转数组_Java中如何将数组反转?Java数组反转的2种方法(代码示例)
数组操作Java数组如何反转输出?下面本篇文章就给大家介绍2种在java中实现数组反转的简单方法.有一定的参考价值,希望对大家有所帮助.[视频教程推荐:java教程] 方法一:使用循环,交换数组中元素 ...
- arrays中copyof复制两个数组_Java教程分享之数组知识梳理
Java是一门面向对象编程语言,具有简单易用.功能强大的特征.数组是同类型数据的有序集合,在Java中是引用数据类型,引用数据类型值都存储在堆中.有很多新手初学Java数组觉得难度大,接下来就给大家简 ...
最新文章
- 《中国新说唱》怎么就把小众文化唱凉了
- Mac下批量删除.svn文件
- 使用eclipse svn塔建(配置)时的一点点心得
- java---sychronized的深入理解
- android实现通知栏搜索功能,actionBar+SearchView实现搜索功能
- Android下pm命令详解
- Hdoj 1064 Financial Management
- java socket 组包_关于socket 分包和组包
- animation停留_animation控制动画暂停/播放
- IoU,GIoU,DIoU、CIoU详解
- jquery delay_jQuery delay()函数
- Android系统充电指示灯无响应
- 使用Kronecker积计算手眼标定矩阵AX=XB
- Visio中输入特殊符号和带下标的符号
- HTML5吃豆豆游戏开发实战(一)使用Canvas绘制游戏主角
- linux下僵尸进程(<defunct>进程)的产生与避免
- 织梦CMS如何搬家并成功连接数据库
- 计算并输出最高分及其学生学号
- 如何让中文转换成其拼音首字母大写
- MySQL数据库(操作命令)
热门文章
- Mac技巧:如何在拥挤的桌面上拖动文件
- php日历天气预报下载安装手机桌面_日历天气预报下载安装
- 无线射频设计方向简略
- php获取主板序列号,PHP获取通过windows系统命令wmic获取MAC地址、CPU序列号、主板序列号...
- vc编写魔兽争霸显血程序
- java基于SpringBoot+Vue的大学生体质健康测试管理系统 element
- C++单元测试工具 ECUT
- 各类数字调制系统仿真与误码率分析
- rs232读取智能电表_通过佰马智能网关搭建智慧灯杆系统
- python生成静态html_python – 从XML内容生成静态HTML站点