第二章:Java_基本语法_5 数组
2017-02-09 00:35
816 查看
数组
数组:相同数据类型的数据的组合。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.二维数组
静态初始化:int[][] scores; scores = new int[][]{{1, 2,3},{3, 4, 5},{6}};
动态初始化:
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] ); } }
内存结构
举例:
一维数组练习
/*从键盘读入学生成绩,找出最高分,并输出学生成绩。
成绩>=最高分-10 等级为A
成绩>=最高分-20 等级为B
成绩>=最高分-30 等级为C
其余 等级为D
提示:先读入学生人数,根据人数创建int数组,存放学生成绩
*/
public class TestStudentScore { public static void main(String[] args) { // 1,创建Scanner的对象,并从键盘获取学生的个数n Scanner 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); } } }
相关文章推荐
- luogg_java重新学习_第二章,基本语法03(数组)
- 第二章 java语言基本语法————数组
- JavaScript基础(基本语法:变量、语句、数组、函数、对象、全局方法以及js与java不同,js与html关联)
- java(一)开发环境搭建,基本语法,字符串,数组
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- J2SE学习笔记3 — Java基本语法(9)数组和枚举
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- Java学习笔记一:基本语法:类和对象的介绍、数组、引用类型
- Java基本语法(四)数组
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- 第二章 java语言基本语法————流程控制
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- java学习之旅60--数组_多维数组_基本语法_内存分析
- luogg_java重新学习_第二章:基本语法01(概念)
- [java语法]基本语法(4) 数组
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- 第二章Java语言基本语法————数据类型
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组