import java.io.*;

public class _07_Array {
public static void main(String[] args) {
// 1 定义数组
System.out.println("1 定义数组");
int[] arr1;
arr1 = new int[5];
// 给数组赋值
arr1[0] = 81;
arr1[1] = 88;
arr1[2] = 25;
arr1[3] = 66;
arr1[4] = 77;
// 打印数组中的元素
for (int i = 0; i < 5; i++) {
System.out.println("arr1[" + i + "] = " + arr1[i]);
}
// 2 不能超范围访问
// arr1[10]=32;//错误
// 3 自定义数组长度
System.out.println("3 自定义数组长度");
System.out.println("请输入数组长度");
int arr2len = 0;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
String str = br.readLine();
arr2len = Integer.parseInt(str);
} catch (Exception e) {
// TODO: handle exception
}
int[] arr2 = new int[arr2len];
System.out.println("新建数组,长度为" + arr2.length);
// 4 数组变量的赋值
System.out.println("4 数组变量的赋值");
int[] test1 = arr1;// test1和test2指向同一片内存空间
int[] test2 = arr1;
for (int i = 0; i < 5; i++) {
System.out.print("test1[" + i + "] = " + test1[i]);
System.out.println(" test2[" + i + "] = " + test2[i]);
}
// 5 数组初始化,排序
System.out.println("5 数组初始化,排序");
int[] arr3 = { 1, 2, 3, 4, 5 };
System.out.print("arr3 = ");
for (int i = 0; i < arr3.length; i++) {
System.out.print(arr3[i] + " ");
}
System.out.println("");
// 选择排序
for (int i = 0; i < arr3.length - 1; i++) {
int maxlow = i;
for (int j = i + 1; j < arr3.length; j++) {
if (arr3[j] > arr3[maxlow]) {
maxlow = j;
}
}
int temp = arr3[i];
arr3[i] = arr3[maxlow];
arr3[maxlow] = temp;
}
System.out.print("arr3 = ");
for (int i = 0; i < arr3.length; i++) {
System.out.print(arr3[i] + " ");
}
System.out.println("");
// 6 多维数组
System.out.println("6 多维数组");
int[][] arr4;
System.out.println("arr4=");
arr4 = new int[10][10];
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
arr4[i][j] = (i + 1) * (j + 1);
}
}
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.print(arr4[i][j] + "\t");
}
System.out.println("");
}
System.out.println("变长数组 arr5=");
int[][] arr5 = { { 2, 4, 5, }, { 9, 9, 999, 545, 65 }, { 1 } };
for (int i = 0; i < arr5.length; i++) {
for (int j = 0; j < arr5[i].length; j++) {
System.out.print(arr5[i][j] + "\t");
}
System.out.println("");
}
}
}

参考:

Easy Java (第7版) (日)高桥麻奈

