JAVA+AI教程-第四天

一维数组-概述,静态初始化

数组是什么?

我们进行数据存储第一想法是什么?

是变量吗?用变量处理批量数据,会显得非常臃肿

如果我们让ai给我们解决它会给我们一种什么样的方案呢?

很显然,ai给了我们一个全新的方案,利用数组存储数据,取出,这样的好处就是我们++只需要定义一个数组,而不是多个变量++。

知识点

数据的访问

数据明[索引]

一维数组-动态初始化

动态初始化数组就是我们没办法在一开始就让数组都有数据,而是仅仅定义它的长度,因此呢就不能按照之前的方法

动态初始化数组语法:

数据类型[] 数组名=new 数据类型[长度];

数组的遍历:一个一个数据进行访问

为什么要遍历数组?怎么遍历

一维数组-求最值

对于标注的部分,我们正常不用变量也是可以的,ai就是这种做法,但是我们还是利用了变量,因为我们一直用数组

代替

性能优化:那么第一次数组比较的时候我们进行了一次查找,第二次max=数组[]有进行了查找,因此为了提高效率,

我们用变量储存,这样只需要一次遍历

一维数组-数组的综合案例

开发一个简易版的斗地主程序,要求只完成做牌(存储五十四张牌),洗牌

package com.mengchen;

public class 斗地主 {

public static void main(String[] args) {

System.out .println("现在是斗地主顺牌阶段");

// 我们首先定义一个 54 长度的数组用来储存所有的牌(长度是 54 ,实际上是 [0,53)

String[] packageCards = new String[54];

String[] numbers = new String[]{"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};

String[] colors = new String[]{"♠", "♥", "♣", "♦"};

int index = 0;

// 正确填充 52 张普通牌

for (int i1 = 0; i1 < numbers.length; i1++) {

for (int i2 = 0; i2 < colors.length; i2++) {

packageCards[index++] = colors[i2] + numbers[i1];

/* 上面的 index++ 真是让我研究了一会,我一直感觉哪里不对 , 咱们前面的逻辑都是正确的,如果不是 index++ ,而只是 index ,那么

我们的 index 就会一直往下顺,到 k , 你可以把 ++ 去掉,所以,我们妙用 index++ 实现了每一次循环之后都能让 index 1*/

}

}

// 加入大小王

packageCards[52] = "小王";

packageCards[53] = "大王";

// 打印所有的牌

for (int i = 0; i < packageCards.length; i++) {

System.out .print(packageCards[i] + " \t");

}

System.out .println("");

System.out .println("接下来是洗牌阶段");

for (int i = 0; i < packageCards.length; i++) {

int randomIndex = (int) (Math.random () * packageCards.length);

String temp = packageCards[i];

packageCards[i] = packageCards[randomIndex];

packageCards[randomIndex] = temp;

}

System.out .println("洗牌之后:");

for (int i = 0; i < packageCards.length; i++) {

System.out .print(packageCards[i] + "\t");

}

}

}

二维数组-概述,定义

遍历二维数组的方法

相关推荐
6190083366 分钟前
linux 安装jdk
java·linux·运维
weixin_377634847 分钟前
【强化学习】RLMT强制 CoT提升训练效果
人工智能·算法·机器学习
懂得节能嘛.9 分钟前
【动态配置中心】Java+Redis构建动态配置中心
java·开发语言·redis
专注于大数据技术栈10 分钟前
Java中JDK、JRE、JVM概念
java·开发语言·jvm
YuanlongWang14 分钟前
C# 基础——值类型与引用类型的本质区别
java·jvm·c#
Francek Chen15 分钟前
【深度学习计算机视觉】14:实战Kaggle比赛:狗的品种识别(ImageNet Dogs)
人工智能·pytorch·深度学习·计算机视觉·kaggle·imagenet dogs
dxnb2219 分钟前
Datawhale25年10月组队学习:math for AI+Task3线性代数(下)
人工智能·学习·线性代数
波诺波30 分钟前
通用装饰器示例
开发语言·python
沐知全栈开发30 分钟前
Maven POM 简介
开发语言
渡我白衣35 分钟前
《未来的 AI 操作系统(四)——AgentOS 的内核设计:调度、记忆与自我反思机制》
人工智能·深度学习·机器学习·语言模型·数据挖掘·人机交互·语音识别