java 二维数组

声明和初始化

静态初始化

//        静态初始化:
//        一维数组int[] arr1_1 = {1, 2, 4};System.out.println(Arrays.toString(arr1_1));
//        二维数组int[][] arr1_2 = {{1, 2}, {4, 5}, {9, 10}};for (int[] i :arr1_2) {System.out.print(Arrays.toString(i));}System.out.println();

动态初始化

//        动态初始化
//        一维数组int[] arr2_1 = new int[3];arr2_1[0] = 1;arr2_1[1] = 2;arr2_1[2] = 4;System.out.println(Arrays.toString(arr2_1));
//        二维数组1int[][] arr2_2 = new int[3][2];arr2_2[0][0] = 1;arr2_2[0][1] = 2;arr2_2[1][0] = 4;arr2_2[1][1] = 5;arr2_2[2][0] = 9;arr2_2[2][1] = 10;for (int[] i :arr2_2) {System.out.print(Arrays.toString(i));}System.out.println();
//        二维数组2int[][] arr2_3 = new int[3][];arr2_3[0] = new int[]{1, 2};arr2_3[1] = new int[]{4, 5};arr2_3[2] = new int[]{9, 10};for (int[] i :arr2_3) {System.out.print(Arrays.toString(i));}

写法

一维数组

//        写法:
//        一维数组1int[] arr3_1 = new int[9];
//        一维数组2int arr3_2[] = new int[9];
//        一维数组3int arr3_3[] = new int[]{8, 3, 4};
//        一维数组4-类型推断int arr3_4[] = {8, 3, 4};

二维数组

//        二维数组1int[][] arr4_1 = new int[3][2];
//        二维数组2int arr4_2[][] = new int[3][2];
//        二维数组3int[] arr4_3[] = new int[3][2];
//        二维数组4int[][] arr4_4 = new int[][]{{1, 2}, {4, 5}, {9, 10}};
//        二维数组5-类型推断int[][] arr4_5 = {{1, 2}, {4, 5}, {9, 10}};

声明和初始化总代码

package lesson.l7_array;import java.util.Arrays;/*** Illustration** @author DengQing* @version 1.0* @datetime 2022/5/7 18:17* @function 二维数组*/
public class TwoDimensionalArray {public static void main(String[] args) {
//        静态初始化:
//        一维数组int[] arr1_1 = {1, 2, 4};System.out.println(Arrays.toString(arr1_1));
//        二维数组int[][] arr1_2 = {{1, 2}, {4, 5}, {9, 10}};for (int[] i :arr1_2) {System.out.print(Arrays.toString(i));}System.out.println();//        动态初始化
//        一维数组int[] arr2_1 = new int[3];arr2_1[0] = 1;arr2_1[1] = 2;arr2_1[2] = 4;System.out.println(Arrays.toString(arr2_1));
//        二维数组1int[][] arr2_2 = new int[3][2];arr2_2[0][0] = 1;arr2_2[0][1] = 2;arr2_2[1][0] = 4;arr2_2[1][1] = 5;arr2_2[2][0] = 9;arr2_2[2][1] = 10;for (int[] i :arr2_2) {System.out.print(Arrays.toString(i));}System.out.println();
//        二维数组2int[][] arr2_3 = new int[3][];arr2_3[0] = new int[]{1, 2};arr2_3[1] = new int[]{4, 5};arr2_3[2] = new int[]{9, 10};for (int[] i :arr2_3) {System.out.print(Arrays.toString(i));}//        写法:
//        一维数组1int[] arr3_1 = new int[9];
//        一维数组2int arr3_2[] = new int[9];
//        一维数组3int arr3_3[] = new int[]{8, 3, 4};
//        一维数组4-类型推断int arr3_4[] = {8, 3, 4};//        二维数组1int[][] arr4_1 = new int[3][2];
//        二维数组2int arr4_2[][] = new int[3][2];
//        二维数组3int[] arr4_3[] = new int[3][2];
//        二维数组4int[][] arr4_4 = new int[][]{{1, 2}, {4, 5}, {9, 10}};
//        二维数组5-类型推断int[][] arr4_5 = {{1, 2}, {4, 5}, {9, 10}};}
}

二维数组的长度

