Java数组1(2015-8-26)
2015-08-26 18:42 马尔代夫_珍 阅读(228) 评论(0) 编辑 收藏 举报1、数组:相同数据类型的一组数据;
2、数组是在堆里面存储数组数据,在栈里面存储数组在堆里面的地址。数组是引用类型。(Java里面有两种数据类型:基本数据类型和引用数据类型)
3、对象数组保存的是引用,基本类型数组直接保存基本类型的值。
4、length不是实际保存的元素个数。
5、新生成的数组对象,其中所有的引用自动初始化为null;基本类型数组成员有各自默认值(数值型为0,字符型为(char)0,布尔型为false)。
6、数组的查找算法(查找最大数、最小数):线性查找法(顺序)、二分查找法(数组必须为有序的)。
7、数组的排序算法:冒泡排序法(比较相邻的两个数据)、选择排序法(从数组当中找出最大的或最小的数据进行一一比较)、插入排序法(用的比较少)。
8、
public class Test{
public static void main(String[] args){
//--3种定义数组的方法。
int[] arr = new int[3];//一定要给数组一个数组的默认长度
//int[] arr1 = new int[]{4,5,6};
//int[] arr2 = {7,8,9,10};
//--数组的赋值:通过下标,数组的下标从0开始。
//对数组取值、赋值、遍历都可以通过数组的下标来进行。
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
//--数组下标越界
//arr[3] = 4;--错误的
//--变量数组的数据:数组是一个有序的线性的存储
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}
}
}
9、通过线性查找法,取数组里的最大数据
public class Test1{
public static void main(String[] args){
//--定义个数组
int[] arr = new int[]{7,2,10,9,45,3};
//--存储最大数据的容器
int max = arr[0];
//--存储最小数据的容器
int min = arr[0];
//--数组的遍历。arr[0]已经赋值了,就不用再和自己比较了,i=1开始比较。
for(int i=1;i<arr.length;i++){
//--取最大数据
if(arr[i]>max){
max = arr[i];
}
//--取最小数据
if(arr[i]<min){
min = arr[i];
}
}
System.out.println("max:"+max);
System.out.println("min:"+min);
}
}
10
import java.util.Scanner;
public class LinearSearch{
public static void main(String [] args){
int [] array={10,100,80,50,70,60,90};
System.out.println("请输入要查找的数:");
Scanner input=new Scanner(System.in);
int number=input.nextInt();
int index=-1;
for(int i=0;i<array.length;i++){
if(array[i]==number){
index=i+1;
break;
}
}
if(index!=-1){
System.out.println("找到,在数组中的第"+index+"位置");
}else{
System.out.println("你要查找的数不存在");
}
}}