跳至主要內容
Java 基础语法特性

Java 基础语法特性

注释

空白行,或者注释的内容,都会被 Java 编译器忽略掉。

Java 支持多种注释方式,下面的示例展示了各种注释的使用方式:

public class HelloWorld {
    /*
     * JavaDoc 注释
     */
    public static void main(String[] args) {
        // 单行注释
        /* 多行注释:
           1. 注意点a
           2. 注意点b
         */
        System.out.println("Hello World");
    }
}

钝悟...大约 4 分钟JavaJavaSE基础特性JavaJavaSE
深入理解 Java String 类型

深入理解 Java String 类型

String 类型可能是 Java 中应用最频繁的引用类型,但它的性能问题却常常被忽略。高效的使用字符串,可以提升系统的整体性能。当然,要做到高效使用字符串,需要深入了解其特性。

String 的不可变性

我们先来看下 String 的定义:

public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {
    /** The value is used for character storage. */
    private final char value[];

钝悟...大约 6 分钟JavaJavaSE基础特性JavaJavaSE工具类字符串
Java 控制语句

Java 控制语句

Java 控制语句大致可分为三大类:

  • 选择语句
    • if, else-if, else
    • switch
  • 循环语句
    • while
    • do...while
    • for
    • foreach
  • 中断语句
    • break
    • continue
    • return

钝悟...大约 8 分钟JavaJavaSE基础特性JavaJavaSE控制语句
深入理解 Java 泛型

深入理解 Java 泛型

什么是泛型

Java 泛型(generics)是 JDK 5 中引入的特性

为什么要引入泛型机制呢?

回答这个问题前,先让我们来看一个示例。

public class NoGenericsDemo {
    public static void main(String[] args) {
        List list = new ArrayList<>();
        list.add("abc");
        list.add(18);
        list.add(new double[] {1.0, 2.0});
        Object obj1 = list.get(0);
        Object obj2 = list.get(1);
        Object obj3 = list.get(2);
        System.out.println("obj1 = [" + obj1 + "]");
        System.out.println("obj2 = [" + obj2 + "]");
        System.out.println("obj3 = [" + obj3 + "]");

        int num1 = (int)list.get(0);
        int num2 = (int)list.get(1);
        int num3 = (int)list.get(2);
        System.out.println("num1 = [" + num1 + "]");
        System.out.println("num2 = [" + num2 + "]");
        System.out.println("num3 = [" + num3 + "]");
    }
}
// Output:
// obj1 = [abc]
// obj2 = [18]
// obj3 = [[D@47089e5f]
// Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
// at io.github.dunwu.javacore.generics.NoGenericsDemo.main(NoGenericsDemo.java:23)

钝悟...大约 12 分钟JavaJavaSE基础特性JavaJavaSE泛型
Java 面向对象

Java 面向对象

Java 基本数据类型 中我们了解 Java 中支持的基本数据类型(值类型)。本文开始讲解 Java 中重要的引用类型——类。

面向对象

每种编程语言,都有自己的操纵内存中元素的方式。


钝悟...大约 15 分钟JavaJavaSE基础特性JavaJavaSE面向对象
深入理解 Java 反射和动态代理

深入理解 Java 反射和动态代理

反射简介

img
img

什么是反射

反射(Reflection)是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。


钝悟...大约 23 分钟JavaJavaSE基础特性JavaJavaSE反射动态代理
Java 常用工具类

Java 常用工具类

并发、IO、容器的工具类不会在本文提及,后面会有专题一一道来。

字符串

String

StringBuffer

StringBuilder

日期时间

Date

SimpleDateFormat

Calendar

数学

Number

Math

参考资料


钝悟...小于 1 分钟JavaJavaSE基础特性JavaJavaSE工具类
深入理解 Java 基本数据类型

深入理解 Java 基本数据类型

img
img

数据类型分类

Java 中的数据类型有两类:

  • 值类型(又叫内置数据类型,基本数据类型)
  • 引用类型(除值类型以外,都是引用类型,包括 String、数组)

钝悟...大约 18 分钟JavaJavaSE基础特性JavaJavaSE数据类型
深入理解 Java 方法

深入理解 Java 方法

方法(有的人喜欢叫函数)是一段可重用的代码段。

方法的使用

方法定义

方法定义语法格式:

[修饰符] 返回值类型 方法名([参数类型 参数名]){
    ...
    方法体
    ...
    return 返回值;
}

钝悟...大约 10 分钟JavaJavaSE基础特性JavaJavaSE方法
2