代码改变世界

Java数组1(2015-8-26)

2015-08-26 18:42  马尔代夫_珍  阅读(228)  评论(0编辑  收藏  举报

1、数组:相同数据类型的一组数据;

2、数组是在堆里面存储数组数据,在栈里面存储数组在堆里面的地址。数组是引用类型。(Java里面有两种数据类型:基本数据类型和引用数据类型)

3、对象数组保存的是引用,基本类型数组直接保存基本类型的值。

4、length不是实际保存的元素个数。

5、新生成的数组对象,其中所有的引用自动初始化为null;基本类型数组成员有各自默认值(数值型为0,字符型为(char0,布尔型为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("你要查找的数不存在");         

             }

}}