[Java] Studiennotizen

Einführung

Referenz

Inhalt

▼ Dinge, die Sie vergessen / Fehler machen könnten

▼ Namensregeln

Basic

Name der Klasse

Methodenname

Verbreitet

Methode, die eine boolesche Variable zurückgibt

Variablennamen

Konstante

Praktische Symmetriewortliste

▼ Verwendung des Zitats richtig

▼ Arten von Variablen und wie man sie definiert

Datentyp

char a = 'a';
String s = "hello world!";

int i = 10;
long l = 10000000L;

double d = 234.222;
float f = 234.987F;

Referenztyp

Array

int[] array;
array = new int[3];

int[] array;
array = new int[] {100, 200, 300};
int[] array = {100, 200, 300};

▼ Überprüfen Sie die Länge des Arrays

int i = array.length;

▼ Ausgabe in die Befehlszeile

Standardausgabe

System.out.println();  //Mit Zeilenumbrüchen
System.out.print();    //Keine Zeilenumbrüche

Fehlerausgabe

System.err.println();  //Mit Zeilenumbrüchen
System.err.print();    //Keine Zeilenumbrüche

▼ Inkrement-Dekrement-Operator

x++;
x--;

x += 1;
x -= 1;

▼ Typkonvertierung

Nummer ⇒ Zeichenkette

String s = String.valueOf(i);

Zeichenkette ⇒ Nummer

int i = Integer.parseInt(s);

Ganzzahl ⇔ Gleitkomma

double d = (double)i;

int i = (int)d;

▼ Steueranweisung

if

if (Bedingungen){
     //wird bearbeitet
} else if (Bedingungen){
     //wird bearbeitet
} else {
}

switch

switch(Variable){
Fallwert 1:
        //wird bearbeitet
        //Prozess, wenn der Wert der Variablen "Wert 1" ist.
        break;

Fallwert 2:
Fallwert 3:
        //wird bearbeitet
        //Prozess, wenn der Wert der Variablen "Wert 2" oder "Wert 3" ist.
        break;

    default:
        //wird bearbeitet
        break;
}

▼ ternärer Operator

Bedingungen?Rückgabewert bei positivem Wert:Rückgabewert im Fehlerfall;

Beispiel:
String msg = i > 80 ? "good" : "so so...";

▼ Satz wiederholen (Schleife)

Verbreitet

while

while (Bedingungen){
    //wird bearbeitet
}

do while

do {
    //wird bearbeitet
} while (Bedingungen)

for

for (int i = 0; i < 10; i++){
    //wird bearbeitet
}

Erweiterung für

String[] names = {"Fujiwara", "Sakai", "Yamato"};

for (String name : names) {
    System.out.println(name);
}

▼ Qualifikation

Strichreihenfolge

Ziel Auftrag
Feld public protected private static final transient volatile
Methode public protected private abstract static final synchronized native strictfp
Klasse public protected abstract static final strictfp

Zugriffsmodifikator

Zugriffsmodifikator Erläuterung
private Nur von derselben Klasse zugänglich
protected Zugriff über die aktuelle Klasse und Unterklasse
Keiner Zugriff über Klassen im selben Paket wie die aktuelle Klasse
public Von überall zugänglich

statischer Modifikator

letzter Modifikator

abstrakter Modifikator

▼ Mezzot

Wie zu erklären

Modifikator Rückgabetyp Methodenname(Streit){
Methodenverarbeitung
}
public static void SayHello(){
    //wird bearbeitet
}

Hauptmethode

    public static void main(String[] args){
      
    }

Methodenüberladung

public class MyApp{

    public static void sayHi(String name){
        System.out.println("Hi! " +name);
    }

    public static void sayHi(){
        System.out.println("Hi! Nobody");
    }

    public static void main(String[] args){
        sayHi("Jones"); // Hi! Jones
        sayHi();        // Hi! Nobody
    }
}

Methodenüberschreibung

public class User {

    public void hello() {
        System.out.println("Hello World!");
    }
}
public class AdminUser extends User {

    @Override  //Anmerkung
    public void hello() {
        System.out.println("Hello World override!");
    }
}

Abstrakte Methode

▼ Klasse

Erklärung

Name der Qualifier-Klasse{
  
}
class User {
  
}

Instanziierung

User jones = new User();

Erbe

class User {
    void sayHi(){
        System.out.println("hi!");
    }
}

