数组

数组:相同数据类型的数据的组合。

1.一维数组

如:
int score = 72;
int score = 90;
int score = 58;

使用数组:
1. 静态初始化:在声明并初始化与给数组相应的元素赋值操作同时进行。
int[] score1 = new int[]{72, 90, 58};//int[] score1 = {72, 90, 58};
2. 动态初始化:在声明并初始化与给数组相应的元素赋值操作分开进行。

int score2 = new int[3];
score[0] = 72;
score[1] = 90;
score[2] = 58;

注:数组长度一旦创建后数组长度不可变。
声明数组的错误写法:
1)String names = new String[5]{“AA”,”BB”,”CC”};
2)int a[10];
3)int i = new int[];

另外
1. 对于byte、short、int、long数组元素值默认为0
2. 对于float、double数组元素值默认为0.0
3. 对于char数组元素值默认为空格
4. 对于boolean数组元素值默认为false
5. 对于引用类型的变量构成的数组而言,默认初始化为null,以String为例

2.二维数组

  1. 静态初始化:
int[][] scores;
scores = new int[][]{{1, 2,3},{3, 4, 5},{6}};
  1. 动态初始化:
String[][] names;
names = new String[3][2];//动态初始化之一
或者
names = new String[4][];//动态初始化之二(不指定二维的长度)
names[0] = new String[5];
names[1] = new String[4];
namse[2] = new String[7];

错误的初始化:

names = new String[][];
names = new String[][5];
都是未指定第一维长度。

Q:二维数组如何遍历?

for(int m = 0;m < score.length;m++ ){for(int n = 0;n < score[m].length;n++){System.out.println(score[m][n]);}}

内存结构

举例:

一维数组练习

/*
从键盘读入学生成绩,找出最高分,并输出学生成绩。
成绩>=最高分-10 等级为A
成绩>=最高分-20 等级为B
成绩>=最高分-30 等级为C
其余 等级为D
提示:先读入学生人数,根据人数创建int数组,存放学生成绩
*/

public class TestStudentScore {public static void main(String[] args) {// 1,创建Scanner的对象,并从键盘获取学生的个数nScanner s = new Scanner(System.in);System.out.println("请输入学生的个数:");int count = s.nextInt();// count记录学生的个数// 2,根据输入的学生个数n,创建一个长度为n的int型数组int[] scores = new int[count];int maxScore = 0;// 3,依次从键盘获取n个学生的成绩,并赋给相应的的数组元素,并获取n个学生中的最高分System.out.println("请输入" + count + "个数学生成绩:");for (int i = 0; i < scores.length; i++) {int score = s.nextInt();// 依次从键盘获取学生的成绩scores[i] = score;if (scores[i] > maxScore) {maxScore = scores[i];}}System.out.println("最高分为:" + maxScore);// 4,遍历学生成绩的数组,并根据学生成绩与最高分的差值,赋予相应的等级,并输出for (int i = 0; i < scores.length; i++) {char level;if (scores[i] >= maxScore - 10) {level = 'A';} else if (scores[i] >= maxScore - 20) {level = 'B';} else if (scores[i] >= maxScore - 30) {level = 'C';} else {level = 'D';}System.out.println("Student " + (i + 1) + " score is " + scores[i]+ " level is " + level);}}
}

第二章:Java_基本语法_5 数组相关推荐

  1. 使用java实现面向对象编程第二章_java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1.java关键字 abstract boolean break byte case catch char class const continue default do d ...

  2. JavaSE入门0基础笔记 第二章Java基础语法

    JavaSE入门0基础笔记 第二章Java基础语法 1.运算符 1.1算术运算符 1.1.1运算符和表达式 1.1.2 算术运算符 1.1.3字符的"+"操作 1.1.4 字符串中 ...

  3. 【python第一章 基础捋顺,第二章 python基础语法】

    第一章 基础捋顺,第二章 python基础语法 第一章 基础捋顺 第二章 python基础语法 2.1输入输出 2.2代码注释 2.3代码缩进 2.4命名规范 2.5变量 2.6基本数据类型 2.7数 ...

  4. 尚硅谷Java入门视频教程第二章——Java基本语法

    尚硅谷Java入门视频教程第二章 第一章复习 课后习题 Java语言概述 第2章:Java基本语法 2.1 关键字和保留字 2.2 标识符(Identifier) 2.3 变量 2.3.1 变量基本概 ...

  5. 第二章 疯狂Caché 语法规则

    文章目录 第二章 Caché 语法规则 区分大小写 标识符 Unicode 空格 注释 例程和方法的int代码中的注释 例程和方法的MAC代码中的注释 方法代码之外的类定义中的注释 文字值 字符串文字 ...

  6. 流畅的python第二章, 列表和元组和数组

    概述 这一张标题其实是序列构成的数组,其实也无所谓了, 站在小白的角度来讲,就是讲了讲列表, 元组, 数组的一些用法,这里站在我的角度上说说我的看法好了. 目录 列表推导,原则和一些问题, 和一些扩展 ...

  7. PHP-----PHP程序设计基础教程----第二章PHP基本语法

    博文结构: 2.1 PHP语法风格 2.1.1 PHP标记 PHP有四种风格的标记,具体如表2-1所示: 表2-1 PHP开始和结束标记 标记类型 开始标记 结束标记 示例 说明 标准标记 <? ...

  8. python基本语法语句-第二章 python基本语法元素

    python有两种编程方式,交互式和文件式. 交互式:对每个输入语句即时运行结果------适合语法练习 文件式:批量执行一组语句并运行结果------编程的主要方式 实例1:圆面积的计算(根据半径r ...

  9. 第二章 Java基本语法(二)

    本文主要内容: 运算符.if-else.switch-case 一.位运算符 运算符之五:位运算符 每左移一位,相当于是在原来的基础上乘2. int i = 21; System.out.printl ...

最新文章

  1. 超越谷歌MobileNet!华为提出端侧神经网络架构GhostNet|已开源
  2. fetch整个仓库 github_git fetch 的简单用法:更新远程代码到本地仓库
  3. Caffe学习笔记4图像特征进行可视化
  4. 2021 大厂实习笔试
  5. InputStream和Reader,FileInputStream和 FileReader的区别
  6. php数据趋势曲线,数据曲线图怎么做
  7. python去掉空白行_python去掉空白行的多种实现代码
  8. sql查询禁用缓存_如何在SQL Server 2017中启用和禁用身份缓存
  9. 浏览器对缓存的使用规则
  10. 使用python制作ArcGIS插件(1)工具介绍
  11. OpenSSL常用命令总结
  12. Lock锁确保线程安全
  13. 为什么大部分人,会对南北经济“差距”产生误解?
  14. python打印A-Z
  15. C语言自学路之将小写数字完美转换成大写数字
  16. 少儿编程教学平台和scratch课程
  17. QT中文字体的显示方法
  18. 计算机是如何存储数字的?
  19. 投简历的邮件正文要写一些什么内容比较恰当
  20. 如何给注册中心锦上添花?

热门文章

  1. 对于mysql加索引,删除索引,添加列,删除列,修改列顺序的最佳办法测试
  2. 重写ScrollView实现两个ScrollView的同步滚动显示
  3. C# NameValueCollection集合 (转)
  4. Linux下的Vsftpd配置篇
  5. 混合式安全灵活性可充分满足无边界企业的发展
  6. 双系统重装windows以后修复ubuntu的引导
  7. django获取参数
  8. 菜鸟教程-Javascript学习笔记-JS函数之前
  9. flume使用telnet作为入口出现connection refused
  10. 03_FindInPartiallySortedMatrix.cpp