一维数组

 //静态初始化一个数组,不能指定数组长度
int[] arr1=new int[]{1,2,3,4,5};
//可简写为 int[] arr1={1,2,3,4,5}; //动态初始化一个数组,先指定数组长度,以后再逐个赋值
int[] arr2=new int[5];
arr2[0]=1; //也可以先声明,再初始化
//int[] arr3;
//arr3=....... //数组长度
System.out.println("数组arr1的长度:"+arr1.length); /*
foreach循环可以遍历数组、集合,但只能访问元素的值,不能修改。
数组的元素类型必须相同,集合的元素类型可以不同
临时变量表示当前元素
*/
for(int i:arr1){
System.out.println(i);
}

二维数组

        //每行的元素个数可不同

        //静态初始化一个二维数组,每行都是一个一维数组
int[][] arr1=new int[][]{
{1,2},
{1,2,3},
{1,2,3,4,5}
}; //动态初始化一个二维数组,只需指定行数,列数可缺省,也可写上,以后再逐个元素赋值
int[][] arr2=new int[3][]; //同样可以先声明,再初始化
//int[][] arr3;
//arr3=.....

JDK8自带的Arrays类

JDK8自带的Arrays类,提供了大量操作数组的方法,包括索引、排序、比较、赋值、复制等,均为静态方法。
以parallel开头的方法和缺少此前缀的方法效果完全相同,只是parallel开头的方法利用CPU的并行提高了效率,速度更快
View -> Quick Documentation 查看方法说明的快捷键,IDEA为Ctrl+Q

        int[] arr1={1,3,2,5,4};

        //复制
int[] arr2=Arrays.copyOf(arr1,arr1.length); //二分搜索,第二个参数是要搜索的值,返回的索引可能是负数——倒着搜索
System.out.println(Arrays.binarySearch(arr1,2)); //排序
Arrays.sort(arr1);
for(int i:arr1){
System.out.print(i+" ");
} System.out.println(); //并行排序
Arrays.parallelSort(arr2);
for(int i:arr2){
System.out.print(i+" ");
} System.out.println();

数组实例——将阿拉伯数字转换为最大写

