Java 基础必会知识点

更详细Java面试请点击这里


Java 基础必会知识点

  • Java 关键字及功能

    1. 熟悉 Java 常用关键字的拼写及功能
    2. 所有的 Java 关键字都是小写
    3. goto 和 const 是保留关键字,在 Java 中没有使用
    4. true, false, null 不是严格意义上的关键字,而是文字常量(literals)
    5. 程序中遇到 return 语句将不会执行 finally 语句
  • Java 数据类型

    1. 8 种基本数据类型:byte, short, int, long, float, double, char, boolean
    2. 8 种基本数据类型占用的字节长度
    3. 3 种引用数据类型:类、接口、数组
    4. 8 种基本数据类型对应的包装类,被 final 修饰,不可被继承
    5. String 和 StringBuffer 类也是被 final 修饰的
  • Java 基本运算符

    1. Java 基本运算符的种类
    2. Java 基本运算符的优先级
    3. 单目、双目、三目运算符的划分
    4. 运算符操作工程中的类型转换问题
  • Java 基本程序控制语句

    1. 有三种执行方式:顺序结构、选择结构和循环结构
    2. 条件选择语句:if...else, switch...case
    3. 循环语句:while ,do...while, for
    4. 注意 while 和 do...while 的**区别
    - while 是先判断再执行循环体,do...while 是先执行再判断
    
    1. switch 支持得数据类型有:byte, short, int, char, 枚举类型,JKD 1.7时又增加了 String
  • Java 数组(重视)

    1. Java 数组的概念与特点
    - Java 实现了真数组,即数组中的元素是一个一个线性存放的,通过第一个元素就能访问后面的元素,避免了数据覆盖的可能性
    
    1. 一维数组和二维数组的声明
    2. 数组初始化的两种方式:静态初始化和动态初始化的使用方法及区别
    3. 动态初始化数组必须给出长度,否则将报“缺少数组维数”的错误
    4. 动态初始化二维数组时,可以指定第一维的长度而不指定第二维的长度
    5. 当数组包含的元素是引用数据类型时,必须为每个元素实例化,否则出现空指针异常

常见 Java 基础知识陷阱

对初学者来讲,由于对 Java 语言的概念和特性了解不深入,总会导致一些错误的产生。为了避免产生这些错误,我们需要熟知道 Java 语言的性质并了解。常见的陷阱有以下:

  • 浮点数运算陷阱

    1. float 和 double 不能进行精确运算,因为计算机底层是使用的二进制,二进制不能精确的表示十进制的浮点数例如以下代码:
      System.out.println(2.0-1.1);
      //输出为:0.899999999,并非为0.9 
    
    1. 不能简单的使用四舍五入的方法解决上述问题
    2. 可以使用 Java 自带的 BigDecimal 类了解BigDecimal解决,见下面:
   BigDecimal a1 = new BigDecimal(Double.toString(2.0));
   BigDecimal a1 = new BigDecimal(Double.toString(1.1));
   System.out.println(a1.subtract(a2).doubleValue());
   //输出为0.9
   ```     

- 自增、自减运算符陷阱
   1. ++ 与 -- 运算符的规则
   2. i++ 与 ++i 的区别
   3. 进行增量或减量运算常见错误
  
int j = 0;
for (int i = 0; i < 100; i++) {
    j = j++;
}
System.out.println(j);
//输出为0,因为先执行++操作,再将之前的 j 赋值给 j,所以永远是0
//注意在C语言中,编译器会吧j=j++优化成j++,于是C跟Java的执行结果会不一样
```
  • 字符和字符串陷阱

    1. 字符串与字符拼接规则
    2. 转义字符使用规则
      System.out.println("a"+"b");//输出ab
      System.out.println('a'+'b');//输出195,因为字母a的ASCII码为97
      System.out.println("a"+'b');//输出ab,字符a被强制转化为字符串a
    
  • 返回和退出陷阱

    1. return 与 try...catch 语句规则,尤其是有 finally 语句时候
    2. exit() 函数与 try...catch 语句规则
      public static boolean return1() {
          try {
              return true;
          } 
          finally{
              return false;
          }
      }//返回的是false
    
      public static void return2() {
          try {
              System.err.println("Hello!");
              System.exit(0);
          } 
          finally{
              System.out.println("GoodBye!");
          }
      }//输出的是Hello
    

你可能感兴趣的:(Java 基础必会知识点)