慢慢学习,然后惊呆所有人(数组)
Posted 韶光不负
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了慢慢学习,然后惊呆所有人(数组)相关的知识,希望对你有一定的参考价值。
在学习Java的过程中,小编认为数组是非常有用的,所以小编下面就来看看数组的学习,废话不多说,上干货!
什么叫数组?
一系列数据总体的组合
如何定义数组?
数据类型 [ ] 数组名称 = new 数据类型 [数组的大小]
//数组声明方式
int arr[] = new int[4];
int []arr1 = new int[4];
//初始化数组
int [] arr2 = new int[]{1,2,3,4,5,6,7,8};
//方便写法
int [] arr3 = {1,2,3,5,2,4,3,4,2};
public class Text {
public static void main(String[] args){
//定义一个数组
//开辟一个大小为10的数组,类型是整数
int [] name = new int[4];
//给数组赋值,从0开始,最大为是数组-1,当超出会显示数组下标越界
name[0]=30;
name[2]=150;
name[3]=33;
//name[4]=0;当超出会显示数组下标越界
//访问数组中的值,从0开始
System.out.println(name[0]);
System.out.println(name[1]);
//如果类型为int没有给值为0,布尔类型为None
System.out.println(name[2]);
System.out.println(name[3]);
//查看数组的大小
System.out.println(name.length);
}
}
改进循环遍历
import java.util.Scanner;
public class Text {
public static void main(String[] args){
//定义一个数组
//方式2
//类型 名称[] = new 类型[大小];
//开辟一个大小为10的数组,类型是整数
int [] name = new int[4];
//以遍历发式,添加数组内容
Scanner sc = new Scanner(System.in);
for (int i = 0;i < name.length;i++){
System.out.println( "请输入"+(i+1)+"成绩:");
//数组赋值
name[i]=sc.nextInt();
}
for(int i=0;i<name.length;i++){
System.out.println(name[i]);
}
//查看数组的大小
}
}
数组特点
1,数组是内存中一串连续的空间
2,数组只能存储一种数据类型
3,在Java中必须定义大小,不能随便修改
下标越界的错误
在我们小白中非常常见(所以要多多注意)
小练习
给定一个大小为10的数组,控制台上输入值,求平均值,总值。
import java.util.Scanner;
public class Text {
public static void main(String[] args){
//定义一个数组
//开辟一个大小为10的数组,类型是dounle
double [] arr = new double[10];
//以遍历发式,添加数组内容
Scanner sc = new Scanner(System.in);
for (int i = 0;i < arr.length;i++){
System.out.println( "请输入第"+(i+1)+"数组的值:");
//数组赋值
arr[i]=sc.nextInt();
}
double x = sum(arr);
double y = avg(arr);
System.out.println("数组的总和为:"+x);
System.out.println("数组的平均值为:"+y);
}
public static double sum(double []arr){
double sum = 0;
for(int i = 0;i<arr.length;i++){
sum +=arr[i];
}
return sum;
}
public static double avg(double []arr){
double sum = 0;
for(int i = 0;i<arr.length;i++){
sum +=arr[i];
}
double avg = sum/arr.length;
return avg;
}
}
出现问题(只能输入整数,不能是小数)
改进方法(将arr[i]=sc.nextInt();改为arr[i]=sc.nextDouble();)
import java.util.Scanner;
public class Text {
public static void main(String[] args){
//定义一个数组
//开辟一个大小为10的数组,类型是dounle
double [] arr = new double[10];
//以遍历发式,添加数组内容
Scanner sc = new Scanner(System.in);
for (int i = 0;i < arr.length;i++){
System.out.println( "请输入第"+(i+1)+"数组的值:");
//数组赋值
arr[i]=sc.nextDouble();
}
double x = sum(arr);
double y = avg(arr);
System.out.println("数组的总和为:"+x);
System.out.println("数组的平均值为:"+y);
}
public static double sum(double []arr){
double sum = 0;
for(int i = 0;i<arr.length;i++){
sum +=arr[i];
}
return sum;
}
public static double avg(double []arr){
double sum = 0;
for(int i = 0;i<arr.length;i++){
sum +=arr[i];
}
double avg = sum/arr.length;
return avg;
}
}
现象:
以上是关于慢慢学习,然后惊呆所有人(数组)的主要内容,如果未能解决你的问题,请参考以下文章