class AdminUser extends User {
}


Abstrakte Klasse

▼ Variablen aufrufen

Beschreibung Erläuterung
Variablennamen Lokale Variablen aufrufen
this.Variablennamen Instanzvariablen aufrufen ⇒ Zum Zeitpunkt der DeklarationstaticVariablen nicht angehängt
Name der Klasse.Variablennamen Klassenvariablen aufrufen ⇒ Zum Zeitpunkt der DeklarationstaticDie, die ich angezogen habe

▼ Konstruktor

Basic

//Zugriff auf Klassennamen(){}
//Es wird kein Rückgabetyp benötigt, da der Rückgabewert nicht zurückgegeben werden kann

public class User{
    public User(String name){
        //wird bearbeitet
    }
}

this()

class User{
    private String name;
    User(String name){
        this.name = name;
    }
    
    User() {
        this("no name");
    }
    
}

super()

public class User {
    protected String name;

    public User(String name){
        this.name = name;
    }
}
public class AdminUser extends User {

    public AdminUser(){
        super("AdminUser desu");                // User(String name){}Anruf
        //Spezielle Bearbeitung nur für Kinderklasse hier
    }
}

(Klassen-) Initialisierer

class User {
    private static int count; //Klassenvariable

    static {
        User.count = 0;
    }
}

(Instanz-) Initialisierer

class User {
    private static int count; //Klassenvariable

     {
        System.out.println("Instant Initializer")
    }
}

▼ Paket

Konstruktion


/(root)
├── README.md
└── com
    └── dotinstall
        └── myapp
            ├── MyApp.java
            └── model
                ├── AdminUser.java
                └── User.java

Erklärung

MyApp.java


package com.dotinstall.myapp.model;

import

MyApp.java


import com.dotinstall.myapp.model.User;

MyApp.java


import com.dotinstall.myapp.modem.*;

▼ interface

Erklärung

interface Printable {
    double VERSION = 1.2;       //Konstante
    void print();               //Abstrakte Methode
    default void getInfo() {}   //Standardmethode
    static static_method() {}   //statische Methode
}

Wie benutzt man

class User implements Printable {
}

▼ Aufzählungstyp (Aufzählung)

Beispielcode

enum Fruit {
    Banana(1, "Philippinen"),
    Apple(2, "Aomori"),
    Orange(3, "Ehime");

    private int id;
    private String pref;

    private Fruit(int id, String pref) {
        this.id = id;
        this.pref = pref;
    }

    public int getId() {
        return this.id;
    }
    public String getPref() {
        return this.pref;
    }
}

valueOf()

    Fruit frt;
    frt = Fruit.Apple;

    if (frt == Fruit.valueOf("Apple")) {
        //wird bearbeitet
    } 

values()

for (Fruit frt : Fruit.values()) {
    System.out.println(frt.getPref());
}

▼ Ausnahmebehandlung

Eigene Ausnahmeklassendefinition

class MyException extends Exception {
    public MyException() {
        super ("error message");
    }
}
class MyException extends Exception {
    public MyException(String errorMessage) {
        super (errorMessage);
    }
}

Rufen Sie Ihre eigene Ausnahmeklasse auf

if (b < 0) {
    throw new MyException();
}
if (b < 0) {
    throw new MyException("error message");
}

Fehlerbehandlung (try / catch / finally)

try {

    } catch (ArithmeticException e) { //Fehlerklasse+Variablennamen
        //wird bearbeitet
    } catch (MyException e) {         //Fehlerklasse+Variablennamen
        //wird bearbeitet
    } finally {
        //wird bearbeitet
}

▼ Wrapper Class

Ausgelassen

▼ Generics

class MyData<T> {
    public void printIt(T x) {
        System.out.println(x);
    }
}

public class MyApp{


    public static void main (String[] args){

            MyData<Integer> i = new MyData<>();
            i.printIt(29);
    }
}

▼ Thread / Multi Thread

class MyRunnable implements Runnable {

    @Override
    public void run() {
        for (int i = 0; i < 500; i++) {
            System.out.print('.');
        }
    }
}


public class MyApp{


    public static void main (String[] args){
        MyRunnable r = new MyRunnable();
        Thread t = new Thread(r);
        t.start();

        for (int i = 0; i < 500; i++) {
            System.out.print('+');
        }

    }
}

Anonyme Klasse

interface Foo {
    void sampleMethod();
}

