继承习题:
数组:
数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。
特点:
- 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
- 其元素必须是相同类型,不允许出现混合类型。
- 数组类型可以是任何数据类型,包括基本类型和引用类型。
数组声明方式:
type[] arr_name; //(推荐使用这种方式)
type arr_name[];
数组静态初始化的代码
int[] arr = [1,2,3,4,5];
数组动态初始化的代码
int[] arr = new int[5];
arr[0] = 1;
arr[1] = 2;
默认初始化
数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
int a2[] = new int[2]; // 默认值:0,0
boolean[] b = new boolean[2]; // 默认值:false,false
String[] s = new String[2]; // 默认值:null, null
/**
* 数组:数组是相同类型数据的集合
* 数组的特点:
* 1.数组的长度是确定的,一旦声明并初始化后,长度不可更改
* 2.数组元素类型一致,不能出现混合类型
* 3.数组的类型可以是任何类型(基本类型,引用类型)
* 数组声明方式:
* 1.数据类型 [ ] 数组名;(推荐使用)
* 2.数据类型 数组名 [ ];
* 为数组开辟空间指定数组长度:数组名 = new 数据类型[长度];
* eg: int[] arr = new int [6];
* 数组下标是连续的,取值空间:[0,length-1]
*/
public class TestArry {
public static void main(String[] args) {
int[] arr = new int [5];
arr[0] = 1;
arr[1] = 2;
arr[4] = 5;
System.out.println(arr[0]);//1
System.out.println(arr[1]);//2
System.out.println(arr[2]);//0
System.out.println(arr[3]);//0
System.out.println(arr[4]);//5
}
}
foreach循环
根据输入的班级人数和学生分数,统计平均成绩,最高分和最低分
package com.sxt.score;
import java.util.Scanner;
public class TestScore {
public static void main(String[] args) {
TestScore testScore = new TestScore();
testScore.classNumber();
}
public void classNumber() {
int sum = 0;
Scanner sc = new Scanner(System.in);
//输入班级人数
System.out.println("请输入班级人数:");
int count = sc.nextInt();
int[] score = new int[count];
for(int i=0; i<score.length; i++) {
System.out.println("请输入第"+(i+1)+"个人的成绩:");
score[i] = sc.nextInt();
sum += score[i];//成绩累加
}
//求平均分
double average = sum/count;
System.out.println("平均成绩:"+average);
//求最大值,最小值
int max=score[0]; //对max初始化
int min=score[0]; //对min初始化
for(int j=0;j<score.length;j++){
if(score[j]>max){
max=score[j]; //交换最大值
}
if(score[j]<min){//交换最小值
min=score[j];
}
}
System.out.println("最高分为:"+max);
System.out.println("最低分为:"+min);
}
}