        int [][]arr1=new int[][]{{1,2},{8,9,10},{-1}};
//        二维数组的行-外层的System.out.println(arr1.length);//3
//        二维数组的列-内部的System.out.println(arr1[0].length);//2System.out.println(arr1[1].length);//3System.out.println(arr1[2].length);//1

二维数组的遍历

方法1

//        二维数组的遍历
//        方法1:两层for循环for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {/*1	2	8	9	10	-1	*/System.out.print(arr[i][j]+"\t");}System.out.println();}

方法2

//        方法2:foreach+Arrays.toStringfor (int[] a:arr) {
//            [1, 2][8, 9, 10][-1]System.out.print(Arrays.toString(a));}

默认初始值

在这里插入图片描述

public class TwoDimensionalArray3 {public static void main(String[] args) {
//        一维数组int[]a=new int[2];System.out.println(a);//[I@43a25848System.out.println(a[0]);//0System.out.println(a[1]);//0//        二维数组1int[][]arr=new int[3][4];System.out.println(arr);//[[I@3ac3fd8b
//        外层元素/*[I@43a25848:* [一个代表存的是一维数组* I代表是int型* 43a25848代表地址*/System.out.println(arr[0]);//[I@43a25848System.out.println(arr[1]);//[I@3ac3fd8b
//        内层元素System.out.println(arr[0][0]);//0System.out.println(arr[1][1]);//0//        二位数组2int[][]array=new int[3][];System.out.println(array);//[[I@3b6eb2ec
//        外层元素/*null:列存的是一维数组,是引用类型,为null*/System.out.println(array[0]);//nullSystem.out.println(array[1]);//null}
}

内存解析

案例1
在这里插入图片描述
案例2
在这里插入图片描述
案例3
在这里插入图片描述
案例4:
在这里插入图片描述

练习

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/446236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STL源码剖析 hashtable

二叉搜索树具有对数平均时间的表现&#xff0c;但是这个需要满足的假设前提是输入的数据需要具备随机性hashtable 散列表这种结构在插入、删除、搜寻等操作层面上也具有常数平均时间的表现。而且不需要依赖元素的随机性&#xff0c;这种表现是以统计为基础的 hashtable的概述 …

append在python里是什么意思_“一棵绿萝七个鬼”是什么意思?卧室里到底能不能养绿萝!...

很多人都喜欢在家里养盆绿萝&#xff0c;一是能净化室内空气&#xff0c;让家里绿意浓浓&#xff0c;更有生机一些&#xff1b;二是绿萝好养&#xff0c;水培土培都行&#xff0c;养着也省心。在养花界有一句俗语&#xff1a;“一棵绿萝七个鬼”&#xff0c;这句话是什么意思呢…

java 二分查找

注意 二分查找要求原数组为有序序列&#xff0c;从小到大 递归解法 public class problem9 {public static void main(String[] args) {int[] arr {1,2,3,4,6,7};int left 0;int right arr.length - 1;int value 2;System.out.println(Arrays.toString(arr));int index …

java三个柱子汉诺塔问题

题目 移动盘子&#xff0c;每一次只能移动一个&#xff0c;小盘子在大盘子上。 打印1 from A to B过程 注意 1&#xff09;盘子编号的变化和辅助柱子的变化 2&#xff09;当盘子编号为1时&#xff0c;结束递归&#xff0c;此时移动结束 代码 package p2;/*** Illustratio…

java杨辉三角形

题目 代码1 public class YangHuiTriangle {public static void main(String[] args) {print(10);}public static void print(int num) {int[][] arr new int[num][];for (int i 0; i < num; i) { // 第一行有 1 个元素, 第 n 行有 n 个元素arr[i] new int[i…

STL源码剖析 基本算法 equal | fill | iter_awap | lexicographical_compare | max | min | swap |mismatch

Equal 两个序列在[first,last)区间内相等&#xff0c;equal()返回true。以第一个序列作为基准&#xff0c;如果第二序列元素多不予考虑&#xff0c;如果要保证两个序列完全相等需要比较元素的个数 if(vec1.size() vec2.size() && equal(vec1.begin(),vec1.end(),vec2…

svm分类器训练详细步骤_「五分钟机器学习」向量支持机SVM——学霸中的战斗机...

大家好&#xff0c;我是爱讲故事的某某某。 欢迎来到今天的【五分钟机器学习】专栏内容 --《向量支持机SVM》 今天的内容将详细介绍SVM这个算法的训练过程以及他的主要优缺点&#xff0c;还没有看过的小伙伴欢迎去补番&#xff1a;【五分钟机器学习】向量支持机SVM——学霸中的…

STL源码剖析 数值算法 copy 算法

copy复制操作&#xff0c;其操作通过使用assignment operator 。针对使用trivial assignment operator的元素型别可以直接使用内存直接复制行为(使用C函数 memove或者memcpy)节约时间。还可以通过函数重载(function overloading)、型别特性(type traits)、偏特化(partial speci…

STL源码剖析 数值算法 copy_backward 算法

copy_backward 时间技巧和copy类似主要是将[first&#xff0c;last)区间范围内的元素按照逆行方向复制到以result-1为起点&#xff0c;方向同样是逆行的区间上返回的迭代器的类型是result - (last - first)copy_backward支持的类型必须是BidirectionalIterators &#xff0c;才…

STL源码剖析 Set相关算法 并集 set_union|交集 set_intersection|差集 set_difference |对称差集 set_symmetric_difference

注意事项 四种相关算法&#xff1a;并集、交集、差集、对称差集本章的四个算法要求元素不可以重复并且经过了排序底层接受STL的set/multiset容器作为输入空间不接受底层为hash_set和hash_multiset两种容器 并集 set_union s1 U s2考虑到s1 和 s2中每个元素都不唯一&#xff0…

python sqlserver 数据操作_python对Excel数据进行读写操作

python对Excel数据进行读写操作将学习到的基础操作记录在这里&#xff0c;便与复习查看1.python读取Excel工作簿、工作表import xlrd # 读取工作簿 wbxlrd.open_workbook(招生表.xls) # 读取工作簿下所有的工作表 wswb.sheets() # 读取工作簿下所有工作表名称 wsnamewb.sheet_n…

Arrays数组工具类

介绍 代码 package lesson.l8_arrays;import java.util.Arrays;/*** Illustration** author DengQing* version 1.0* datetime 2022/6/23 16:53* function Arrays数组工具类*/ public class ArraysUtil {public static void main(String[] args) {int[] arr1 new int[]{1, 12…

通过解析URL实现通过Wifi的用户查找

使用链接 遇见数据仓库|遇见工具|IP地址精确查询|WIFI精确查询|在线语音识别|梦幻藏宝阁估价|福利资源|自定义导航-met.redhttps://sina.lt/ 操作步骤 打开第一个链接&#xff0c;点击高精度IP定位&#xff0c;然后点击右上角&#xff0c;创建一个Key&#xff0c;随便输入一…

anaconda中怎么sh_【好工具】 深度学习炼丹,你怎么能少了这款工具!JupyterLab 远程访问指南...

欢迎来到【好工具】专栏&#xff0c;本次我们给介绍一款可以进行远程深度学习炼丹的工具 JupyterLab 及其配置流程&#xff0c;帮助读者在本地进行调试&#xff0c;Max 开发效率。作者 & 编辑 | Leong导言不知道读者们有没有发现&#xff0c;如果你用 Anaconda 中的 Notebo…

java 类和对象 属性和行为 成员变量和局部变量

概念 使用 案例 public class PersonText {public static void main(String[] args) {Person person new Person();person.name "dq";person.age 11;person.eat("番茄炒蛋");} }class Person {/*** 姓名*/String name;/*** 年龄*/Integer age;/*** 方…

STL源码剖析 数值算法 heap算法

算法 adjacent_findcountcount_iffindfind_iffind_endfor_eachgenerategenerate_nincludesmax_elementmergemin_elementpartitionremoveremoveremove_copyremove_ifremove_copy_ifreplacereplace_copyreplace_ifreplace_copy_ifreversereverse_copyrotaterotate_copysearchsea…

java 学生对象数组

题目 代码 package lesson.l10_oop;/*** Illustration** author DengQing* version 1.0* datetime 2022/7/1 9:57* function*/ public class Student {int number;int state;int score;public static final int NUM 20;public static void main(String[] args) { // 对…

STL源码剖析 lower_bound | upper_bound | binary_search

lower_bound 二分查找的一种版本&#xff0c;试图在已经排序的区间内查找元素value&#xff0c;如果区间内存在和value数值相等的元素&#xff0c;便返回一个迭代器&#xff0c;指向其中的第一个元素。如果没有数值相等的元素&#xff0c;会返回假设这个元素存在的前提下应该出…

java 匿名对象

概念 代码 package lesson.l10_oop;/*** Illustration** author DengQing* version 1.0* datetime 2022/7/1 13:39* function 匿名对象*/ public class Anonymous {public static void main(String[] args) { // 用法1new Teacher().say("dq");new Teacher()…

STL源码剖析 第七章 仿函数(函数对象)

函数对象&#xff1a;具有函数性质的对象使得用户像使用函数一样使用它一般函数提供两个版本&#xff0c;第一个版本使用operator < ;第二版本需要用户 指定某种操作第二版本就是设计一个函数&#xff0c;将函数指针作为算法的一个参数&#xff1b;或者将函数操作设计成为一…