【Java-01-3】java基础-基本语法(3)(数组,多维数组)的更多相关文章

  1. Java基本语法-----java数组(一维数组二维数组)

    嘿嘿!你们懂的,又是图片,委屈大家了. java数组(一维数组二维数组) [正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!下面有个"顶"字,你就 ...

  2. Python 迭代器&生成器,装饰器,递归,算法基础:二分查找、二维数组转换,正则表达式,作业:计算器开发

    本节大纲 迭代器&生成器 装饰器  基本装饰器 多参数装饰器 递归 算法基础:二分查找.二维数组转换 正则表达式 常用模块学习 作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - ...

  3. IT兄弟连 Java语法教程 数组 多维数组 二维数组的初始化

    二维数组的初始化与一位数组初始化类似,同样可以使用静态初始化或动态初始化. 1)静态初始化 静态初始化的格式如下: 数组名字 = new 数组元素的类型[][]{new 数组元素的类型[]{元素1,元 ...

  4. IT兄弟连 Java语法教程 数组 多维数组 二维数组的声明

    Java语言里提供了支持多维数组的语法.但是这里还想说,从数组底层的运行机制上来看是没有多维数组的. Java语言里的数组类型是引用类型,因此数组变量其实是一个引用,这个引用指向真实的数组内存,数组元 ...

  5. java 获取数组(二维数组)长度实例程序

    我们可能知道 js有个length函数,java也有啊length函数 例 如果数组是data[],则data.length 代码如下 复制代码 byte[] phone =new byte[81]; ...

  6. Java自学-数组 二维数组

    Java 如何使用二维数组 这是一个一维数组, 里面的每一个元素,都是一个基本类型int int a[] =new int[]{1,2,3,4,5}; 这是一个二维数组,里面的每一个元素,都是一个一维 ...

  7. Java 一维数组 二维数组 三维数组

    二维数组包含一位数组  三维数组就是在二维数组的基础上,再加一层.把二维数组看做是一维数组就可以了,按照上述理解类推.   下面是 一维 二维 三维数组例子   一维数组: int[] array1 ...

  8. 从零开始学JAVA(01)-JAVA开发环境安装

    写在前面: 本人没有JAVA基础(包括语法.开发环境),未使用开发工具开发过程序,如果有不对或误导的地方,欢迎指正. 本系列所有文章使用Eclipse,JDK是Version 7 Update 51, ...

  9. 《Java基础知识》一维,二维数组的申明和使用

    为什么要使用数组: 因为不使用数组计算多个变量的时候太繁琐,不利于数据的处理. --------   数组也是一个变量,是存储一组相同类型的变量 声明一个变量就是在内存中划出一块合适的空间 声明一个数 ...

  10. Java基础系列(39)- 二维数组

    多维数组 多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组. 二维数组 int a[][]=new int[2][5]; 解析:以上二维数组a可以看成一个 ...

随机推荐

  1. Windows搭建Git服务器

    Windows如何搭建Git服务器 1.安装java环境 (1)下载安装java 注意(java的版本需要在1.7及以上) (2)配置java的环境变量 (3)检验java环境是否安装成功 2.下载安 ...

  2. python之路40 前端之 CSS 标签查询

    表单标签的补充说明 基于form表单发送数据 1.用于获取用户数据的标签至少应该含有name属性 name属性相当于字典的键 用户输入的数据会被保存到标签的value属性中 value属性相当于字典的 ...

  3. 简述HashSet的扩容机制以及我们在重写equals()的时候为何会重写hashcode()

    简述HashSet的扩容机制以及我们在重写equals()的时候为何会重写hashcode()   摘要:在背面试知识点的时候存在这样一条著名的面试题:我们重写equals()的时候为什么要重写has ...

  4. 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境

    目录 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 以下介绍PY32F0系列在 ...

  5. Flutter帧率监控 | 由浅入深,详解获取帧率的那些事

    前言 做线上帧率监控上报时,少不了需要弄明白如何通过代码获取实时帧率的需求,这篇文章通过图解配合Flutter性能调试工具的方式一步步通俗易懂地让你明白获取帧率的基础知识,以后再也不愁看不懂调试工具上 ...

  6. C語言成績分析系統

    C語言成績分析系統,可以實現七個功能.(使用的編譯器是 code::blocks) 主要實現對於學生信息的輸入 顯示輸入學生的信息 根據期末成績來進行排名. 查找某個學生的信息 刪除某個學生的信息 修 ...

  7. npm 启动项目报错 Cannot find module '\@babel\compat-data\data\corejs3-shipped-proposals',解决办法

    最近升级了系统的node ,webpack 等等,然后今天打开项目,突然启动不起来了~~ 报错信息如下: Module build failed (from ./node_modules/babel- ...

  8. 【高并发】AQS中的CountDownLatch、Semaphore与CyclicBarrier用法总结

    CountDownLatch 概述 同步辅助类,通过它可以阻塞当前线程.也就是说,能够实现一个线程或者多个线程一直等待,直到其他线程执行的操作完成.使用一个给定的计数器进行初始化,该计数器的操作是原子 ...

  9. do-while循环-练习_用循环求出1-100之间的耦合数

    do-while循环 do..while循环格式 初始化表达式① do{ 循环体③ 步进表达式④ }while(布尔表达式②); 执行流程 执行顺序:①③④>②③④>②③④-②不满足为止. ...

  10. final关键字用于修饰局部变量-final关键字用于修饰成员变量

    final关键字用于修饰局部变量 局部变量--引用类型 引用类型的局部变量,被final修饰后,只能指向一个对象,地址不能再更改.但是不影响对象内部的成员变量值的 修改,代码如下: public cl ...