2019-05-16 Java学习日记 day6

1.数组

数组是容器

为了存储同种数据类型的多个值

数组概念:

  数组是存储同一种数据类型的多个元素的集合,也可以一个容器

  数组既可以存储基本数据类型,也可以存储引用数据类型

数组初始化:就是为了数组开辟连续的内存空间,并为每个数组元素赋予值

分类:

动态初始化:

  只指定长度,由系统给出初始值

  格式:数据类型 [ ] 数组名 =new   数据类型[ 数组长度]

扫描二维码关注公众号,回复: 6250933 查看本文章

静态初始化:

  给出初始化,由系统决定长度

  格式:数据类型 [ ] 数组名 = new  数据类型 [ ] {元素1,元素2}

系统给出默认初始化值,整数类型都是0

整数类型:byte,short,int,long 默认初始化值:0

负点整数:float,double 默认初始化值:0.0

布尔类型:boolean 默认初始化值“”false

字符类型:char 默认初始化值:'\u0000'

  '\u0000'每个0代表的是16进制的0,四个0就是代表16个二进制

数组的形式:

栈:存储局部变量  堆:存储new出来的数组  方法区:面向对象部分讲解

本地方法区:和系统相关  寄存器:给cpu使用

数组索引越界异常:当访问数组中不存在的索引,会出现索引越界异常

空指针异常:数组已经不再指向堆内存了,而还用数组名去访问元素

class demoarray2          //比较大小值
{
    public static void main (String args[]) {
        int[] arr={50,100,58,54,60,90,80};
        int max=print(arr);
        System.out.println("最大值="+max);
        int min=getmin(arr);
        System.out.println("最小值="+min);
    }
    public static int print(int[] arr){
        int max=arr[0];
      for(int i=0;i<arr.length;i++){  //从数组的第一个开始遍历
       if(max<arr[i]){                          //如果max记录的值小于的数组的元素
       max=arr[i];                               //max记录住最大的;
       }
      }
      return max;
    }
    public static int getmin(int[] arr){
        int min=arr[0];
      for(int i=0;i<arr.length;i++){  //从数组的第一个开始遍历
       if(min>arr[i]){                          //如果max记录的值大于的数组的元素
       min=arr[i];                               //max记录住最大的;
       }
      }
      return min;
    }
}
遍历比较大小
class demoarray3       //反转
{
    public static void main (String args []){
        int[] arr={1,2,3,4,5,6,7,8};
        array(arr);
        print(arr);
    }
    public static void array(int[] arr){
        for(int i=0;i<arr.length/2;i++){
          int temp =arr[i];
          arr[i]=arr[arr.length-1-i];
          arr[arr.length-1-i]=temp;
    }
    }
    public static void print(int[] arr){
            for(int i=0;i<arr.length;i++){
                System.out.print(arr[i]);
            }
    }
}
反转操作
import java.util.Scanner;
class demoarray4
{
    public static void main (String args []){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入对应的星期范围在1-7");
            int week=sc.nextInt();
        System.out.println("星期"+getweek(week));
    }
        public static char getweek(int week){
            char[] arr={' ','一','二','三','四','五','六','日'};
            return arr[week];    //通过索引获取表中的元素
        }
}
键盘查找对应的星期
class demoarray5
{
    public static void main(String args []){
        int[] arr={1,2,3,4,5,6,7};
        int index =getindex(arr,7);
        System.out.println(index);
    }
    /*
    查找元素索引
    1.返回值类型int
    2.明确参数列表,int[] arr,int value
    */
    public static int getindex(int [] arr,int value){
        for(int i=1;i<arr.length;i++){  //数组的遍历
                if(arr[i]==value){              //如果数组中的元素与查找的元素匹配
                return i;
                }
    }
    return -1;
}
}
查找

二维数组:

格式:

  数据类型 [ ] [ ] 数组名=new 数据类型 [ ] [ ]

  数据类型 数组名 [ ] [ ]=new 数据类型 [ ] [ ]

  数据类型 [ ] 数组名  [ ]=new 数据类型 [ ] [ ]

class demo1_array
{
    public static void main (String args []){
    //int [] [] arr=new int[3] [2];
    int [] [] arr={{1,2,3},{4,50,5},{6,7,8,9}};
    int sum=0;          //定义变量,记录每次相加的结果
    for(int i=0;i<arr.length;i++){    //获取每一个一维数组
        for(int j=0;j<arr.length;j++){   //获取每一个一维数组的元素
            sum=sum+arr[i][j];               //累加
        }
    }
    System.out.println(sum);    }
}
相加

猜你喜欢

转载自www.cnblogs.com/JungTan0113/p/10879144.html