Java学习笔记
Java的分类
- JavaSE
Java的标准版是一种用于开发简单游戏和桌面应用的基础工具。
- JavaME
目前几乎处于停滞状态, 主要用于开发移动手机和小型电子设备。
- JavaEE
在诸如Web开发之类的领域广泛使用。提到Java时,很多人指的是这个版本。
JDK、JRE、JVM
-
- JDK(Jvav Development Kit)
-
- 中身は開発用に必要なツールキット及びJRE,JVMが含まれてる。
-
- JRE(Java Runtime Enviroment)
-
- javaを動かす環境のことです
-
- JVM(Java Virtual Machine)
- JavaはMACでもWindowsでも動けるのはJVMがあるから。例えば、hello.javaをコンパイルすると、java.classが生成されますね。OSの環境依存しないように実行できるのはJVMというJavaの仮想マシンで実行するからだ。つまりOSの違いがJVMにより吸収されちゃう。

- JDK,JRE,JVM関係

安装JDK
由于以下的文章非常易懂,我将省略它在这里。
需要注意的是环境变量的设置。
- システム環境変数新規作成
変数名:JAVA_HOME
変数値:{JDKのインストールパス}

- システム環境変数Path編集
%JAVA_HOME%¥bin → 追加
または
{JDKのインストールパス}¥bin → 追加
%JAVA_HOME%¥jre¥bin → 追加
または
{JDKのインストールパス}¥jre¥bin → 追加
Java的机制
Java的关键字(保留字、常量)
数据类型
综合开发环境(IDEA)工具
过去我主要使用Eclipse,但现在逐渐开始使用IntelliJ IDEA。
个人认为,IntelliJ IDEA在代码的自动补全方面更加出色。
比如,当输入psvm时,它会自动生成public static void main方法,
当输入sout时,会自动补全为System.out.println等。
显示工具图标

解释
有三种不同的类型
// 一行のみ注釈
/*
複数行注釈
複数行注釈
*/
/**
* JavcDoc
* @author maekawa
* @version 1.0
* @param int 金額
*/
编译文件确认
要更改项目结构设置,您可以点击工具栏上的齿轮图标或使用键盘快捷键(Ctrl+Alt+Shift+S)来打开。您可以确认编译输出位置。
编译文件执行时的注意事项
完成了。
C:\Users\maekawa\Demo\hello\src>javac HelloWorld.java
C:\Users\maekawa\Demo\hello\src>java HelloWorld
Hello
C:\Users\maekawa\Demo\hello\src>
↓我无法执行
C:\Users\maekawa\Demo\hello\src\com\maekawa\base>javac Happy.java
C:\Users\maekawa\Demo\hello\src\com\maekawa\base>java Happy
エラー: メイン・クラスHappyを検出およびロードできませんでした
原因: java.lang.NoClassDefFoundError: com/maekawa/base/Happy (wrong name: Happy)
如果创建了一个包,必须从src层级执行才行。
如果需要编码,可以使用javac -encoding UTF-8 xxx.java。
C:\Users\maekawa\Demo\hello\src\com\maekawa\base>javac -encoding UTF-8 Happy.java
C:\Users\maekawa\Demo\hello\src\com\maekawa\base>cd ../../..
C:\Users\maekawa\Demo\hello\src>java com.maekawa.base.Happy
気持ちいいね
经常使用的快捷方式
按下 Alt+Enter,它会帮助你修复警告。
按下 Ctrl+Alt+L,它会整理代码。
文件搜索

静态方法
- 違うクラス間メソッドの使用
调用方法有两种,一种是带有static的,另一种是没有static的。通常使用没有static的方法。
package com.maekawa.base;
public class Happy {
public static void main(String[] args) {
//Peopleクラスのdreamメソッド使用
People.dream();
//Peopleクラスのspeechメソッド使用
People method = new People();
method.speech();
}
}
package com.maekawa.base;
public class People {
//staticありメソッド
public static void dream() {
System.out.println("Staticあり");
}
//staticなしメソッド
public void speech() {
System.out.println("Staticなし");
}
}
- 同じクラス内メソッドの使用
如果是没有 static 的方法,直接调用即可。
public class Happy {
public static void main(String[] args) {
}
// aもbもstaticなしのメソッド
public void a(){
// メソッド直接呼べる
b();
}
public void b(){
}
}
如果是全static方法,则直接调用。
public class Happy {
public static void main(String[] args) {
}
// aもbもstaticなしのメソッド
public static void a(){
// メソッド直接呼べる
b();
}
public static void b(){
}
}
在没有被调用方法的情况下,如果有调用方法,会出现错误。
public class Happy {
public static void main(String[] args) {
}
// aもbもstaticなしのメソッド
public static void a(){
// エラー発生
b();
}
public void b(){
}
}
解决这个错误的方法: 上述错误的解决方案。
new Happy().b();
经常使用的课程
クラスポイント目的Scanner
標準力取得Obeject hashcode(),toString(),clone(),getClass(),
getClass(),notify(),wait(),equals()
Math
演算Random
ランダムな数字生成、例えばUUIDFile
ファイルの作成、確認、修正、削除などDateDate、SimeDateFormat、Calendar
Stringfinal
StringBufferappend()
StringBuilder
標準力取得Obeject hashcode(),toString(),clone(),getClass(),
getClass(),notify(),wait(),equals()
Math
演算Random
ランダムな数字生成、例えばUUIDFile
ファイルの作成、確認、修正、削除などDateDate、SimeDateFormat、Calendar
Stringfinal
StringBufferappend()
StringBuilder
Scanner类
接替
目标
为了简化代码并避免重复编写方法。
参考文章
所有的类都是继承自Object类(只是实际上被隐藏了看不见而已)。
以下有两个类,其中的“喝水”方法是重复的。
class People{
//水飲む
public void drink(){
System.out.println("水飲む");
}
}
class Student{
//水飲む
public void drink(){
System.out.println("水飲む");
}
//勉強する
public void study(){
System.out.println("勉強する");
}
}
调用父类变量和方法的方式
物件。變數名稱和方法名稱。
//メインクラス、一つのプロジェクトにmainクラス一つのみ
class ctest11{
public static void main(String args[]){
Student student = new Student();
//変数の呼び方
student.age = 10;
//メソッドの呼び方
student.drink();
}
}
//親クラス
class People{
int age = 34;
//水飲む
public void drink(){
System.out.println("水飲む");
}
}
//子クラス
class Student{
//勉強する
public void study(){
System.out.println("勉強する");
}
}
学习Collection和Map的重点

关于IO(输入输出)
AWT和Swing
swing是AWT的前身类似的东西