• java学习第十一天


    第十二次课

    目标

    一维数组(创建访问)

    一、概念与特点

    1、概念

    相同数据类型的有序集合[]

    数组名: 容器的名字

    元素:  下标变量,数组名[下标]

    长度:  length

    下标:   位置、索引  [0,length)

    2、特点

    1)、数组是引用类型,也是对象 (new), 元素看成成员属性

    2)、数组是一个容器,长度一旦确定不可改变 (new 开辟空间)

    3)、元素的数据类型相同

       a)、基本类型: int[]  double[]

       b)、引用类型: String[] Man[] Dog[]

    4)、位置有序,不是指内容有序

    二、声明与初始化

    1、使用默认值

    类型[]  数组名 =new 类型[长度];

    类型数组名[] =new 类型[长度]; à不推荐类C语言的写法

    2、手动给定值

    类型[]  数组名 =new 类型[]{值列表};

    省略形式:类型[]  数组名 ={值列表};

    省略的形式不能与声明分开

    三、数组的遍历

    数组的访问如果没有规律,只能一个一个元素的访问,如果存在规律,可以循环来遍历访问。

    1、普通for

    2、增强for  foreach

    注意: foreach常用于获取数据,因为局部变量拷贝的元素的内容。

    3、练习(能做出前3个即可)

    1)、存储1-5整数,累加求和

    2)、模拟超市购物打印小票(列出商品) 结账

    3)、将1-20存放到指定的数组中

    4)、存储乘法表的值,求和

    5)、5个人,组成一个圈,每2个退出一个,打印退出的顺序,最后一个编号是谁 (了解......) 

    //代表5个人 -->false 存在  true表示离开

            boolean[] people =newboolean[10];      

            //不断的踢人

            inti=0;

            intlen =people.length;

            intj=0; //0 1

            while(len>0){              

                //不断0 1 2 3 4 循环查找

                if(people[i]==false){

                    j++; //找到一个

                    if(j==2){

                        people[i]=true;//离开

                        len--; //少一人

                        System.out.println(i);

                        j=0;

                    }

                }

                i++;

                i=i%people.length;

            }

    6)、随机生成100个小写字母,统计打印每个字母出现的概率

              a)随机生成小写字母

              b)生成100个,

             c)统计概率

     7)、使用数组实现:有三个人,张三(24岁),李四(28岁),王五(22岁);编写程序实现:

    在程序中有一个int变量,当其值为某个人的年龄时,

    打印出该人姓名。并在其值不等不等于这三个人的年龄时,输出没有人的年龄为[值]。

    如:

             a) int age=22;则输出王五

             b) int age=12;没有人的年龄为12

    四、数组的界限(避免运行时异常)

    1、NullPointerException

    没有开辟空间

    2、ArrayIndexOutOfBoundsException

    数组越界,范围在[0,长度)

    3、NegativeArraySizeException

    负数的长度,编译通过,运行错

    五、命令行参数(了解)

    1、cmd传递参数

    java ArrayDemo11  a b c "d e f"

    2、eclipse 传递

    六、数组方法

    1、equals()

    没有重写equals方法,比较还是地址

    2、Arrays.equals()

    比较数组的内容

    3、Arrays.sort()–>了解

    从小到大(默认,升序) 或者从大到小(降序)排序

    了解:

    1)、Comparable +compareTo

    2)、Comparator +compare

  • 相关阅读:
    《剑指 Offer》学习记录:题 14:剪绳子
    网络技术:配置动态路由
    网络技术:配置静态路由
    大一下暑假学习推荐
    Java WEB 程序设计:班级投票系统
    55 内核与应用的分离(下)
    54 内核与应用的分离(中)
    53 内核与应用的分离(上)
    无线数据传输模块的功能
    什么是IO控制器?
  • 原文地址:https://www.cnblogs.com/yuyufeng/p/5357186.html
Copyright © 2020-2023  润新知