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により吸収されちゃう。
r5compiler01_03.gif
    JDK,JRE,JVM関係
JDK_JRE_JVM-1.jpeg

安装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等。

显示工具图标

キャプチャ.PNG

解释

有三种不同的类型

// 一行のみ注釈   

/* 
複数行注釈
複数行注釈
 */

/**
 * 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,它会整理代码。

文件搜索

キャプチャ.PNG

静态方法

    違うクラス間メソッドの使用

调用方法有两种,一种是带有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

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的重点

HashMap.jpg

关于IO(输入输出)

AWT和Swing

swing是AWT的前身类似的东西

广告
将在 10 秒后关闭
bannerAds