当前位置: 首页 > news >正文

品牌网站建设4小蝌蚪网站建设需求登记表

品牌网站建设4小蝌蚪,网站建设需求登记表,上海注册公司在哪个网站,wordpress 目录 导航站1. 认识数组 建议1.5倍速学习,并且关闭弹幕。 数组的定义:数组是一个容器,用来存储一批同种类型的数据。 下述图:是生成数字数组和字符串数组。 为什么有了变量还需要定义数组呢?为了解决在某些场景下,变…

1. 认识数组

建议1.5倍速学习,并且关闭弹幕。

数组的定义:数组是一个容器,用来存储一批同种类型的数据。

下述图:是生成数字数组和字符串数组

为什么有了变量还需要定义数组呢?为了解决在某些场景下,变量实现该功能困难的情况。

如下述需求,解决上课随机点名的需求。代码简单,逻辑清晰。

在处理同一批数据时候用数组和合适。

2. 数组的定义和访问

2.1 静态初始化数组

与其他类型语言做对比方便记忆。

public class Learn_01 {public static void main(String[] args) {//简化格式-数据类型[] 数组名 = {} ;int[] ages = {12,24,36};double[] scores = {89.3,99.5,59.2,88};}
}
2.2 计算机中数组的原理

当代码执行到 int [] ages 时,内存会开辟一个空间即ages, 同时将数据(12,24,36)存入另一个空间,这个空间的地址为i@4c87330,然后给数组进行标号,并且将地址i@4c87330存入ages中。

这个存储过程像不像cpp或者c语言中的指针呢?其本质是一个道理的。因此数组可以被称为引用数据类型

代码验证

//简化格式-数据类型[] 数组名 = {} ;
int[] ages = {12,24,36};
double[] scores = {89.3,99.5,59.2,88};
​
// 输出的是数据的地址
System.out.println(ages);
​
// 采用这个方法输出的是数据本身
System.out.println(Arrays.toString(ages));

可以看到ages中存入的是数据的地址。

2.3 数组的访问

数组名[索引]

int[] ages = {12,24,36};
System.out.println(ages[0]);   // 12
System.out.println(ages[1]);   // 24
System.out.println(ages[2]);   // 36
//  数组访问不能超过数组的长度,否则会报错:.ArrayIndexOutOfBoundsException
// System.out.println(ages[3]);

数组的遍历

可以通过for循环或者for-each 等遍历数组

可以用于求和、元素搜索和获取最大最小值功能实现等。

//简化格式-数据类型[] 数组名 = {} ;
int[] ages = {12,24,36};
​
// 在遍历的时候需要知道数组的长度(ages.length),否则就会报上述错误。
for (int i = 0; i < ages.length; i++) {System.out.println(ages[i]);
}
// for-each 的遍历方式并不需要知道长度,每个age本身就是ages中的数据,因此直接输出
for (int age : ages) {System.out.println(age);
}
​

以下讲解求和例子,最大最小值的例子可以试着自己实现。

求和

// 方式1:数组求和
int sum = 0; // 定义变量用于记录求和。
for (int i = 0; i < ages.length; i++) {sum += ages[i];
}
System.out.println(sum);
​
// 方式2:数组求和
sum = 0;
for (int age : ages) {sum += age;
}
System.out.println(sum);

总结:

1、数组是引用数据类型。

2、数据的下标默认从零开始。

2.4 动态初始化数组

定义数组时先不存入具体的元素值,只确定数组存储的数据类型和数组长度。

动态初始化格式

int[] arr = new int[3]

与默认初始化不同的是,在动态初始化阶段,数据的值都存入默认值0。这里int类型数组的默认值为0.

代码验证
public class Learn_01 {public static void main(String[] args) {int[] ages = new int[3];System.out.println(ages[0]);        // 结果为0System.out.println(ages[1]);        // 结果为0System.out.println(ages[2]);        // 结果为0}
}

给数组赋值,可以通过for循环的方式,也可以通过逐个赋值的方式。

// 这里采用的是逐个赋值的方式。
int[] ages = new int[3];
ages[0] = 12;
ages[1] = 24;
ages[2] = 36;
System.out.println(Arrays.toString(ages));

int类型数组的默认动态初始化数据为0,那么其他数据类型的初始化数据值为什么?

总结:

1、动态初始化:适合开始不确定具体元素值,只知道元素长度的场景。

2、静态初始化:适合一开始就知道要存入哪里值的场景。

2.5 案例

莫歌唱比赛,需要开发一个系统:可以录入六个评委的打分,录入完毕后立即输入平均分作为选手得分。

分析:

1、评委的分数是后期录入的,一开始不知道具体分数,因此需要定义一个动态数组。

2、由于分数是手动录入的,因此需要使用Scanner读取评分。

代码如下:

public class Learn_01 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);double[] scores = new double[6];for (int i = 0; i < scores.length; i++) {System.out.println("请输入第" + (i+1) + "个评委的评分:");scores[i] = sc.nextDouble();}System.out.print("选手的得分为:");// 保留两位小数,可以使用string方式DecimalFormat df = new DecimalFormat("#.00");System.out.println(df.format(Arrays.stream(scores).sum()/scores.length));}
}

