当前位置:网站首页>一维数组定义与使用
一维数组定义与使用
2022-07-26 19:22:00 【抬眼远望】
数组
数组是一个变量,存储相同数据类型的一组数据
数组基本元素:
标识符
数组元素
元素下标:从0开始
元素类型

注意:
数组长度固定不变,避免数组越界
数组中的所有元素必须是相同的数据类型
使用数组四步走:
第一步:声明数组: 数据类型 [] 数组名; 或者 数据类型 数组名[];
// 声明8大基本类型的数组
byte[] nums1;
short[] nums2;
int [] nums3;
long[] nums4;
float[] nums5;
double[] nums6;
char[] chars;
boolean[] bools;
// 声明String类型的数组
String[] strs;第二步:分配空间:告诉你声明的数组里可以存储多少个数据
数组名=new 数据类型 [数组长度];
nums1=new byte[3];
nums2 =new short[5];
nums3 =new int [2];
nums4 =new long[4];
nums5=new float[3];
nums6=new double[5];
chars =new char[8];
bools=new boolean[8];
strs =new String[3];第三步:给数组赋值:将数据存储到数组中
数组名[下标]=数据;
nums3[0]=100;
nums3[1]=199;
// nums3[2]=200;
// System.out.println(nums3[2]);
//java.lang.ArrayIndexOutOfBoundsException数组下标越界异常,更改下标
System.out.println(nums3[0]);
System.out.println(nums3[1]);
bools[0] = true;
bools[1] = false;
System.out.println(bools[1]);//false
System.out.println(bools[2]);//false
strs[0] = "hello";
strs[1] = "java";
System.out.println(strs[0]);//hello
System.out.println(strs[1]);//java
System.out.println(strs[2]);//null第四步:操作数据:使用 数组名[元素的下标]来操作数据
System.out.println(nums3[0]);
nums3[0] = 1000;
System.out.println(nums3[0]);
nums3[0]+=500;//num3[0]=nums3[0]+500;
System.out.println(nums3[0]);
未存入数据时,数组各数据类型默认值
//未存入数据时,数组各数据类型默认值
System.out.println(num1[2]);//byte:0
System.out.println(num2[4]);//short:0
System.out.println(num3[2]);//int:0
System.out.println(num4[3]);//long:0
System.out.println(num5[2]);//float:0.0
System.out.println(num6[4]);//double:0.0
System.out.println(ch[7]);//char:无
System.out.println(bool[7]);//boolean:false
System.out.println(str[2]);//String:null 
声明数组,分配空间合并写:
数据类型[] 数组名 =new 数据类型[数组长度]; 或者 数据类型 数组名[] =new 数据类型[数组长度];
//声明一个长度为5的int类型的数组
int[] num=new int[5];
//声明一个长度为3的boolean类型的数组
boolean[] bools=new boolean[3];
//声明一个长度为6的String类型的数组
String[] strs =new String[6];声明数组,分配空间,赋值合并写:
数据类型[] 数组名 =new 数据类型[]{数据1,数据2,.....,数据n}; 或者 数据类型 数组名[] =new 数据类型[]{数据1,数据2,.....,数据n};
//声明一个长度为5的int类型数组,里面的数据分别是11 25 36 98 75
int[] num=new int[]{11,25,36,98,75};
//声明一个长度为3的String类型的数组,里面的数据分别是"hello" "java" "html"
String[] strs =new String[]{"hello" ,"java" , "html"};声明数组,分配空间,赋值合并写的简写方式,也是最常用的方式
数据类型[] 数组名 ={数据1,数据2,.....,数据n}; 或者 数据类型 数组名[] ={数据1,数据2,.....,数据n};
//声明一个长度为5的char类型的数组,里面的元素分别是'a' 'f' '3' 'm' 'r'
char[] chs={'a' ,'f' , '3' ,'m' ,'r'};
获取数组中元素的个数:数组名.length;
遍历:按照元素在数组中的顺序输出
int[] nums={25,31,98,15,47,34,75,84,65,61,72,86,15,45,79,94,31,57};
int size=nums.length;
System.out.println("nums数组中元素的个数是:"+size);
//遍历
for (int i = 0; i < nums.length; i++) {
System.out.print(nums[i]+" ");
}
System.out.println();遍历还可以使用增强for来进行循环遍历
语法格式:
for(数据类型 变量:数组名){
}
执行规律:按照数组中元素的顺序依次取出元素来存入到变量中 ,这时候操作变量就相当于操作数组里的元素
//增强for
for(int a:nums){
System.out.print(a+" ");
}应用:
import java.util.Scanner;
public class ArrayDemo02 {
public static void main(String[] args) {
// 从键盘输入10位同学的Java成绩存储到数组中,计算这10位同学的总分和平均分
Scanner sc =new Scanner(System.in);
//准备容器(数组)用来存储10个学生的Java成绩
double[] scores=new double[10];
double sum=0;
for (int i = 0; i < scores.length; i++) {
System.out.println("请输入第"+(i+1)+"位同学的Java成绩: ");
scores[i]=sc.nextDouble();
sum+=scores[i];//sum=sum+score[i];
}
System.out.println("成绩存储完毕");
//输出所有同学的成绩
System.out.println("所有同学的成绩为:");
for (double d : scores) {
System.out.print(d+" ");
}
//求平均分
double avg=sum/10;
System.out.println("所有学生成绩之和:"+sum+",平均分为:"+avg);
}
}


