前言

初次尝试改变做笔记的风格,之前的太详细拖沓,主次不分明,现在我希望能做出对自己实用的笔记

目录

一、基础知识

  1. java 执行流程
  2. 注意事项
  3. 转义字符
  4. 注释
    一、基础语法
  5. 输入 Scanner
  6. for-Each
  7. while
  8. swtich
  9. 集合
    二、面向对象核心
  10. 类与对象

一、基础知识

  1. java 执行流程:
    .java 源文件->(javac编译):.class 字节码文件->(java运行):结果

  2. 注意事项:
    一个源文件最多只能有一个 public 类,源文件必须以该类名命名;其他类个数不限,也可以将 main 方法写在非 public 类中然后指定运行非 public 类,这样入口方法就是非 public 的 main 方法

  3. 转义字符
    \t:制表符
    \n:换行符
    \r:回车

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    System.out.println("韩顺平教育\r北京");  \\输出:北京平教育
    ```
    \\\:一个\
    \\":一个"
    \\':一个'

    4. 注释:
    1. 单行注释:\\\
    2. 多行注释:\\* *\
    3. 文档注释
    # 二、基础语法
    1. 基本数据类型
    1. 输入 Scanner
    **键盘读取用户输入**

    //输入
    import java.util.Scanner;
    Scanner sc = new Scanner(System.in);
    String number = sc.nextLine();
    int age = sc.nextInt();

    1
    2
    3
    4
    *nextInt()后面加nextLine()要注意换行符问题,因为 nextInt()不吸收换行符,残留在输入缓冲区,所以nextInt()后如果还有输入加个 sc.nextLine()*  

    2. for-Each
    **用于遍历集合和数组,只遍历,不需要下标时使用**

    //for(元素类型 名称:集合名/数组名等)
    for(Student student :list){
    student.printInformation();
    }

    1
    2
    3

    3. while
    循环菜单程序结构(小系统核心):

    boolean running = true;//通过修改 running 退出
    while(running){
    //显示菜单
    //用户输入选择
    //switch
    }

    1
    2
    3

    4. swtich
    根据输入执行不同功能

    swtich(choice){
    case 1:{
    break;
    }
    case 2:{
    nreak;
    }
    }

    1
    2
    3
    4
    5
    6
    *每个 case 后必须加入 break,否则会发生 case 穿透*

    5. 集合
    1. 查找:遍历集合,用.equals()比较字符串
    2. 删除:普通 for 循环,通过下标来删除
    3. 排序:

    Collectios.sort(list,(s1,s2)->s1.getAge() - s2.getAge());

    1
    2
    3
    4
    5

    # 三、面向对象核心
    1. 类与对象
    1. 类与对象
    2. 构造方法

    puclic Student(String number,String name, int age){
    this.number = number;
    this.name = name;
    this.age = age;
    }

    1
    2
    3
    3. setter、getter(getter return值)
    4. ArrayList(专门装对象的集合,有下标,本质上动态数组)
    **不确定元素个数,需要频繁删减的场景**

    // 创建 ArrayList:list
    ArrayList list = new ArrayList<>();
    //添加
    list.add(student01);
    //取出
    Student student02 = list.get(student01);
    //删除
    list.remove();

    1
    2
        *存进集合的不是变量名。而是对象的地址(引用)*
    # 四、异常处理

    try{

}catch(Exception e){

}finally{

}

# 五 集合  
1. 集合框架体系:  
集合主要是两组(单列集合、双列集合)  
Collection 接口有两个重要子接口 List、Set,他们的实现子类都是单列集合  
Map 接口的实现子列是双列集合,存放 k-v
**单列集合**    
Collection:List、Set  
List:ArrayList、Vector、LinkedList  
Set:HashSet、TreeSet  
**双列集合**  
Map:HashMap、HashTable、TreeMap   
HashTable:Properties  
HashMap:LinkedHashMap