一维数组

 //静态初始化一个数组,不能指定数组长度
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. Anaconda3(0)环境基本使用

    https://blog.csdn.net/u012005313/article/details/82347817 主要内容: 查看环境列表 创建新的 Python 环境 激活/停止 Python 环 ...

  2. 模拟赛T2 线段树优化建图+tarjan+拓扑排序

    然而这只是 70pts 的部分分,考场上没想到满分怎么做(现在也不会) code: #include <cstdio> #include <string> #include & ...

  3. UNIX网络编程卷1 - >环境搭建(ubuntu16.04)

      学习unp网络编程,树上的例子均存在#include“unp.h”,故需要对环境进行配置. 1.到资源页下载www.unpbook.com 2.解压并将unpv13e移动到相应的文件夹下 (因为我 ...

  4. 设置 npm 源为淘宝镜像

    淘宝 npm 网址 https://npm.taobao.org/ 修改 npm config set registry http://registry.npm.taobao.org/ 还原 npm ...

  5. QAbstractItemModel详细剖析 …&&... QAbstractTableModel

    从函数开始: QModelIndex QAbstractTableModel::sibling(int row, int column,  QModelIndex &idx) const;  ...

  6. Yarn和Zookeeper的区别

    Yarn:分布式资源管理器 Zookeeper:分布式协作服务 Zookeeper是一个分布式协调服务(Coordination),一个leader,多个follower组成的集群,就是为用户的分布式 ...

  7. Rancher 构建 CI/CD 自动化流程 - 动态配置 Jenkins-slave(一)

    一.说明 1)需求: Rancher 上部署 Jenkins-master,服务采用 Jenkins-slave 发布,发布完成后 Jenkins-slave 自动销毁. 2)环境: Rancher ...

  8. 管道通信——FIFO的代码实现

    一.用到的函数 umask         linux中的 umask 函数主要用于:在创建新文件或目录时 屏蔽掉新文件或目录不应有的访问允许权限.         文件的访问允许权限共有9种,分别是 ...

  9. Unsafe API介绍及其使用

      废话 个人理解:java 出现的原因之一,就是对内存的管理:在c/c++,内存可以随心使用,超高的性能也伴有极高的风险:java极大的规避了这种风险,却也降低了程序运行的性能:那么java是否提供 ...

  10. 消除VS中动态申请二维数组C6011,C6385,C6386的警告

    动态申请二维数组,无非就是通过指针来实现.@wowpH 过程分三步:1.申请内存,2.使用数组,3.释放内存. 代码如下: /************************************* ...