java基础回顾(待更新)

基本内容回顾

1、三元运算符、Scanner类、Random类

  1. 三元运算符:(条件判断)?(true返回值或执行语句):(false返回值或执行语句),举例: 3>2 ? “正确” : “错误” 这个表达式的返回值为"正确"

  1. Scanner类:方法nextInt()接收控制台录入的整型,方法next()接收控制台录入的字符串

  1. Random类:nextInt(a)返回0-a之内随机一个整数,nextDouble()返回0.0-1.0内的随机一个浮点型数

2、选择结构、流程控制、循环、结束循环

  1. 选择结构:

if(){
执行语句
}


if(){
执行语句1
}else{
执行语句2
}


if(){
执行语句1
}else if(){
执行语句2
}else{
执行语句3
}


  1. 流程控制:
    switch(变量){
    case 值1:执行语句1;break;
    case 值2:执行语句2;break;
    case 值3:执行语句3;break;
    case 值4:执行语句4;break;
    case 值5:执行语句5;break;

}

  1. 循环:
    for(变量;判断条件;动作){循环体}
    for(int i=0;i <= 10;i++){循环体}

while(判断条件){循环体}


do{循环体}while(判断条件)


while循环和do…while循环,循环次数一样,但是当条件不满足时,while循环不执行,do…while循环执行一次


  1. 结束循环
    break:结束循环
    continue:本次循环执行到continue结束,不再往下执行,直接进入下一次循环

3、连续内存的数据结构:数组(相继介绍其他数据结构类型)

  1. 定义格式:数据类型[] 变量名 = new 数据类型[长度]

  1. 一位数组、二维数组:行下标和列下标都是从0开始

4、List接口的实现类:ArrayList(数组数据结构)、LinkedList(链表数据结构);Set接口的实现类:HashSet(哈希元素唯一)、LinkHashSet(链表和哈希组合);

  1. 定义格式:ArrayList<存入的数据类型> 变量名 = new ArrayList<存入的数据类型>();整型Integer;字符串String

  1. 添加元素方法add(元素):有序添加,获取元素方法get(index):按照添加时的索引从0开始,获取集合长度方法size():返回结合的长度int类型

5、方法重载

  1. 方法名相同,参数的个数、数据类型必须不一样

6、封装:私有private、this关键字

  1. 类属性一般需要私有化(关键字private),这样实例对象不能对私有属性随意赋值,想要赋值或获取必须使用类提供的set和get方法

  1. 当全局变量和局部变量同名时,使用关键字 this.变量名:代表全局变量

7、继承(extends):普通继承(super和this)、继承抽象类

  1. 子类继承父类都是单继承,一个子类只能继承一个父类,一个父类可以被多个子类继承。子类可以直接调用父类的方法,也可以重写(覆盖)父类的方法。

  1. 当子类和父类出现同名的变量的时候,super.变量名:代表父类变量,this.变量名:代表子类变量

  1. 子类不能继承父类的私有属性,如果父类给与私有属性get和set方法,子类会继承get和set方法,子类可以通过继承的get和set方法来访问或赋值父类的私有属性

  1. 抽象方法必须定义在抽象类之中,用abstract关键字来修饰,抽象方法没有方法体;抽象类不可以被实例化,只有当继承抽象类的子类重写抽象类中所有的抽象方法的时候,这个子类才能实例化一个对象。抽象类,不可以和static、private、final关键字同时使用

8、构造方法、this、super

1.构造方法:实例化对象时执行的方法称为构造方法,构造方法名称和类名称相同,一般用用来初始化对象的属性值。没有返回值类型,一般对象创建结束构造方法执行结束,只执行一次。 其实,如果没有显示指定构造方法,编译会在编译时自动添加默认的构造方法,Person(){} //空参数的默认构造方法。构造方法可以重载。修饰构造方法的关键字:public允许任何其他类的访问;private只能自己类访问,其他类里面实例化对象时会报错。


  1. this:在类中调用构造方法:this(参数)

  1. super:父类中的构造方法有两种,一种是无参数的和有参数的。子类继承父类的时候,如果父类的构造方法中有一个是无参数的(存在重载的情况),则子类会生成一个隐式super(),来调用执行父类的无参数构造函数,并且不会执行或调用其他有参数构造方法。当父类没有 无参数构造方法时,只有一个或多个有参数构造方法时(存在重载的情况),子类需要创建构造方法(有参数),并在构造方法里面以显式的super(参数),来实现父类的有参构造方法,任意一个有参构造方法即可即可。

9、关键字:final、static、匿名对象

  1. final可以修饰类、类的成员、局部变量。final修饰的类不可以被继承,但是却可以继承其他类;final修饰的方法不可以被覆盖,父类方法没有final修饰,子类覆盖后可以用final修饰;final修饰变量时必须赋值,而且不可被修改,所以final修饰的变量也叫常量;final修饰的实例化对象,物理地址不可被改变,但是属性值可以更改;如果final修饰全局变量时没有赋值,那么在所有的构造方法中必须要对其进行赋值;

  1. static关键字:static是静态修饰符,一般用来修饰类的成员;static修饰的成员变量属于这个类,不属于某个对象,当某个对象对此静态成员变量做出赋值或修改时,这个类的所有对象对应的成员值都会被修改,所有静态成员变量推荐使用类名来访问;静态内容不能使用this和super来访问,静态成员只能访问静态成员;接口中的成员变量都是默认使用public static final来修饰,接口没有构造方法,所以定义时必须赋值,通过接口类名来访问。

10、StringBuffer和StringBuilder

  1. 官方释义:字符串缓冲区支持可变的字符串。其实可以理解为一个可长度的字符串数组。

  1. 提供了各种操作方法:
    append(String str); //添加字符串
    insert(int effset, String str):在指定位置插入
    delete(int start, int end):删除
    replace(int start, int end,String str):替换指定范围内的内容
    reserve():返回倒序
    toString():返回数组的字符串格式,上面所有的方法都是返回类

  1. StringBuffer和StringBuilder几乎是一样的,但是推荐使用后者,因为后者比前者在速度上要快一点(涉及到线程)

11、泛型

  1. 泛型定义:我觉得泛型可以理解为是一种未知数据类型(待指定),先用T、E、V。。。任意字母来代替。

  1. 泛型类:泛型类里面可以定义泛型变量、泛型方法;在泛型类实例化对象时需要明确具体数据类型,对应的变量和方法也就随之确定具体的数据类型;如果构造方法的参数也是泛型,那么实例化对象传入实参的时候,会根据实参的类型自动确定泛型的具体数据类型。

  1. 泛型接口:泛型接口使用方式和泛型类几乎一致, 泛型接口的实现类可以继续使用泛型;

  1. 泛型的实参:泛型传入的参数只能是类参数,不能是具体的数据类型,比如String、Integer。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值