一般情况下,需要去除最大值和最小值,然后再去平均值,这个可以作为进阶方案,你可以自己实现一下,发到评论区中。

如何保留两位小数可以参考这篇文章

Java中double保留两位小数的各种方法

2.6 常见问题

1、程序是如何执行呢?

首先字节码文件要加载到方法区中。

其次方法运行时所进入的内存变量在栈内存中。

最后采用new命令产生的东西会开辟空间放入堆内存中。

那么如下命令时怎么执行呢?

第一步将AppayDemo.class文件存入到方法区中。

第二步将main方法加入到栈中,然后执行main方法中的代码。

第三步,执行 int a = 10; 这一个命令因此会在栈中开辟一个空间生成a这个变量

第四步,打印变量a

第五步:创建arr变量,注意arr和数据存放的位置是不同的。

其他的依此就可以理解了....主要通过arr和索引找到数据值。

2、多个变量指向同一个数据

有了第一个问题的基础,那么第二个问题就很好理解了。可以通过操作arr1和arr2然后改变数据中的值。


知乎账号: 兜兜转转 - 知乎 (zhihu.com)

擅长领域:IRS通信仿真、Java和算法等,欢迎在评论区留言

助力每一个梦想:

http://www.yayakq.cn/news/545189/

相关文章:

  • 农业行业网站建设免费1级做爰片在线观看网站
  • 美团这个网站多少钱做的八字排盘网站建设
  • 重庆网站建设推荐网站设计网站类型
  • 今天新闻最新消息seo人员招聘
  • 站长之家seo概况查询wordpress 视频付费插件
  • 佛山建设局网站文案写作软件app
  • 北京建设官方网站codecanyon – wordpress脚本插件完整打包
  • 网站开发 演讲邯山专业做网站
  • 为朋友做的网站淘宝怎么做引流和推广
  • wap网站开发工具wordpress 模仿APP插件
  • 176网站入口注册公司流程和费用2020
  • 建设厅网站平顶山域名抢注哪个平台好
  • 各地城乡建设网站更新dedecms 广告管理 js 网站变慢
  • 网站架构设计师求职信WordPress注册无需发送邮件
  • 佛山市官网网站建设企业八年级信息网站怎么做
  • 重庆网站建设培训个人网站设计及实现论文
  • 天水企业网站建设毕业设计代做网站唯一
  • 建设行业网站大概需要都少钱浙江省住房和城乡建设局网站首页
  • 成功网站案例分析深圳黑马程序员培训机构官网
  • .net wap网站模板购物网站静态页面
  • 网页游戏平台网站企业展示型网站建设方案
  • 值得买 wordpressseo网站推广电话
  • 哪些网站可以做电脑画画赚钱网站开发外包费用
  • 怎么制作钓鱼网站链接手机如何建设网站首页
  • ftp网站上传 方法网站没有后台怎么更新文章
  • 建设网站需要租赁主机吗合肥网站搜索引擎优化
  • 建设专业网站网络php 企业网站开发实例
  • 徐州网站建设xzqjwapp推广方式
  • 仿静态网站禅城南庄网站制作
  • 一个网站专门做摩托车网站开发的心得与体会