0
点赞
收藏
分享

微信扫一扫

java复习

言诗把酒 2022-04-16 阅读 68
java

Java复习

  • JVM

    java之所以能在多平台运行时因为JVM充当翻译官的作用

  • JRE

    是java的运行时的环境,包含jvm和运行的时候所需要的核心内库,想运行一个已有的java程序只需要安装jre就行了

  • JDK

    是java程序开发工具包,包含JRE和开发人员使用的工具,其中的开发工具:编译工具(javac.exe)和运行工具(java.exe)

  • 数据类型

-在这里插入图片描述

在这里插入图片描述

小模块复习

1.1方法

  • 方法传参的时候,如果参数是基本数据类型,在方法中修改参数,实参不会改变,但是如果参数是引用数据类型就会修改实参
面向对象编程
1.1继承

​ 关键字:extends

​ 特点:

​ 构造方法:

​ 子类中所有的构造方法默认都会访问父类中无参的构造方法,因为子类会继承父类中的数 据,可能还会用到父类中的数据,所以必须先初始化父类的数据

ps:注意 继承后私有方法不能被重写(父类私有成员子类是不能继承的)

​ 子类方法访问权限不能更低(public>默认>私有)

1.2多态

​ 同一个对象表现出不同的形态

​ 访问特点:成员变量:编译看左边,执行看左边,可以访问子类重写的功能,不能访问自定义的方法

​ 成员方法:编译看左边,执行看右边 ps:因为成员方法有重写,而成员变量没有,对于调用父类成员变量还是子类成员变量,只与变量的声明类型有关系,与实例化的类型没有关系。而对于调用父类方法还是子类方法,只与变量的实例化的类型有关系,与声明的类型没有关系

1.2.1抽象类
1.3接口

​ 1.3.1:成员变量

​ 只能是常量,默认修饰符public static final

​ 1.3.2:构造方法

​ 接口没有构造方法,接口主要是对行为抽象,是没有具体存在的‘

​ 成员方法默认都是抽象方法

抽象类和接口的区别

抽象是对于一个具体事物的抽象,大多表示一个事物具有的最基本的行为和属性,而接口是对于行为的抽象表示一个具体的行为而不关心谁去做这个行为

标准库

java的基本数据类型:整数类型,浮点类型,布尔类型,字符类型;引用数据类型:class ,接口,

基本数据类型包装类
byteByte
shortShort
intInteger
floatFloat
doubleDouble
charCharacter
booleanboolean
longLong
string对象
  • 创建方式: new Strin() 每次创建都会重新开辟一块地址,每次获得的对象不一样

    ​ String s = “abc” 只要字符列相同即顺序和大小写相同,无论在程序中出现几次都是同一个 String对象

stringBuilder
  • 创建方式:new StringBuilder()创建一个空白可变的字符串对象

​ new StringBuilder(String str)根据字符串的内容创建一个可变的字符串对象

StringBuilder与string相互转化
StringBuilder对象.tostring()方法    //将StringBuilder转化为string
StringBuilder(stirng)      //构造方法,将字符串转化为StringBuilder
Array对象
  • 创建方式: Array的构造方法是用private修饰的,所以只能用newinstance创建
Integer对象
  • 创建方式:

    integer()//不推荐
    valueof()
    
  • 和字符串相互转化

    int ------ string

    …public static String valueof(int i)

    string -----int

    …integer.valueof()

    …public int intValue()

    …public int parseInt

集合基础

  • 集合分为单列集合和双列集合

    单列:List Set

    双列:Map

    都是接口需要具体的实现类

一.List集合

  • 特点:

  • 特有方法

1.1ArrayList

​ 在java中的数组的长度是固定的,没有push和pop方法所以有了集合的应用

​ 集合类的特点:提供一种存储空间可变的

构造函数:  ArrayList()     创建一个空的集合对象
方法:     Boolean add(要添加的元素)   将指定的元素追加到此集合的末尾
           参数2  index    在指定的索引位置插入指定的元素
           Boolean remove(obj)    删除指定的元素,返回删除是否成功
           Element remove(index) 删除指定索引的元素,返回被删除的元素
           Element set(index,element)  修改指定的索引的元素返回修改的元素
           Element  get(index)
1.2linkList

底层的数据结构是链表,因为如果数组增删性能满,查询快,链表增删快,查询慢

特有方法:

void addFirst(e)
addLast(e)
E getFirst()
E getlast()
E removefirst
E removelast
1.3集合的遍历
  • Iteratior:迭代器,集合的专用遍历方式

    方法:next() 返回迭代的下一个元素

​ hasnext() 如果还有可以迭代的对象,则返回true

  • 集合有个方法 iterator(): 返回这个集合的遍历器对象

!! 并发修改异常

​ 记住:当一个集合的迭代器(特指iterator)被创建出来的时候,集合的迭代次数就已经被确定,如果在之后在add元素就需要新创建一个迭代器

  • 列表迭代器 ListIterator

    比迭代器多了一个逆向迭代,用法和next和hasnext方法相同,但是注意光标最开始是左边

    迭代器有一个add方法 解决了并发修改异常

  • 增强for循环

    增强for:简化数组和collection集合的遍历

    • 实现了iterable接口的类允许其对象成为增强for语句的目标
    • 内部实现了迭代

二:Set集合

集合特点:不包含重复元素,没有带索引的方法,所以不能使用普通的for循环

2.1hashset
  • 底层数据结构为哈希表,无序的,对集合的迭代顺序不作任何保证,

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DjOckCm6-1650092565767)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20220415001811589.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-seasZVZt-1650092565767)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20220415000106318.png)]

jdk8哈希表是数组,而数组每一项都是链表

三:Map集合

3.1.map的概述

​ Interface Map<k,v> k.键的类型 v,值的类型,将键映射到值的对象,不能包含重复的键,每个键可以映射到最多一个值

​ 常用方法: V put(K key ,V value)

​ remove(k) 根据值删除键值对元素

​ clear:移除所有

​ 查: get(key)根据键查找值 ; keySet() 获取所有键的集合 Collection values() 获取所有值的集合

​ ** 遍历方式:

​ 1.获取所有键的集合,用keyset()方法实现

​ 2.遍历键的集合,获取到每一个键,用for( :)

                remove(k)  根据值删除键值对元素

​ clear:移除所有

​ 查: get(key)根据键查找值 ; keySet() 获取所有键的集合 Collection values() 获取所有值的集合

​ ** 遍历方式:

​ 1.获取所有键的集合,用keyset()方法实现

​ 2.遍历键的集合,获取到每一个键,用for( :)

​ 3.根据键去找值用get(key)

举报

相关推荐

Java复习

java复习深入

Java复习线路

Java复习_2

Java复习05

复习计划-java

0 条评论