Java 早考试题

3.2

  1. Java语言的特性

    1. 简单性
    2. 面向对象
    3. 健壮性
    4. 多线程
    5. 跨平台
  2. JDK、JRE、JVM三者的关系

    1. JDK: java开发工具包
    2. JRE: java运行时类库
    3. JVM: Java虚拟机

三者关系:jdk 包含 jre,jre 包含 jvm

  1. public class 和 class 区别

    1. public class
      1. public class不是必须的
      2. 在一个源文件中只能有一个 public class
      3. public class 的类名与源文件名必须一致
    2. 多class
      1. 一个 java 源文件中可以定义多个 class
      2. 一个源文件中类名不能重名
      3. 在任何一个 class 文件中都有一个程序的入口
  2. 八大基本数据类型
    类型名称 占用字节 表示范围 表示
    整数型 byte 1 -128--127 0
    short 2 -32768 -- 32767 0
    int 4 -2147483648 - 2147483647 0
    long 8 -2^63 ~ 2^63-1 0L
    浮点型 float 4 ±1.18E-38 ~ ±3.40E+38 0.0f
    double 8 ±2.23E-308 ~ ±1.80E+308 0.0
    布尔型 boolean 1 true false false
    字符型 char 2 2^16-1 【0--65535】 \u0000
  3. 数据类型转换

    1. 八大基本数据类型中只有boolean不能进行转换,剩下的七个都能互相转换!
    2. 相互转换:
      1. 自动类型转换:小容量转换为大容量
        byte< short(char) <int < long<float < double
      2. 强制转换:大容量转小容量
      3. 当一个整数没有超出byte short char的取值范围,这个数据可以直接赋值给 byte short char类型的变量。
    3. 混合运算:
      1. 当byte short char 混合运算的时候,各自先转换为int再做运算!
      2. 多种数据类型混合运算的时候,各自都先转成容量最大的一种,再进行运算!
  4. 标识符的命名规则

    1. 标识符只能由数字、字母、下划线、美元符号组成,不能包含其他的特殊字符
    2. 标识符不能以数字开头
    3. java中标识符不能使用保留字
    4. 标识符严格区分大小写
    5. 标识符理论上没有长度限制
  5. 运算符举例

    1. 算术运算符:+ - * / %
    2. 关系运算符:> >= < <= == !=
    3. 逻辑运算符:&& || !
    4. 赋值运算符:= += -= *= /= %=
    5. 条件运算符: ? :
    6. 位运算符: << >>
    7. 字符串连接运算符: +
  6. 转向语句及其作用

    1. break:用于跳出一个循环体或者完全结束一个循环,不仅可以结束其所在的循环,还可结束其外层循环。
      1. 只能在循环体内和switch语句内使用break。
      2. 不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。
      3. 当break出现在循环体中的switch语句体内时,起作用只是跳出该switch语句体,并不能终止循环体的执行!!!
    2. continue:作用是跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定。
      1. continue语句并没有使整个循环终止。
      2. continue 只能在循环语句中使用,即只能在 for、while 和 do…while 语句中使用。
  7. 断点调试(debug):可观察变量值和程序运行情况。

    1.设置断点 断点:程序运行时暂停的代码行
    2.启动调试
    3.单步运行 【点击直角弯的箭头】
    4.观察变量
    5.发现问题
    6.修正代码
    7.取消断点
    8.重新运行

3.3

  1. 什么是类什么是对象

    1. 类:是模板,是一类事物的抽象概念
      1. 属性: 类具有的特征,称为属性。属性用变量进行描述,称为实例变量。
      2. 方法: 类具有的行为操作,称为方法。
      3. 类 = 属性 + 方法。

  2. 如何定义类、如何定义方法

    1. 方法的语法
      
      访问修饰符 返回值类型  方法名(形参列表1 ,形参列表2 ....){
      //方法体 具体这个方法是做什么的

    }

    
    2.  类的语法
    ```java
    public class 类名{// 首字母必须大写
    
        //属性
        int num;
        String name;
    
        //方法
        public void sayHi(){
            System.out.println("hi!");
        }
    }
  3. 对方法的各个部分分别进行解读

    1. 访问修饰符

  1. 返回值类型:方法结束后传出的数据
    1. 返回值可以为空(void):方法体中可选择是否用 return; 进行返回
    2. 不为空时要借助 return 返回值; 进行返回
    3. 返回值可以是java中的任意一种数据类型 (基本数据类型or引用数据类型)
  2. 方法名:合法的见名知义的标识符,要求 首字母要小写,其余单词首字母要大写
  3. 形参列表:
    1. 形参:数据类型 变量名
    2. 注意:
      1. 没有形参列表叫无参数的方法
      2. 只要形参列表存在就叫带参数的方法
      3. 可以有多个形参,用逗号进行分隔,最后一个形参列表后面没有逗号
  4. 方法体:具体的行为操作,不调用则不执行

3.7

  1. 接口的特性分别是什么
    1. 接口:
      1. 不可以被实例化
      2. 接口中所有的内容都是public:变量都是静态常量,方法都是public abstract
      3. 接口中的方法不能有方法体
      4. 接口之间支持多继承
    2. 实现类
      1. 必须实现接口中所有的方法
      2. 接口和类之间的关系是实现
      3. 实现类可以实现多个接口(单继承,多实现)
  2. 接口和抽象类有什么区别?
    1. 接口
      1. 是公开的,里面不能有私有的方法和变量,
      2. 实现类必须重写所有接口中定义的方法
      3. 接口可以实现多重继承
    2. 抽象类
      1. 可以有私有的方法和私有的变量
      2. 可以有选择重写需要用到的方法
      3. 类只能继承一个超类,但是可以通过继承多个接口实现
  3. 方法重写的注意事项有哪些?
    1. 注意事项:
      1. 必要条件:
        1. 存在父子类关系
        2. 与原方法具有相同的返回值、方法名、形参列表(建议开发的时候复制粘贴)
      2. 语法
        1. 私有方法、构造方法不能被继承,所以不能被重写
        2. 访问修饰符不能比原方法的访问权限低
        3. 静态方法不存在覆盖
        4. 不能比原方法抛出更多的异常
        5. 方法覆盖只是和方法有关,和属性无关。