• review


    1. 三元运算符 

    关系表达式?表达式1:表达式2
    * 执行流程:
     *         A:计算关系表达式的值,看是true还是false
     *         B:如果是true,表达式1就是结果
     *        如果是false,表达式2就是结果
    (a>b)?a:b

    https://www.cnblogs.com/longesang/p/10763057.html

    2.方法

    * 写一个方法有两个明确
    * A:返回值类型 明确功能结果的数据类型
    * B:参数列表 明确参数个数,以及参数的数据类型

    • 格式:
    – 修饰符 返回值类型 方法名(参数类型 参数名1, 参数类型
    参数名2…) {
    函数体;
    return 返回值;
    }

    3.方法重载

    方法重载概述
    – 在同一个类中, 允许存在一个以上的同名方法, 只要它们
    的参数个数或者参数类型不同即可。
    • 方法重载特点
    – 与返回值类型无关, 只看方法名和参数列表
    – 在调用时, 虚拟机通过参数列表的不同来区分同名方法

     https://www.cnblogs.com/longesang/p/10918513.html

    4.堆栈、基本数据类型、引用数据类型、形参、实参

    https://www.cnblogs.com/longesang/p/10919095.html

    堆区:  一般由程序员分配释放,由 malloc 系列函数或 new 操作符分配的内存,其生命周期由 free 或 delete 决定。在没有释放之前一直存在,直到程序结束,由OS释放。其特点是使用灵活,空间比较大,但容易出错

    栈区: 由编译器自动分配释放,保存局部变量,栈上的内容只在函数(方法)的范围内存在,当函数运行结束,这些内容也会自动被销毁,其特点是效率高,但空间大小有限

     成员变量:类中,方法外
    局部变量:方法中或者方法声明上(形式参数)
     成员变量:有默认值
    局部变量:没有默认值。必须先定义,赋值,最后使用

    5.构造方法、this使用

    1)分为 :无参构造 、有参构造

     * 构造方法:
    * 给对象的数据进行初始化
    *
    * 格式:
    * 方法名和类名相同
    * 没有返回值类型,连void都不能写
    * 没有具体的返回值
     * 成员变量赋值:
    * A:setXxx()方法
    * B:带参构造方法

    2)this关键字的使用
    如果有局部变量名和成员变量名相同,在局部使用的时候,采用的是就近的原则
    我们有没有办法把局部变量的name赋值给成员变量的name呢? this可用解决
    this:代表所在类的对象引用。方法被哪个对象调用,this就代表那个对象
    * 使用场景:
    局部变量隐藏成员变量

    https://www.cnblogs.com/longesang/p/10997518.html

    6.String

    https://www.cnblogs.com/longesang/p/11002494.html

     * String:字符串类
    * 由多个字符组成的一串数据
    * 字符串其本质是一个字符数组
    *
    * 构造方法:
    * String(String original):把字符串数据封装成字符串对象
    * String(char[] value):把字符数组的数据封装成字符串对象
    * String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象

    https://www.cnblogs.com/longesang/p/11002494.html

    String的用法

      boolean equals(Object obj):比较字符串的内容是否相同

      boolean startsWith(String str):判断字符串对象是否以指定的str开头

      * char[] toCharArray():把字符串转换为字符数组

      * 按照指定符号分割字符串
      * String[] split(String str)

      * String类的获取功能:
      * int length():获取字符串的长度,其实也就是字符个数
      * char charAt(int index):获取指定索引处的字符
      * int indexOf(String str):获取str在字符串对象中第一次出现的索引
      * String substring(int start):从start开始截取字符串
      * String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end

    7.StringBuilder

    * String和StringBuilder的区别:
    * String的内容是固定的。(方法区的内容)
    * StringBuilder的内容是可变的

    * 添加功能
      * public StringBuilder append(任意类型):添加数据,并返回自身对象
    * 反转功能
      * public StringBuilder reverse()
    StringBuilder和String的相互转换
      * StringBuilder -- String
      * public String toString():通过toString()就可以实现把StringBuilder转成String
      *
      * String -- StringBuilder
      * StringBuilder(String str):通过构造方法就可以实现把String转成StringBuilder
    //StringBuilder -- String
    StringBuilder sb = new StringBuilder();
    sb.append(11).append("aa");
    String sss = sb.toString();
    System.out.println(sss);

    //String -- StringBuilder
    String s1 = "abcd1234";
    StringBuilder sb1 = new StringBuilder(s1);
    System.out.println(sb1.append(888));


    8. 集合 Arraylist (集合体系 :Collection

    https://www.cnblogs.com/longesang/p/11021722.html

    array 和ArrayList的区别?

      array 数组的长度是固定的,适应不了变化的需求。

      ArrayList集合的长度可变、大小可变。

    * ArrayList<E>:
    * 大小可变数组的实现
    *
    * <E>:是一种特殊的数据类型,泛型。
    * 怎么用呢?
    * 在出现E的地方我们使用引用数据类型替换即可
    * 举例:ArrayList<String>,ArrayList<Student>
    *
    * 构造方法:
    * ArrayList()
     ArrayList<String> array = new ArrayList<String>();


    9.static 静态

    * static特点:
    * 被所有的对象所共享
    * 可以直接使用类名来调用
    * 静态所修饰的成员加载优先于对象,随着类的加载而加载

     非静态方法:
    可以调用静态的成员变量

    静态方法:

    只能调用静态方法和变量,不能调用非静态的~

     9.2代码块

      代码块的执行顺序:(有参和无参没有顺序,按调用顺序。)

      main:局部--有参(静态代码块--代码块--有参)--无参(静态代码块只执行一次--代码块--无参)

    构造方法和构造代码块只有在创建对象时会用
    https://i.cnblogs.com/EditPosts.aspx?postid=11190573

    10.abstract 抽象类(@overwrite注解 , 方法重写

    抽象方法:没有具体方法体

    抽象类:有抽象方法的类必须是抽象类

      * 抽象类不能创建对象(不能实例化)
      * 抽象类中可以有非抽象的方法

    一个类继承了抽象类:要么重写所有的抽象方法,要么他自己是抽象类

    11. interface 接口

    接口,弥补了单一继承的局限性。

    接口里所有的方法全是抽象方法

    类与接口:实现关系,多实现。

    接口与接口的关系:继承关系,多继承

    12.final 关键字(https://www.cnblogs.com/longesang/p/11234616.html

    * final: 修饰符,可以用于修饰类、成员方法和成员变量
    * final所修饰的类:不能被继承,不能有子类
    * final所修饰的方法:不能被重写
    * final所修饰的变量:是不可以修改的,是常量

    13.多态(https://www.cnblogs.com/longesang/p/11234787.html

    * 多态的前提:
      * 子父类的继承关系
      * 方法的重写
      * 父类引用指向子类对象

     * 多态的成员特点:
      * 成员变量 编译时看的是左边,运行时看的左边
      * 成员方法 编译时看的是左边,运行时看右边
      * 静态方法 编译时看的是左边,运行时看的也是左边

      * 编译时看的都是左边,运行时成员方法看的是右边,其他(成员变量和静态的方法)看的都是左边

    总结:多态,子类只有重写父类的方法才可以为子类所用。
       如果要用子类自己的方法,必须要向下转型(强制类型转换)https://www.cnblogs.com/longesang/p/11234840.html
    优缺点:
       提高代码可扩展性
       无法直接访问子类特有的成员(可以使用向下转型方式获取)



    14.内部类 https://www.cnblogs.com/longesang/p/11243344.html
      成员内部类:在类的成员位置,和成员变量以及成员方法所在的位置是一样的.static修饰成员内部类,不用再创建外部类的对象了可以直接使用。
      局部内部类:在方法内,出了方法之后就无法使用(参考代码块特点)
      匿名内部类:没有名字的局部内部类
      

     15.包装类

    以int --- Integer为例

    String 类型转为 int: int a = Integer.parseInt("5"); //parseInt方法,参数:字符串

    int 转为 String :String s = 5 + ""; //int 加 空字符串

    16. Iterator:迭代器

    迭代器是依赖于集合的,相当于集合的一个副本,当迭代器在操作的时候,如果发现和集合不一样,则抛出异常(Exception in thread "main" java.util.ConcurrentModificationException:并发修改异常)

    17. foreach:增强for循环

    foreach 一般用来变量集合或数组

    foreach使用的迭代器实现,所以不能在遍历变量时更改

    17.2

    foreach 一般用来遍历集合或数组

    想使用 foreach 语句就必须实现 Iterable接口

    collection的父接口就是Iterable,所以集合和数组可以使用foreach来遍历

    18.List的常用子类:

    ArrayList
          底层是数组结构,查询快,增删慢
    LinkedList 底层结构是链表,查询慢,增删快

    19.SetList 的区别

    * Set的特点
      * 无序(存储和读取的顺序可能不一样)
      * 不允许重复
      * 没有整数索引

    List正好相反

    List的特点

    有序、可以重复、可以使用索引
    List数据重复,写出去重的方法(https://www.cnblogs.com/longesang/p/11270666.html

    Set的子类:

      HashSet

    20.Map 键值对集合

    * Map和Collection有什么区别
    * Map:是一个双列集合,常用语处理有对应关系的数据,key是不可以重复的,我们也称之为是夫妻对集合
    * Collection:是单列集合,Collection有不同的子体系,有的允许重复有索引有序,有的不允许重复而且无序,那么我们也称之为单身汉集合

     遍历map

    Map<String,String> map = new HashMap<String,String>();
    map.put("100","bb");
    map.put("200","bb");
    map.put("300","cc");
    System.out.println(map);

    //获取键值映射关系
    Set<Map.Entry<String,String>> entries = map.entrySet();
    System.out.println(entries);

    for (Map.Entry<String,String> entry:entries
    ) {
    System.out.println(entry);
    }

    21.exception异常

    22.

    23.



    
    
    
    
  • 相关阅读:
    Unit Vector Compression
    PT, BPT, VCM
    Major Performance Impacts

    SAH Benchmarks Of Natural History Museum Scene
    图标变换图片---轮播切换
    弹出层--弹框
    Git for windows 中文乱码解决方案
    在CentOS上安装Git
    Git 的基本配置
  • 原文地址:https://www.cnblogs.com/longesang/p/11357273.html
Copyright © 2020-2023  润新知