JDK JRE JVM
JDK(Java Development Kit)是Java开发工具包,它是Java开发的核心组件,包括了Java的编译器、调试器、JRE(Java Runtime Environment)和其他一些工具。JDK是开发Java应用程序的必备工具,它提供了一切开发Java程序所需的工具和库。
JRE(Java Runtime Environment)是Java运行环境,它包含了Java虚拟机(JVM)和Java类库,用于运行Java程序。JRE是用户运行Java程序所必需的环境,它提供了Java程序运行所需的一切支持。
JVM(Java Virtual Machine)是Java虚拟机,它是Java程序的运行环境。JVM负责将Java字节码转换为机器码,并执行程序。JVM是Java跨平台的关键所在,它使得Java程序可以在不同的操作系统上运行。
Hello, World!
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
编译型和解释型
Java是一种混合型语言,它同时具备编译型和解释型语言的特点。Java程序首先被编译成字节码,然后由Java虚拟机(JVM)解释执行。这使得Java程序具有跨平台的特性,可以在不同的操作系统上运行。
注释
在Java中,注释是用来对程序进行说明和解释的。Java有两种注释方式:单行注释以//
开头,多行注释以/*
开头,以*/
结尾。
标识符和关键字
标识符是程序中用来命名变量、方法、类等的名称,它需要符合一定的命名规则。而关键字是Java语言中具有特殊含义的单词,比如public
、class
、static
等。
数据类型
整数类型:
byte 占1字节(-128 ~ 127)
short 占2字节(-32768 ~ 32767)
int 占4字节(-2147483648 ~ 2147483647)
long 占8字节(-9223372036854775808 ~ 9223372036854775807)
浮点类型:
float 占4字节
double 占8字节
字符类型:
char 占2字节
boolean类型:
boolean(true/false) 占1字节
注意:
String 不是关键字,是一个类名
类型转换
低->高
byte,short,char -> int -> long -> float -> double
数字之间可以用下划线分割
变量
在Java中,变量是用来存储数据的容器。在定义变量时,需要指定变量的类型和名称。Java中的变量可以分为实例变量(在类中定义,每个对象都有自己的一份)和静态变量(在类中用static关键字定义,被类的所有对象共享)两种。
int age; // 定义一个整型变量
double salary = 1000.50; // 定义一个双精度浮点型变量并初始化
常量
常量是指在程序运行过程中其值不会发生改变的变量。在Java中,可以使用final
关键字来定义常量,一旦赋值后不可修改。
final double PI = 3.14; // 定义一个常量PI
作用域
变量和常量都有自己的作用域,即它们可以被访问的范围。在Java中,作用域可以分为类级作用域、实例级作用域、局部作用域三种。
- 类级作用域:静态变量的作用域是整个类,可以通过类名直接访问。
- 实例级作用域:实例变量的作用域是在对象的生命周期内。
- 局部作用域:局部变量的作用域是在定义它的方法、代码块或构造器内。
-
public class ScopeExample { static int classVar = 10; // 类级作用域的变量 public void method() { int localVar = 20; // 方法内的局部变量 // ... } }
/*** * ┌─┐ ┌─┐ * ┌──┘ ┴───────┘ ┴──┐ * │ │ * │ ─── │ * │ ─┬┘ └┬─ │ * │ │ * │ ─┴─ │ * │ │ * └───┐ ┌───┘ * │ │ * │ │ * │ │ * │ └──────────────┐ * │ │ * │ ├─┐ * │ ┌─┘ * │ │ * └─┐ ┐ ┌───────┬──┐ ┌──┘ * │ ─┤ ─┤ │ ─┤ ─┤ * └──┴──┘ └──┴──┘ * 神兽保佑 * 代码无BUG! */