public class MyApp{
    public static void main (String[] args){
        Foo unNamed = new Foo() {                    //Hier von der Klasse, die Foo implementiert
            @Override                                //Definition und Instanziierung
            public void sampleMethod(){              //Es wird zur gleichen Zeit gemacht.
                System.out.println("print it!");     // (Foo ist eine Schnittstelle.)
            }
        };

        unNamed.sampleMethod();
    }
}

▼ Lambda-Ausdruck / Funktionsschnittstelle

interface Foo {
    void sampleMethod(String text);          //Abstrakte Methodendefinition
}


public class MyApp{
    public static void main (String[] args){

        Foo rambda = (text) -> {             //Konkrete Methodendefinition
            System.out.println(text);        //Ich werde es hier tun.
        };

        rambda.sampleMethod("do it !");
    }
}

▼ math / random

▼ ArrayList

import java.util.*;

public class MyApp{
    public static void main (String[] args){

        List<Integer> sales = new ArrayList<>();

        sales.add(10);
        sales.add(20);
        sales.add(30);

        for (Integer i = 0; i < sales.size(); i++) {
            System.out.println(sales.get(i));
        }

        for (Integer sale : sales) {
            System.out.println(sale);
        }
    }
}

▼ HashSet

import java.util.*;

public class MyApp{
    public static void main (String[] args){

        Set<Integer> sales = new HashSet<>();

        sales.add(10);
        sales.add(20);
        sales.add(30);

        for (Integer sale : sales) {
            System.out.println(sale);
        }
    }
}

▼ HashMap

  import java.util.*;
  
  public class MyApp{
      public static void main (String[] args){
  
          Map<String, Integer> students = new HashMap<>();
  
          students.put("uta", 80);
          students.put("jones", 60);
          students.put("tatsuya", 70);
  
          students.remove("jones");
  
          System.out.println(students.get("tatsuya"));
          System.out.println(students.size());
  
          for (Map.Entry<String, Integer> student : students.entrySet()) {
              System.out.println(student.getKey() + ':' + student.getValue());
          }
  
      }
  }

Recommended Posts

[Java] Studiennotizen
Java Note
Puzzle-Studiennotizen
Lassen Sie uns Java studieren
[Java] Array-Hinweis
Docker-Studiennotizen
Hinweise zur Java-Serialisierung
Java 8 studieren (wiederholbar)
Java-Studienmemorandum
Studieren Sie Java Silver 1
[Java] Stream Collectors Hinweis
Java-formatierte Ausgabe [Hinweis]
Java Silver Study Day 1
[Java] Hinweis zur Steuerungssyntax
Java # 1 studieren (typischer Typ)
Meine Studiennotiz (Java)
Mavens grundlegende Studiennotizen
[Java] Grundlegende Methodenhinweise
Studiere Java # 2 (\ mark and operator)
Studieren Sie Java-Array, Liste, Karte
Versuchen Sie, mit Java zu kratzen [Hinweis]
Überprüfungshinweise zum Java Collections Framework
Studieren Sie Java # 7 (Art der Verzweigungssyntax)
Java
Java Study Memo 2 mit Progate
Java
Lernen von Java mit Progate Note 1
So lernen Sie Java Silver SE 8
[Java] Grundtypen und Anweisungshinweise
Zusammenfassung des Pakets [Java Silver Study]
[Inhouse-Studiensitzung] Behandlung von Java-Ausnahmen (26.04.2017)
[Memo zur Studiensitzung] Java Day Tokyo 2017
Hinweise zur Signalsteuerung in Java
Interne Studiennotizen im Klassen- und Lambda-Stil
Java # 4 studieren (bedingte Verzweigung / if-Anweisung)
Orcacla Java Bronze SE 7/8 Qualifikationsstudie
Studieren Sie Java # 5 (Wiederholung und Endlosschleife)
Hinweise zum Java-Pfad und -Paket
Lernen Sie Deep Learning von Grund auf in Java.
Java studieren ―― 3
[Java] -Array
Zusammenfassung der internen Rookie-Lernsitzung [Java]
Java geschützt
[Java] Anmerkung
[Java] Modul
Java-Array
Java studieren ―― 9
Java Scratch Scratch
Java-Tipps, Tipps
Java-Methoden
Java-Methode
Java (Konstruktor)
Java-Array
[Java] ArrayDeque
Java (überschreiben)