栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 学习第二阶段

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 学习第二阶段

数组及其练习题:

一维数组:
// 1. 静态初始化
int arr[] = new int[]{1001, 1002, 1003, 1004}

// 2. 动态初始化
String[] arr = new String[5];

// 3. 数组元素默认初始值
整型: 0
浮点型: 0.0
char型: '0'
boolean型: false
String: null

二维数组:
// 1. 静态初始化
int[][] arr = new int[][]{{1,2,3},{4,5},{6,7,8}}; 
// 也可以写成int[] arr[] = new int[][]{{1,2,3},{4,5},{6,7,8}};
// 也可以写成int[] arr[] = {{1,2,3},{4,5},{6,7,8}};

// 2. 动态初始化1
String[][] arr = new String[3][2];
// 动态初始化2
String[][] arr = new String[3][];

// 备注:
int[][] arr = new int[4][5];
arr // 输出[[I@4554617c 二维
arr[1]称为外层元素 // 输出为地址值如: [I@4554617c 一维
arr[1][1]称为内层元素 // 0

int[][] arr = new int[4][];
arr[1]称为外层元素 // 输出null
arr[1][1]称为内层元素 // 报错,空指针异常


// 杨辉三角
int[][] yangHui = new int[10][];

for (int i = 0; i < yangHui.length; i++) {
    yangHui[i] = new int[i + 1];
    yangHui[i][0] = yangHui[i][i] = 1;
    
    if (i > 1) {
        for (int j = 1; j < yangHui[i].length - 1; j++) {
            yangHui[i][j] = yangHui[i - 1][j] + yangHui[i - 1][j - 1];
        }
    }
}

for (int i = 0; i < yangHui.length; i++) {
    for (int j = 0; j < yangHui[i].length; j++) {
        System.out.print(yangHui[i][j] + " ");
    }
    System.out.println();
}

// 创建一个长度为6的int型数组,要求取值为1-31,同时元素值各不相同
// 方式一
int[] arr = new int[6];
for (int i = 0; i < arr.length; i++) { // [0, 1) [0, 30) [1, 31)
    arr[i] = (int)(Math.random() * 30 + 1) + 1;
    
    while (true) {
        boolean flag = false;
        for (int j = 0; j < i; j++) {
            if (arr[i] == arr[j]) {
                flag = true;
                break;
            }
        }
        if (flag) {
            arr[i] = (int)(Math.random() * 30 + 1) + 1;
            flag = false;
            continue;
        }
        break;
    }
}

for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}

// 方式二
int[] arr = new int[6];
for (int i = 0; i < arr.length; i++) {
    arr[i] = (int)(Math.random() * 30 + 1) + 1;
    for (int j = 0; j < i; j++) {
        if (arr[i] == arr[j]) {
            i--;
            break;
        }
    }
}

for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987856.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号