基础

  1. 一个Java源码只能定义一个public类型的class,并且class名称和文件名要完全一致;
  2. 使用javac可以将.java源码编译成.class字节码;
  3. 使用java可以运行一个已编译的Java程序,参数是类名。
java 程序运行过程

File: ./Hello.java

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

数据类型

  • 基本数据类型
    • 整数类型:byte,short,int,long
    • 浮点数类型:float,double
    • 字符类型:char
    • 布尔类型:boolean

字节(byte)= 8个bit = 00000000~11111111 中的一个,0~255,00~ff

1K = 1024 byte

       ┌───┐
  byte │   │
       └───┘
       ┌───┬───┐
 short │   │   │
       └───┴───┘
       ┌───┬───┬───┬───┐
   int │   │   │   │   │
       └───┴───┴───┴───┘
       ┌───┬───┬───┬───┬───┬───┬───┬───┐
  long │   │   │   │   │   │   │   │   │
       └───┴───┴───┴───┴───┴───┴───┴───┘
       ┌───┬───┬───┬───┐
 float │   │   │   │   │
       └───┴───┴───┴───┘
       ┌───┬───┬───┬───┬───┬───┬───┬───┐
double │   │   │   │   │   │   │   │   │
       └───┴───┴───┴───┴───┴───┴───┴───┘
       ┌───┬───┐
  char │   │   │
       └───┴───┘

整型能表示的最大范围如下:

  • byte:-128 ~ 127
  • short: -32768 ~ 32767
  • int: -2147483648 ~ 2147483647
  • long: -9223372036854775808 ~ 9223372036854775807
int i = 2147483647;
int i2 = -2147483648;
int i3 = 2_000_000_000; // 加下划线更容易识别
int i4 = 0xff0000; // 十六进制表示的16711680
int i5 = 0b1000000000; // 二进制表示的512
long l = 9000000000000000000L; // long型的结尾需要加L

float f1 = 3.14f;
float f2 = 3.14e38f; // 科学计数法表示的3.14x10^38
double d = 1.79e308;
double d2 = -1.79e308;
double d3 = 4.9e-324; // 科学计数法表示的4.9x10^-324

// 注意char类型使用单引号',且仅有一个字符,要和双引号"的字符串类型区分开。
char a = '中';

定义变量的时候,如果加上final修饰符,这个变量就变成了常量,常量在定义时进行初始化后就不可再次赋值,再次赋值会导致编译错误。根据习惯,常量名通常全部大写。

如果想省略变量类型,可以使用var关键字,多行语句用{ }括起来 作用域。定义变量时,要遵循作用域最小化原则,尽量将变量定义在尽可能小的作用域,并且,不要重复使用变量名。

Last Updated: 3/20/2020, 9:09:07 AM