练习:有一个数列:8,4,2,1,23,344,12;循环输出数列的值;求数列中所有数值的和;猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数 。欢迎大家与我讨论
边栏推荐
- 金仓数据库 KingbaseES SQL 语言参考手册 (16. SQL语句: CREATE SEQUENCE 到 DELETE)
- 金仓数据库 KingbaseES SQL 语言参考手册 (19. SQL语句: DROP TABLE 到 LOAD)
- Leetcode daily practice - 27. Remove elements
- I tried many report tools and finally found a report based on Net 6
- 本机号码一键登录原理与应用(荣耀典藏版)
- Kingbasees SQL language reference manual of Jincang database (19. SQL statement: drop table to load)
- 2000 words to help you master anti shake and throttling
- eadiness probe failed: calico/node is not ready: BIRD is not ready: Error querying BIRD: unable to c
- 【MySQL】 - 索引原理与使用
- DOM case: 10 second countdown - write jump page related knowledge
猜你喜欢
![[Android] the black technology behind kotlin's rapid compilation. Learn about it~](/img/d6/ae107f75c158e97913e6d75eac5b84.png)
[Android] the black technology behind kotlin's rapid compilation. Learn about it~

DOM case: 10 second countdown - write jump page related knowledge

I tried many report tools and finally found a report based on Net 6

使用ECS和OSS搭建个人网盘

网络与VPC动手实验

DevOps 实践多年,最痛的居然是?

静音台式风扇芯片-DLTAP703SD-杰力科创

网红辣条抓不住年轻人

.NET GC工作流程

Analysis of interface testing
随机推荐
一年卖7亿,德州扒鸡赶考IPO
plsql包
[binary tree] balance the binary search tree
Jincang database kingbasees SQL language reference manual (21. Kes regular expression support)
金仓数据库 KingbaseES SQL 语言参考手册 (21. KES正则表达式支持)
同花顺靠谱吗?我刚开始学习理财,开证券账户安全吗?
Household deposits increased by 10.33 trillion yuan in the first half of the year, with an average of 57.1 billion deposits pouring into banks every day
试用了多款报表工具,终于找到了基于.Net 6开发的一个了
three. JS tag and pop-up the earth
MySQL subquery usage
Overview of canvas
numpy.put()
three.js 给地球加标签和弹窗
【JVM 系列】JVM 调优
Zabbix调用api检索方法
有点酷,使用 .NET MAUI 探索太空
【ffmpeg】给视频文件添加时间戳 汇总
【MySQL】 - 索引原理与使用
Solution to the third game of 2022 Niuke multi school league
go+mysql+redis+vue3简单聊室,第5弹:使用消息队列和定时任务同步消息到mysql
