概述
本人新人学习,如有问题请指教,谢谢。
在学习java时候,数组对于我们来说是很重要的,因为好多的集合和字符串等等都和他有关。
java数组是对象,所以是继承Object类的,他也是有Object的方法的,引用类型。可以存储基本类型和引用类型
一.初始化
三种初始化 1. 类名/基本类型 [ ] 数组名称 = new 类名/基本类型 [ index ];
//这里面的index必须是正整数,表示这个数组的个数
2. 类名/基本类型 [ ] 数组名称 = new 类名/基本类型 [ ]{ };
//大括号里面可以直接放入要存入的对象或基本类型数据,之间用,隔开
3.最简单的 类名/基本类型 [ ] 数组名称= { };
//大括号里面可以直接放入要存入的对象或基本类型数据,之间用,隔开
如:int [ ] money= new int[ 8]; int [ ] money= new int[ ]{ 12, 13 ,14 }; int [ ] money={12,15,16,};
二.特点
数组的长度是固定的,从上面的初始化也能看出来,不管用哪种初始化都会将数组的长度固定下来了 ,也能看出数组的类型是统一的,是整型就是整型,是引用类型就是引用类型,就应为这些特征,就有java中的StringBuffer和集合。数组相当于蜜蜂的巢穴,每个地方放一个对象,但每个对象都有个下标(相当于给他贴了个标签),紧记下标是从0开始的,所长度为n的时候,最大下标是n-1.
三:数组运算
数组会使用才能有价值
l数组遍历(依次输出数组中的每一个元素)
遍历就想成,一遍遍拿数据
public class A{ //定义一个类来完成遍历
public static void main(String [] args){ //定义主方法
int [ ] i= {1,2,3,4,5}; //以这个数组为例 最终为[1,2,3,4,5]这中形式
System.out.print("[");
for(int j=0;j<i.length;j++){ //要从0开始,执行到数字长度-1就行
if(j==i.length-1){ //最后一个没有逗号的
System.out.print(i [ j ]);
}
else{
System.out.print(i [ j ]+" , ");
}
}
System.out.print("]");
}
}
l数组获取最值(获取数组中的最大值最小值)
以最大值为例,最小一样
public B{
public static void main(String [] args){
int [ ] i= {1,3,3,5,4}; // 获取这个数组最大值并输出
int max=i [ 0 ]; //主要思想是用最大的与每个 元素相比,元素大的,赋值给大的变量
for(int j=1;j<i.length;j++){ //从1开始应为0下标已经赋值了。
if(max<i [ j ]){ //这里的for语言可以用增强for for(int j: i){ }
max=i [ j ];
}
System.out.print(max);
}
}
}
//以上是对象比较,请重写对象类的equals方法,并且将=改为equals方法
l数组元素逆序 (就是把元素对调)
同时将前后两个元素对调,直到中间停止。根据数组是下标起作用,我们可以写两个“指针”,这两个指针一个指向小的一个指向大的,一个加,令一个同时减,最终肯定到中间,那么时候停止了,一个小,一个大,那么如果小的都大于大的了,还需要移动吗?所以代码如下:
public class C{
public static void main(String [] args){
int [ ] i= {1,3,3,5,4};
for(int minPoint=0,maxPoint=i.length-1; minPoint>maxPoint; minPoint++,maxPoint--){
int temp=i[ minPoint ];
i [minPoint]=i[maxPoint];
i[maxPoint]=temp;
}
//这个地方调用上面A类去掉主方法的普通方法
}
}
l数组查表法(根据键盘录入索引,查找对应星期)
import java.util.Scanner;
public class D{
public static void main(String [] args){
int String[ ]={ "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
System.out.println("请输入对应的星期数字,0是星期日");
Scanner sc= new Scanner(System.in);
int weekDay= sc.nextIn();
if(weekDay<0||weekDay>=7){
System.out.println("您输入的星期的数字有误");
}
System.out.println(i[ weekDay]);
}
}
l数组元素查找(查找指定元素第一次在数组中出现的索引-就是下标)
public class E{
public static void main(String [] args){
int [ ] i= {1,3,3,5,4};
int number=3; //以这个数为例查找 i数组
for(int j=0;j<i.length;j++){
if(number==i [ j ])
System.out.println(j);
System.out.println("没找到这个数");
}
}
}
l数组排序
数组排序有很多中 ,我这里写一个选择排序,原理是第一个数开始,分别与后面的数比较,将最小的留下,第二个再与后面的比较,最终比较完毕。
public class F{
public static void main(String [] args){
int [ ] arr= {1,3,5,4,8,1,2};
for(int i=0;i<arr.length;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
}
}
----*
---* *
--* * *
-* * * *
* * * * *
class G {
public static void main(String[] args) {
int i=1,j,x;
for(;i<=5;i++){ //控制“-” 打印的数和行数之和是5固定
for(j=1;j<=5-i;j++){
System.out.print("-");
}
for(x=1;x<=i;x++){ //控制“* ” 打印的数和行数相等
System.out.print("* ");
}
System.out.println();
}
}
}
最后
以上就是苗条皮卡丘为你收集整理的java一维数组的理解的全部内容,希望文章能够帮你解决java一维数组的理解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复