将阿拉伯数字转换为最大写,比如1234转换为壹仟贰佰叁拾肆。

 package my_package;

 public class Transform {
private String[] arr1={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
private String[] arr2={"拾","佰","仟","万"}; public static void main(String[] args) {
Transform t=new Transform();
System.out.println(t.transform(12345));
} public StringBuffer transform(int num){
String str=Integer.toString(num);
int length=str.length();
StringBuffer result=new StringBuffer();
//遍历字符串的每一个字符
for(int i=0;i<length;i++){
//char型数值-相应的阿拉伯数字=48,ASCII码值相差48。比如'3'-3=48
int n=str.charAt(i)-48;
//刚好是对应的
result.append(arr1[n]); //不是最后一位,且不为0,就加单位
if(i!=length-1 && n!=0){
result.append(arr2[length-i-2]);
} }
return result;
} }

以上代码只能实现 万 及以下 的转换。


数组实例——实现棋盘落子

五子棋、连连看、俄罗斯方块、扫雷等常见小游戏,都可以通过二维数组实现。

棋盘落子效果图:

源码:

package my_package;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader; public class Gobang {
//定义棋盘大小为15*15
private static int BOARD_SIZE=15;
//定义一个二维数组来充当棋盘
private static String[][] board; //初始化棋盘数组
public void initBoard(){
board=new String[BOARD_SIZE][BOARD_SIZE];
//把每个元素赋为“十”
for(int i=0;i<15;i++){
for(int j=0;j<15;j++){
board[i][j]="十";
}
}
} //在控制台打印棋盘
public void printBoard(){
for(int i=0;i<15;i++){
for(int j=0;j<15;j++){
System.out.print(board[i][j]);
}
//打印完一行后换行
System.out.print("\n");
}
} public static void main(String[] args) throws IOException {
Gobang gb=new Gobang();
gb.initBoard();
gb.printBoard(); //接收控制台输入棋盘坐标
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=null;
System.out.println("请输入落子点的坐标:");
while((str=br.readLine()) != null){
String[] arr=str.split(",");
int x=Integer.parseInt(arr[0]);
int y=Integer.parseInt(arr[1]); //需要先判断该点是否已有子,若已有子,则不能再落子。此处省略 board[x-1][y-1]="●";
//刷新
gb.printBoard();; //每次落子后需判断输赢,进行4次循环扫描,横、竖、左斜、右斜,看是否有5子连着,没有就接着下。此处省略 System.out.println("请输入落子点的坐标:");
}
} }

Java 数组实例——将阿拉伯数字转换为最大写的更多相关文章

  1. Java 阿拉伯数字转换为中文大写数字

    Java 阿拉伯数字转换为中文大写数字 /** * <html> * <body> * <P> Copyright 1994 JsonInternational&l ...

  2. JAVA 数组实例-求学生平均成绩,与计算数组的长度

    实例: 知识点:数组名.length是计算数组的长度 import java.util.*; //求学生平均分成绩 public class Test{ public static void main ...

  3. JAVA 数组实例-求学生成绩的最大成绩,获取数组中的最大值、最小值

    实例: import java.util.*; //求学生最大成绩 public class Test{ public static void main(String[] args){ System. ...

  4. Java 数组实例——实现棋盘落子

    五子棋.连连看.俄罗斯方块.扫雷等常见小游戏,都可以通过二维数组实现. 棋盘落子效果图: 源码: package my_package; import java.io.BufferedReader; ...

  5. 把Java数组转换为List时的注意事项

    本文由 ImportNew - 飘扬叶 翻译自 mlangc.欢迎加入翻译小组.转载请见文末要求. 不幸的是并不是每件事都尽如人意.举个例子,现在将一个Java数组转换为List.当然,我们可以使用A ...

  6. 对java数组的一些理解

    刚开始学习Java的时候一直搞不清除获取数组的长度是用length()还是length,现在不妨来深入了解一下数组的真实面目. 我们不妨来看一下数组的源码,诶,数组的类名叫什么?我们声明一个int数组 ...

  7. Java - 数组解析

    java提高篇(十八)-----数组之一:认识JAVA数组 一.什么是数组 数组?什么是数组?在我印象中的数组是应该这样的:通过new关键字创建并组装他们,通过使用整形索引值访问它的元素,并且它的尺寸 ...

  8. Java 数组

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...

  9. 第5章 Java数组

    1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...

随机推荐

  1. [RN] React Native Image 实现placeholder占位图

    React Native Image 实现placeholder占位图 react-native Image没有placeholder这样的props,但是业务有需要这种场景, 解决方法为: 使用Im ...

  2. [考试]NOIP2015模拟题2

    // 此博文为迁移而来,写于2015年7月22日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102w72i.html 1.总 ...

  3. 第03组 Beta冲刺(4/4)

    队名:不等式方程组 组长博客 作业博客 团队项目进度 组员一:张逸杰(组长) 过去两天完成的任务: 文字/口头描述: 制定了初步的项目计划,并开始学习一些推荐.搜索类算法 GitHub签入纪录: 暂无 ...

  4. TCP四次挥手客户端关闭链接为什么要等待2倍MSL

    最长报文寿命 在TCP协议中,当发送方发送释放连接报文收到确认报文后,只是在一个方向上断开了TCP连接,然后,接收方发送释放连接的报文,发送方回复确认.此时,连接还没有释放,发送方要等待2MSL(ma ...

  5. webpack的一些坑

    最近自己着手做一个小的Demo需要webpack,目前版本号是4.41.2,想使用的版本是3.6.0,因3x版本和4x版本很多地方不同,所以在安装过程中也是很多坎坷,下面是遇到的一些坑,和一些解决办法 ...

  6. Spring Boot 2.2.2 发布,新增 2 个新特性!

    Spring Boot 2.2.2 发布咯! Spring Boot 2.2.1 发布,一个有点坑的版本! 2.2.1 发布没过一个月,2.2.2 就来了. Maven依赖给大家奉上: <dep ...

  7. 【C/C++开发】emplace_back() 和 push_back 的区别

    在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)的时候,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放 ...

  8. losetup命令使用

    1.losetup命令 Linux系统losetup命令用来设置循坏设备,循坏设备可以把文件虚拟成块设备,借此来模拟整个文件系统,让用户得以将其视为硬盘驱动器,光驱等设备,并挂入当作目录来使用. (1 ...

  9. FEL表达式的用法

    Fel是开放的,引擎执行中的多个模块都可以扩展或替换.Fel的执行主要是通过函数实现,运算符(+.-等都是Fel函数),所有这些函数都是可以替换的,扩展函数也非常简单. Fel有双引擎,同时支持解释执 ...

  10. Scala2.12 从入门到精通实战高端视频课程(含网盘下载地址)

    Scala快速入门到精通 下载地址链接:https://pan.baidu.com/s/1bTSZSlWftFYaLQL6lVH62A 提取码:ohfk 下载后使用视频中自带的专用播放器打开视频就能看 ...