A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2018-8-31 16:54 编辑

Java学习第7天,今天学习了Scanner类、Random类、ArrayList类,难度开始加大,下附课堂笔记总结:
day07【Scanner类、Random类、ArrayList类】


1、能够使用Scanner类获得键盘录入数据
        引用类型的一般操作步骤:
                导包
                        import 包路径.类名称;
                                如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写
                                只有java.lang包下的内容不需要导包,其他的包都需要import语句
                创建
                        类名称 对象名 = new 类名称();
                使用
                        对象名.成员方法();               
        
        创建键盘录入对象:
         
[Java] 纯文本查看 复制代码
       Scanner sc = new Scanner(System.in); System.in表示从键盘录入数据

               
2、能够使用Random类生成随机数
        键盘录入一个数字,与生成的0--100之间随机数比较
      
[Java] 纯文本查看 复制代码
  public static void main(String[] args) {
        //创建随机数对象
        Random rd = new Random();
        //获取随机数0--100之内的,因为Random类生成的随机数是[0,N),左闭右开区间,所以需要+1
        int i = rd.nextInt(100) + 1;
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        while (true){
            //键盘录入数据
            int a = sc.nextInt();
            if(a > i){
                System.out.println("猜大了");
            }else if (a < i){
                System.out.println("猜小了");
            }else {
                System.out.println("猜对了");
                break;
            }
        }
    }

        
3、能够使用数组存储自定义类型并遍历
        对象数组:元素是引用数据类型的数组
                对象数组中存储的是引用数据类型对象,是对象的地址值
        
[Java] 纯文本查看 复制代码
public static void main(String[] args) {
                //创建学生数组
                Student[] students = new Student[3];
                //创建学生对象
                Student s1 = new Student("曹操",40);
                Student s2 = new Student("刘备",35);
                Student s3 = new Student("孙权",30);
                //把学生对象作为元素赋值给学生数组
                students[0] = s1;
                students[1] = s2;
                students[2] = s3;
                //遍历学生数组
                for(int x=0; x<students.length; x++) {
                        Student s = students[x];
                        System.out.println(s.getName()+"‐‐‐"+s.getAge());
                }
        }

        
4、理解什么是集合
        集合:是一个统称,与数组类型也是容器,包含List、Set、Map三大类型
        集合和数组的区别:
                数组一旦创建,长度不可改变
                集合长度可以动态改变
        对于ArrayList来说,有一个尖括号<E>代表泛型
                泛型:也就是装在集合当中的所有元素,全都是统一的类型
                注意:泛型只能是引用类型,不能是基本类型
                        对于ArrayList来说,直接打印得到的不是地址值,而是内容
                        如果内容是空,得到的是空的中括号:[]               
               
5、能够使用ArrayList集合存储数据
        如果希望向集合ArrayList当中存储基本数据类型,必须使用基本类型对应的“包装类”
                因为ArrayList泛型中存放的必须是引用数据类型,而包装类是引用数据类型,存储方式是地址值
                int的包装类是Integer,char的包装类是Character,其他的基本数据类型都是首字母大写
                包装类:是统称,是基本类型对应的引用数据类型
                自动装箱:基本类型---包装类型
                自动拆箱:包装类型---基本类型
        
6、能够使用ArrayList集合中常用的方法
        ArrayList当中的常用放法:
                public boolean add(E e):向集合当中添加元素,参数类的类型和泛型一致
                        对于add添加方法来说,添加元素一定会成功
                public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。        
                public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
                public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。
7、能够使用ArrayList集合存储字符串并遍历
        
[Java] 纯文本查看 复制代码
public static void main(String[] args) {
        //创建String集合
        ArrayList<String> list = new ArrayList<>();
        //添加元素
        list.add("JAVA");
        list.add("PHP");
        list.add("C++");
        //遍历集合
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }

8、能够使用ArrayList集合存储自定义对象并遍历
      
[Java] 纯文本查看 复制代码
 public static void main(String[] args) {
        //创建学生对象
        Student student1 = new Student("赵丽颖",28);
        Student student2 = new Student("刘亦菲",29);
        Student student3 = new Student("秦岚",32);
        //创建学生信息集合
        ArrayList<Student> list = new ArrayList<>();
        list.add(student1);
        list.add(student2);
        list.add(student3);
        //循环遍历学生集合
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i).getName()+","+list.get(i).getAge());
        }
    }

9、能够使用ArrayList类作为形式参数和返回值类型
      


[Java] 纯文本查看 复制代码
 public static void main(String[] args) {
        //创建存储随机数的集合
        ArrayList<Integer> list = new ArrayList<>();
        //创建随机数对象
        Random rd = new Random();
        //获取1--100之间的20个随机数
        for (int i = 0; i < 20; i++) {
            int random = rd.nextInt(100) + 1;
            list.add(random);
        }
        //20个随机数
        System.out.println("20个随机数:"+list);
        //调用arrayList方法
        arrayList(list);
   }

    //接收作为参数传递过来的1--100之间随机数集合,创建判断集合中哪些是偶数的方法
   
[Java] 纯文本查看 复制代码
public static ArrayList<Integer> arrayList(ArrayList<Integer> list){
        //创建集合用来存储符合要求的偶数
        ArrayList<Integer> list1 = new ArrayList<>();
        //遍历1--100之间随机数集合,判断其中是偶数的添加到偶数集合list1中
        for (int i = 0; i < list.size(); i++) {
            //判断list集合中的数哪些是偶数
            if (list.get(i) % 2 == 0){
                list1.add(list.get(i));
            }
        }
        System.out.println("是偶数的有"+list1.size()+"个:"+list1);
        return list1;
    }



        匿名对象
                匿名对象只能使用唯一的一次,下次再用不得不再创建一个新的对象
                如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象
                new.类名称().成员变量、成员方法;

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马