糖逗 发表于 2020-8-16 20:46:45

JAVA学习Day5【数组】

本帖最后由 糖逗 于 2020-8-16 20:59 编辑

学习视频:https://www.bilibili.com/video/BV17J411G72L?p=20

85-101

/*
*数组(有限个类型相同的变量)
*/

class test05_01{
        public static void mian(String[] args){
                int[] scores = new int;//声明数组
                scores = 99;
                scores = 100;
                //打印数组的长度
                System.out.println(scores.length);
        }
}

/*
*数组初始化(1)动态初始化(2)静态初始化
*/


class test05_02{
        public static void main(String[] args){
                int[] scores;
                //静态初始化
                scores = new int[]{33, 45, 11, 87, 99, 100};
                //遍历数组
                for(int i = 0; i < scores.length; i++){
                        System.out.println(scores);
                }
               

        }
}

/*
*静态数组内存
*int[] array = {1, 3, 4, 5};其中int[]是一种数据类型,数组类型,它是一种引用数据类型
*引用,表示引用一个对象,引用堆中的一块内存
*java程序是在JVM中运行的,JVM中的内存主要有两块区域:栈和堆
*其中栈存储局部变量(现在见到的变量都是局部变量)堆中存储的是对象
*array是引用数据类型,表示引用堆中这个对象的变量,数组名中存储的是数组的首地址
*
*1.数组下标为什么从0开始?下标表示的是这个元素的位置距离首地址的偏移量
*2.数组名中存储的是什么?数组名中存储的是数组在堆中的一整块区域的首地址
*3.数组的元素如何存储?在堆中依此连续的存储
*/
class test05_03{
        public static void main(String[] args){
                int[] array = {1, 3, 4, 5};
                System.out.println(array);
                //返回的结果是 数组对象的类型@对象的hashCode编码值

        }
}


/*
*动态初始化(1)如果没有手动赋值之前,数组的元素有默认值
*元素是基本数据类型
*byte,short,int,long:0
*float,double:0.0
*char:\u0000 字符编码为0的空字符
*boolean:false
*元素是引用数据类型:null
*/

class test05_04{
        public static void main(String[] args){
                char[] letters;
                letters = new char;
                for(int i = 0; i < letters.length; i++){
                        letters = (char)('A' + i);
                }

        }
}

/*
*数组初始化存储(动态数组)栈存储首地址
*/

class test05_05{
        public static void main(String[] args){
                int[] array = {1, 5, 7};
                //最大值,最小值
                int max = array;
                for(int i = 1; i < array.length; i++){
                        if(array > max)max = array;
                }
                System.out.println("最大值是:" + max);
        }
}

/*
*数组反转(原地址不变)
*/
class test05_06{
        public static void main(String[] args){
                //(1)建立一个新数组,逆序赋值
                char[] newLetter = new char;
                for(int i = 0; i < newLetter.length; i++){
                        newLetter = Letter;
                }
                letters = newLetter;
                for(int i = 0; i < letters.size(); i++){
                        System.out.println(letters);
                }
                //(2)首尾互换
                for(int i = 0; i < lettes.length / 2; i++){
                        char temp = letters;
                        letters = letters;
                        letters = temp;
                }
        }
}


/*
*数组复制
*/

class test05_07{
        public static void main(String[] args){
                //(1)复制一个和原来一样的数组,长度和元素
                int[] arr = {1, 2, 3, 4};
                int[] newArr = new int;
                for(int i = 0; i < newArr.length; i++){
                        newArr = arr;
                }
                //(2)赋值一个比原来数组短的(截取)
                int[] newArr = new int;
                for(int i = 0; i < newArr.length; i++){
                        newArr = arr;
                }
                //(3)复制一个比原来常的
                int[] newAR = new int;
                for(int i = 0; i < arr.length; i++){
                        newArr = arr;
                }
                //(4)复制一个新数组,新数组的长度有键盘输入,长度不定
                java.util.Scanner input = new java.util.Scanner(System.in);
                System.out.print("请输入新数组的长度:");
                int len = input.nextInt();
                int[] newArr = new int;
                for(int i = 0; i < arr.length && i < newArr.length; i++){
                        newArr = arr
                }
        }
}


页: [1]
查看完整版本: JAVA学习Day5【数组】