2019-03-04数组

数组

package com.neudu.chapter4_304;

public class ArrayDemo1 {

public static void main(String[] args) {

// 数据类型

// 1.基本数据类型

// 2.引用数据类型:(1)类【String 、Scanner、Random、Math....】(2)接口(3)数组

// 数组:(1)他能保存一组数据类型相同数据,保存的数据称为元素,(2)定长

// 声明,创建一个数组

// 第一种创建方式

int arr[] = new int[5] ;//5代表数组长度

// 数组元素的访问------通过索引值(下标值),长度为n的数组下标值是从0到n-1

System.out.println(arr[0]);

System.out.println(arr[5]);//数组越界

}

}


数组默认值

public class ArrayDemo2 {

public static void main(String[] args) {

//1. 数组有默认值 (整型 0、 浮点型0.0、字符型\u0000、boolean false、 String:null)

// 2.长度必须指定

// 3.new关键字

// new 开辟堆内存的操作符

double arr[] = new double[4];

System.out.println(arr[0]);

arr[0]=1.2;

System.out.println(arr[0]);

char arr2[]=new char[3];

arr2[0] = 'a';

String str[] = new String[2];

str[0] = "hello";

str[1] = "world";

}

}

创建数组


public class ArrayDemo4 {

public static void main(String[] args) {

// TODO Auto-generated method stub

  int arr1[] = new int[3];

  arr1[0] = 1;

  arr1[1] = 3;

  arr1[2] = 9;


  int arr2[]= new int[] {1,3,9};


  int arr3[]= {1,6,9};


}

}

数组遍历(重点)

public class ArrayDemo5 {

public static void main(String[] args) {

// 数组便利,将数组元素,组个取出来

        int arr[] = {4,5,6,9,8,512};

        //数组长度

        System.out.println("数组长度"+arr.length);

        for(int i=0;i < arr.length;i++) {

        System.out.println(arr[i]);

        }

}

}

foreach循环访问数组

public class ForwachDemo {

public static void main(String []args) {

//增强for循环

int arr[]= {1,65,56,5};

// for(int i =0;i<arr.length;i++) {

// int num=arr[i];

// System.out.println( i+" "+ num);

// }

int i=0;

for(int num :arr) {

System.out.println(i+" "+num);

i++;

}

}

}


数组排序(重点)

public class Demo2 {

public static void main(String[] args) {

// 数组排序

int arr[] = { 12, 7, 55, 7, 89, 32 };

// 1.冒泡排序

// 外层循环一共比较多少轮

/* for (int i = 1; i < arr.length; i++) {

//

for (int j = 0; j < arr.length-i; j++) {

if (arr[j] > arr[j + 1]) {

int temp;

temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

}

for (int num : arr) {

System.out.print(num + " ");

}

*/

// 2.选择排序

for(int i = 0; i<arr.length-1;i++) {

for(int j=i+1;j<arr.length;j++) {

if(arr[i]>arr[j]) {

int temp;

temp=arr[i];

arr[i]=arr[j];

arr[j]=temp;

}

}

}

for (int num : arr) {

System.out.print(num + " ");

      }

}

}






例题

public class HomeWork_op_2 {

public static void main(String[] args) {

// 将数组逆序打印

// int arr []= {1,2,3,6,68,78,9,8};

// for(int i=arr.length-1 ;i>=0;i--) {

// System.out.print(arr [i]+" ");

// }

//

// 将一个数组中的元素逆序存放(知识点:数组遍历、数组元素访问)

int arr []= {1,2,3,6,68,78,9,8};

int arr2[]= new int[arr.length];

int j=0;

int i;

for( i=arr.length-1 ;i>=0;i--) {

arr2 [j]=arr[i];

j++;

}

for(int s : arr2) {

System.out.print(s+" ");

}

}

}



public class HomeWork5 {

public static void main(String[] args) {

//最大最小,平均

int arr[] = {1,99,88,56,75,32,54,64};

int max = arr[0];

int temp=0;

int min=arr[0];

for(int num :arr) {

if (num>max) {

max=num;

}

// if(num<min) {

// num=min;

// }

// temp=temp+num;

//

}

System.out.println("最大值:"+max);

// System.out.println("最小值:"+min);

// System.out.println("平均值:"+temp*0.1/arr.length);

}

}


public class Y_HomeWork {

public static void main(String[] args) {

// TODO Auto-generated method stub

          boolean b[]=new boolean[35];//35  个false

          Random ran=new Random();

          for(int i=1; i<=7;i++) {

          //生成1-35之间的数字

          int num = ran.nextInt(35)+1;

//          判断之前是否生成过,到b个数组中下标为num-1对应元素是TRUE还是false,是否生成过

          if( b[num-1]==true) {

          i--;


          }

          else {

          b[num-1]=true;

          System.out.print(num+" ");

          }


          }


}

}


二维数组

public class ArrayDemo6 {

public static void main(String[] args) {

// s数组当中存数组;

int arr[][]=new int[3][];//前边括号代表长度

arr[0] = new int[4] ;

arr[0][0]=1;

arr[0][1]=4;

arr[0][2]=2;

arr[0][3]=5;

arr[1] = new int[2] ;

arr[2] = new int[1] ;

System.out.println(arr[0][1]);

// int arr[] = {};

// int arr2[][] = {

// {11,11},

// {11,566556,5656},

// {1,2}

//         };

// System.out.println(arr2[0][1]);

}

}


二维数组遍历


public class Demo1 {

public static void main(String[] args) {

// TODO Auto-generated method stub

          int arr[][] = new int [3][];

          arr[0]= new int[3];

          arr[0][0]=1;

          arr[0][1]=2;

          arr[0][2]=3;


          arr[1]= new int[1];

          arr[1][0]=10;


          arr[2]= new int[2];

          arr[2][0]=10;

          arr[2][1]=1;



//            int arr1 [][]=new int[][] {{123,2652},{5454,56,56,689}};

//            int arr2[][]={{123,2652},{5454,56,56,689}};


//            数组遍历

            for(int i= 0;i<arr.length;i++) {


            for(int j=0;j<arr[i].length;j++) {

            System.out.print(arr[i][j]+" ");

            }

            System.out.println();

            }

}

}

快速排序和数组拷贝

mport java.util.Arrays;

public class Demo3 {

public static void main(String[] args) {

// 快速排序

// int arr[]= {12,1,55,7,89,32};

// Arrays.sort(arr);

// for(int num:arr) {

// System.out.print(num+" ");

//数组复制

int arr1[]= {1,2,3,4,51};

int arr2[]= {6,7,8,9,9,8,7,9,9};

System.arraycopy(arr1, 2, arr2, 2,3);

for(int num1:arr2) {

System.out.print(num1+" ");

}

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 3,353评论 0 9
  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 1,621评论 0 9
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,171评论 0 41
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,925评论 0 2
  • ❤步游重庆第一站☞1.较场口“重庆大轰炸纪念馆” 遗址 位于地铁站9号口附近,也是我们的集合地点,9:45集合,1...
    舒涵vivian阅读 2,268评论 0 1