zoukankan      html  css  js  c++  java
  • java 7. 多维数组

    1. 定义/声明

    里面存储的类型[] 数组名字;

    int[][]	array;
    

    2. 初始化

    • 静态 ----有长度 有元素

      int[][]	array = {{1,2},{3,4,5,6},{7,8,9}};
      
    • 动态 ----只有长度 没有元素(默认)

      int[][]	array =new int[3][2]; //{{1,2},{3,4,5,6},{7,8,9}};
      

    3. 元素访问

    通过元素在数组中的位置 -- index

    public class TestArrMulti{
    	public static void main(String[] args){
    		int[][] arrMulti = new int[][]{{1,2},{3,4,5,6},{7,8,9}};
    		//访问
    		//int value = arrMulti[0][0];
    		//System.out.println(value);
    		//遍历
    		/*for(int i=0;i<arrMulti.length;i++){
    			//int[] arr = arrMulti[i];
    			for(int j=0;j<arrMulti[i].length;j++){
    				int value = arrMulti[i][j];
    				System.out.print(value+"	");
    			}
    			System.out.println();
    		}
    		*/
    		//增强for循环
    		for(int[] arr:arrMulti){
    			for(int value:arr){
    				System.out.print(value+"	");
    			}
    			System.out.println();
    		}
    	}
    }
    

    4. 遍历/轮询

    5. 引用类型(二维数组)在内存中的存储结构

    二维数组内存结构详解

    6. 练习题1

    • 模拟班级同学每周换位置
    import java.util.Scanner;
    
    public class ChangeGroup{
    	public static void main(String[] args){
    		int[][] array = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
    		Scanner input = new Scanner(System.in);
    		System.out.println("请输入周数,我来告诉你交换后的结果");
    		int week = input.nextInt();
    		for(int i=1;i<=week%4;i++){
    			int[] temp = array[0];
    			array[0] = array[1];
    			array[1] = array[2];
    			array[2] = array[3];
    			array[3] = temp;
    		}
    		for(int[] arr:array){
    			for(int value:arr){
    				System.out.print(value+"	");
    			}
    			System.out.println();
    		}
    	}
    }
    
    • 利用二维数组实现用户登录认证
    import java.util.Scanner;
    
    public class TwoDimensionArrToLogin{
    	public static void main(String[] args){
    		String[][] arr = new String[][]{{"张三","123"},{"李四","666"},{"java","888"}};
    		System.out.print("请输入账号:");
    		Scanner inputUser = new Scanner(System.in);
    		String user = inputUser.nextLine();
    		boolean flag = false;
    		for(int i=0;i<arr.length;i++){
    			//账号存在
    			if(arr[i][0].equals(user)){
    				System.out.print("请输入密码:");
    				Scanner inputPasswd = new Scanner(System.in);
    				String passwd = inputPasswd.nextLine();
    				//密码正确
    				if(arr[i][1].equals(passwd)){
    					System.out.print("登录成功!");
    					flag = true;
    				}//密码不正确
    				break;
    			}
    		}
    		//账号不存在
    		if(!flag){
    			System.out.print("用户名或者密码错误");
    		}
    	}
    }
    

    7. 知识点

    main方法
    public static void main(String[] args){
    
    }
    public 访问权限修饰符 公有的
    static 特征修饰符 静态的 有且只有一份
    void 方法执行完没有返回值 关键字
    main 方法名字 主要的
    主方法中的args参数 可否传递?
    1.主方法不是我们调用的,JVM虚拟机启动的时候,虚拟机调用的
    2.主方法里面有args参数,是一个String[]类型,我们是可以传递参数进去 给JVM
    
    public class SayMain{
    	public static void main(String[] args){
    		System.out.println(args.length);
    		for(String value:args){
    			System.out.println(value);
    		}
    	}
    }
    D:myprojectJavaProjectlearndemo
    $ java SayMain 5 123 abc 康平汆 好好学习 java
    6
    5
    123
    abc
    康平汆
    好好学习
    java
    

    附 三维数组

    int[][][] array = {{{1,2},{3,4}},{{},{}},{{},{}}};
    int[][][] array = new int[3][2][2];
    三个二维数组,每个二维数组里面有两个一维数组,每个一维数组里面有两个int元素
    
    更多学习笔记移步 https://www.cnblogs.com/kknote
  • 相关阅读:
    实验四 决策树算法及应用
    实验三 朴素贝叶斯算法及应用
    实验二 K-近邻算法及应用
    实验一 感知器及其应用
    实验三 面向对象分析与设计
    实验二 结构化分析与设计
    实验一 软件开发文档与工具的安装与使用
    个人作业三-ATM管理系统
    个人作业二-举例分析流程图与活动图的区别与联系
    个人作业-四则运算题目生成程序
  • 原文地址:https://www.cnblogs.com/kknote/p/12927450.html
Copyright © 2011-2022 走看看