七天冲刺计划(3/7)

接上一篇说为什么要注意java的输入缓存和c语言一样,因为在scanner中,nextInt()一类的方法在遇到空格就停止接受了,而若与nextLine()混用,首先nextLine()是接受一整行只有换行符才停止,那么有例,若我一次性输入123 456,case1:两个nextInt()则正常接受123与456。case2:第二个是nextLine()则会出现123和(空格)456的字符串,若不加以处理则会造成意料之外的错误。

———————————————————————————————————————————

一、基础

继承,Arrays集合类,String字符串,super语法,方法重写,多态(方法多态、对象多态),equals

二、进阶

static,继承的进阶,多态进阶,包和final,接口,内部类

三、常用api学习

Math,System,Runtime,Object,BigInteger,BigDecima

四、算法

二分,哈希查找,分块,冒泡排序,选择排序,递归算法,快速排序

学不完了🥹

———————————————————————————————————————————

一、StringBuilder默认容量为16,当超过容量后会变为  原容量*2+2

二、ArrayList学习(一)

import java.util.ArrayList;

/*
    Arrays集合(本集主要学习ArrayList):
    1.与数组对比:
     ·与数组不同,不可存储基本数据类型,只能存储引用类型
      若一定要存储基本数据类型,要将数据做成把包装类
     ·与数组不同,数组的长度固定,而集合的长度可变
      一个关键词:自动扩容
    2.ArrayList类(java.util.包内)基本性质:
     ·在创建时,要用泛型来限定集合中存储数据的类型,这也是泛型的作用
      使用方法为ArrayList<E>,E为类型
        如:ArrayList<String> list = new ArrayList<>()   此处后面的尖括号内可以不写
     ·在打印时,打印的内容为集合内地址对应的值,而不是地址本身
     ·在打印的时候会用[]把所有数据包起来输出
    3.成员方法:
     ·boolean add(E e)  添加内容,返回值为一个布尔值,特点是,不管添加啥返回都是true
     ·boolean remove(E e)  删除,删除具体的元素,成功就返回true,否则为false
      E remove(int index)  删除,根据下标删除,返回被删除的元素
     ·E set(int index, E e)  修改,根据下标修改覆盖,返回被修改的元素
     ·E get(int index)  查询,根据下标查询元素,返回值为查询结果
     ·int size()  获取集合长度
         快捷键  集合名.fori+enter  快速生成遍历循环
    4.基本数据类型包装类:
      ·byte -> Byte         short -> Short
       char -> Character    int -> Integer
       long、float、double、boolean对应的都是大写字母的本身,只有char和int特殊
      ·
*/

public class MainDraft {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        System.out.println(list);
        boolean result = list.remove("aaa");
        System.out.println(result);
        result = list.remove("ddd");
        System.out.println(result);
        //根据下标删除
        list.add("aaa");
        System.out.println(list);
        String str = list.remove(2);
        System.out.println("删除的元素是"+str+"删除后的集合内容为\n"+list);
        //修改
        str = list.set(1,"mmm");
        System.out.println("被修改的元素是"+str+"此时集合为\n"+list);

        //包装
        ArrayList<Integer> list2 = new ArrayList<>();
        //jdk5后int 和 Integer类型可以互相转化
        list2.add(1);
        list2.add(2);
        list2.add(3);
        list2.add(4);
        list2.add(5);
        System.out.println("\n"+list2);
    }
}

二、ArrayList学习(二)

注:此处Student在同包内以javabean形式已创建

import java.util.ArrayList;
import java.util.Scanner;

public class MainDraft {
    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<>();
        Scanner sc = new Scanner(System.in);

        for (int i = 0; i < 3; i++) {
            Student s = new Student();
            System.out.println("请输入第"+(i+1)+"个学生的姓名");
            String name = sc.next();
            System.out.println("请输入第"+(i+1)+"个学生的年龄");
            int age = sc.nextInt();
            s.setName(name);
            s.setAge(age);
            list.add(s);
        }
        for (int i = 0; i < list.size(); i++) {
            Student s = list.get(i);
            System.out.println(s.getName()+","+s.getAge());
        }
    }
}

三、static进阶

/*
    static:
   ·修饰变量时:
    1.表示静态,被该类的所有对象共享
    2.调用方法:
      ·类名调用
      ·对象调用
    3.静态变量随着类创建时入栈创建,并在堆中开辟一个专门的静态区保存静态变量
   ·修饰方法时:
    1.多用在测试类和工具类中
    2.调用方法:
      ·类名调用
      ·对象调用

      补充:工具类介绍
      javabean类用来描述一些事物的类,比如student,cat等
      测试类  用来检查其他类是否书写正确,带有main方法,程序的主入口
      工具类  不描述事物,而只是做一些事情的类
      1.构造注意事项:
        类名见名知意
        私有化构造方法
        方法定义为静态
   ·注意事项:
        静态方法中没有this关键字
            this代表调用方法者的地址值,而静态方法先于对象随着类创建而
          创建,因此调用static方法时是获取不到对象的地址的因此无法调用
        静态方法中只能访问静态内容
        非静态方法可以访问所有
*/
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值