java⼀维数组赋相同值_JavaSE—数组(⼀维)
如果我们的数据有很多,要⼀个⼀个的去定义就很⿇烦,Java提供了数组来定义⼀组的数据。
⼀维数组
数组是把相同数据类型的数据按照⼀定的顺序组织起来的⼀组长度固定的数据。
上述有⼏个注意点:
相同数据类型、有顺序、长度固定。java定义一维数组并赋值
数组的使⽤:
1.声明数组(确定数据类型(⽀持任意数据类型)和数组名称);
2.为数组分配空间(确定长度);
3.赋值(确定数据);
4.数组的使⽤(可修改数据等)。
如:声明⼀个存放int数据类型的数组,⾥⾯放10个数据,值为1,2,3,4,5,6,7,8,9,10,我想输出所有的数据看看,以及我想把第五个数据+1,再输出现在数据的内容。
我们⼀步步的实现这个需求:
1.声明数组
声明数组有两种⽅式,⼀种是数据类型[] 数组名,另外⼀种是数组类型 数组名 [](此种⽅式与c/c++⼀致),推荐使⽤第⼀种。
//声明⼀个int类型的数组,我们取名字为nums
int[] nums;
我们已经知道了,在mian⽅法⾥的变量是需要赋初始值才可以使⽤的,所以现在这个仅声明的数组没什么可以操作的。
2.为数组分配空间
之前是定义了⼀个变量就直接赋值,但是现在是⼀组的数据,不难理解,我们最起码得知道有多少个数,才知道要赋多少个值对吧。
重点:我们使⽤new关键字来为数组分配空间。
语法:数组变量 = new 数据类型[数据长度]
注意:声明的是什么类型就必须分配什么类型的空间!否则程序会报错!
也必须分配空间!否则也会报错!
//为数组分配10个空间
nums = new int[10];
这样就为数组分配了10个int类型数据的空间了,我们现在来试试看能不能输出nums呢?我们尝试写⼀下输出代码,发现没有报错:
那么输出结果是什么呢?
我们可以看到,这⾥是⼀串看不懂是什么意思的字符串,这⾥的话就需要我们知道:数组是除了⼋⼤基本数据类型之外的
另外⼀种数据类型,引⽤数据类型,直接打印数组名,输出的是该数组的hashCode(哈希码值),理解为地址。
3.for循环遍历数组
既然我们之前都说了,变量没有赋值是不能使⽤的,那现在为什么可以输出呢?难道之前的结论是错误的?我们尝试着打印⼀下现在的这个数组,如果我们要打印⼀个数组,肯定就要⼀个⼀个的去输出对吧,那⼀个⼀个,是不是想到了循环呢?对,我们可以使⽤循环输出数组,那我们需要告诉for,我要把这个数据从第⼀个数据依次输出到最后⼀个,所以初始变量就是第⼀个数据,迭代就是每次打印下⼀个数据,终⽌条件就是输出了这个数组的全部数据,即输出了这个数组的长度那么多个数据。
数组的长度怎么知道呢?我们可以直接使⽤数组.length,就可以知道数组的长度啦!
数组长度:数组.length
我们来验证⼀下,直接在main中输出:
System.out.println(nums.length);
查看⼀下结果,的确为10
那怎么确定第⼏个数据呢?在Java中,使⽤数组[下标]来确定是第⼏个元素,但是,该下标是从0开始的!
确定第⼏个数据:数组[下标]
下标为整型数据,从0开始即数组[0]代表的是第⼀个数据,可以推出,最后⼀个数据的下标是length-1。
这个很重要⼀定不要记错,再说⼀次,数组的下标从0开始
知道了这些,我们就可以使⽤for去循环遍历数组了!
//通过数组下标的⽅式,使⽤for循环遍历数组
for(int i=0;i
System.out.print(nums[i]+"\t");
}
我们查看⼀下循环遍历的结果:
结果居然输出了0!
没错,Java中的数组在未赋值前是有默认值存在的,这说明我们之前的结论还是对的。
数组中不同数据类型的默认值:
整型:0
浮点型:0.0
char:''
布尔值:false
引⽤数据类型:null(空)
4.为数组赋值
从上述内容,我们已经知道了可以使⽤数组的下标去访问数组的数据,同样的,我们也可以通过数组的下标去给数组的数据赋值,我们继续解决那个需求,赋值为1,2,3,4,5,6,7,8,9,10,再遍历输出数组,验证结果。
//为数组赋值,此处也可以使⽤for循环进⾏赋值操作
int num = 1;
for(int i = 0;i
nums[i]= num;
num++;
}
for(int i=0;i
System.out.print(nums[i]+"\t");
}
5.操作数组
继续需求,将第五个数的值+1,第五个值,即下标为4
//操作数组
nums[4] = nums[4] + 1;
扩展:
如果我们⼀不⼩⼼操作的数据⽐数组的长度要⼤呢?我们⼀不⼩⼼多按了⼀个4;
可以发现,虽然有提⽰,但是是不会报错的:
我们运⾏⼀下,看看会怎么样:
运⾏的时候出现了错误,⼤概翻译⼀下为:在main⾥有异常,数组下标超出边界异常,下标44超过了长度为10的范围。
所以,⼀定要注意:数组的操作⼀定要在其长度范围内,操作了数组长度外的数据,会报数组下标越界的异常!
6.for增强遍历数组
Java中提供了⼀种更简便的⽅式遍历数组:
语法:for(与要遍历的数组⼀样的数据类型 ⾃⼰取⼀个名字:要遍历的数组){
S ystem.out.print(⾃⼰取的名字);
}
for (int temp : nums) {
System.out.print(temp + "\t");
}
我们来查看结果,看看第五个数5是否变成了6?
结果符合了要求。
⾄此,我们也完成了整个需求,也完成了Java中⼀维数组的学习。
7.边声明边分配空间
我们之前声明基本数据类型变量的时候是可以直接赋值的,那数组可不可以呢?答案当然是可以的。并且我们⼀般来讲都是使⽤该⽅式!语法:数据类型[] 数组名 = new 数据类型[长度]
8.边声明边分配空间边初始化值
语法:数据类型[] 数组名 = {值1,值2......}
⽔平有限,若有错误请指出~在此先谢过啦!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论