Java入门

Java Dvelopment Kit (JDK)
1. Java Runtime Enviroment (JRE)
Includes the code behind all the variable types and built-in functions (ex. the println() function)
包含所有变量类型和Java内置函数涉及的代码 比如println()函数

    which allows Java code to run on any platform!
    It also includes a Java Virtual Machine (JVM).
    Runtime Enviroment 还含有一个Java虚拟机 该虚拟机可以从网上下载 可允许Java代码在任何计算机上运行 无论是Windows、Mac还是其它操作系统都可 
    很多电脑本身就装有Runtime Enviroment 因为计算机需要这个工具来运行网页里的Java应用程序
    但是要开发我们自己的程序和Java应用,我们需要第二个工具 也就是Java编译器

2. a Java compiler (javac)
    A compiler is a special type of program that translates programing language code into code that a computer can excute
    Program code --in--> Compiler ---out--> Translated code
    Java Code -> Compiler(javac) -> Bytecode -> Java Virtual Machine -> Machine Code 

在编辑器中编写Java代码
subl HelloWorld.java
// 保存文件时 文件名应与类名相同
public class HelloWorld {
// class 在Java中是用来存放函数和代码并关联程序的
public static void main(String[] args) {
System.out.println(“Hello world!”);
}
}

在terminal中运行Java代码的流程
1. javac 代码文件名.java
对代码进行编译 生成class文件
2. java 文件名
执行java程序
在编辑器修改代码后 需要重新编译

Java集成开发环境 Intellij
Debug
断点
step over
resume
step into
step out

自动生成注释
/ + a + tab
https://blog.csdn.net/qq_34581118/article/details/78409782

ctrl + j 查看方法文档

static 表示它不需要对象就能运行,因此计算机在创建任何对象之前,会从该方法开始
构造方法:是特殊的方法,负责为该类创建和初始化对象
1. 构造方法没有任何返回类型
2. 构造方法的名称和类本身的名称一样

默认构造函数
参数化构造函数
class Game{
int score;

// Default constructor
Game() {
    score = 0;
}

// Constructor by starting score value
Game(int startingScore) {
    score = startingScore;
}

}

// 访问构造方法
new关键字 要创建特定类的对象,你需要使用 new 关键字,后面是要使用的构造方法
Game tetris = new Game(); // 调用默认构造函数
Game darts = new Game(100); // 调用带参构造函数

始终尝试将所有字段声明为 private
创建一个将这些 private 字段当做输入的构造函数
创建一个设置每个 private 字段的 public 方法,这样你就知道何时更改了字段。这些方法叫做 setter
创建一个返回每个 private 字段的 public 方法,这样你就能够读取该字段,而不会不小心更改了它。这些方法叫做 getter

将所有类设为 public
将所有字段设为 private
将所有当做操作的方法设为 public
将所有当做辅助方法的方法设为 private

System.out.println(“Enter your address: “);
// 创建scanner对象 Scanner 允许程序读取来自特定输入的任何数据类型
// 你可以使用它来读取 String、整数或整个行。
Scanner scanner = new Scanner(System.in);
// 在该 scanner 对象中调用方法 nextLine() 将返回一个 String,其中包含用户在按下”enter”前输入的所有内容。
String address = scanner.nextLine();
System.out.println(“You live in “ + address);

简而言之,在大多数情况下,你会希望变量和方法属于某个对象,而不是整个类,因此在大多数情况下,你不需要声明为 Static。但是,如果你要创建一个提供某种功能的类,而不是拥有自己的状态,那么就非常适合将其大部分方法和字段声明为 Static。

例如,还记得我们用来生成随机数字的 Math 类吗?该 Math 类是具有 random() 等大量 static 方法的类。因为没必要创建一个对象,叫做 math1,再创建一个对象,叫做 math2,所有 Math 都一样,因此我们可以直接使用该类本身来调用其方法,因此这时候就适合使用 static。

Static 属于类