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

Java 基础语法特性

注释

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

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

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

钝悟...大约 4 分钟JavaJavaCore基础特性JavaJavaCore
深入理解 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 分钟JavaJavaCore基础特性JavaJavaCore工具类字符串
Java 控制语句

Java 控制语句

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

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

钝悟...大约 8 分钟JavaJavaCore基础特性JavaJavaCore控制语句
深入理解 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 分钟JavaJavaCore基础特性JavaJavaCore泛型
Java 面向对象

Java 面向对象

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

面向对象

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


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

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

反射简介

img
img

什么是反射

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


钝悟...大约 23 分钟JavaJavaCore基础特性JavaJavaCore反射动态代理
深入理解 Java 异常

深入理解 Java 异常

img
img

异常框架

Throwable

**Throwable 是 Java 语言中所有错误(Error)和异常(Exception)的超类。**在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。


钝悟...大约 12 分钟JavaJavaCore基础特性JavaJavaCore异常
深入理解 Java 基本数据类型

深入理解 Java 基本数据类型

img
img

数据类型分类

Java 中的数据类型有两类:

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

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

深入理解 Java 数组

简介

数组的特性

数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。几乎所有程序设计语言都支持数组。

数组代表一系列对象或者基本数据类型,所有相同的类型都封装到一起,采用一个统一的标识符名称。

数组的定义和使用需要通过方括号 []

Java 中,数组是一种引用类型。

Java 中,数组是用来存储固定大小的同类型元素。


钝悟...大约 7 分钟JavaJavaCore基础特性JavaJavaCore数组
2