Einführung
Pascal-Methode
PermissionsIntro
AsyncTask
FileCopy
MainActivity
camelCase Methode (Kleinbuchstaben )
isEmpty()
hasChanged()
canAccess()
camelCase Methode (Kleinbuchstaben )
count
errorMsg
MAX_LENGTH
DIR_PATH
'
wird für ein Zeichen verwendet"
Für Zeichenfolgen verwendenchar a = 'a';
String s = "hello world!";
int i = 10;
long l = 10000000L;
double d = 234.222;
float f = 234.987F;
int[] array;
array = new int[3];
int[] array;
array = new int[] {100, 200, 300};
int[] array = {100, 200, 300};
int i = array.length;
System.out.println(); //Mit Zeilenumbrüchen
System.out.print(); //Keine Zeilenumbrüche
System.err.println(); //Mit Zeilenumbrüchen
System.err.print(); //Keine Zeilenumbrüche
x++;
x--;
x += 1;
x -= 1;
String s = String.valueOf(i);
int i = Integer.parseInt(s);
double d = (double)i;
int i = (int)d;
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;
}
Bedingungen?Rückgabewert bei positivem Wert:Rückgabewert im Fehlerfall;
Beispiel:
String msg = i > 80 ? "good" : "so so...";
break;
⇒ Verlasse die Schleife.continue;
⇒ Gehen Sie die aktuellen Schleifenzeiten durch und fahren Sie mit den nächsten Schleifenzeiten fort.while
while (Bedingungen){
//wird bearbeitet
}
do while
do {
//wird bearbeitet
} while (Bedingungen)
for
for (int i = 0; i < 10; i++){
//wird bearbeitet
}
String[] names = {"Fujiwara", "Sakai", "Yamato"};
for (String name : names) {
System.out.println(name);
}
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 | 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 |
Modifikator Rückgabetyp Methodenname(Streit){
Methodenverarbeitung
}
public static void SayHello(){
//wird bearbeitet
}
public static void main(String[] args){
}
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
}
}
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!");
}
}
Name der Qualifier-Klasse{
}
class User {
}
User jones = new User();
class User {
void sayHi(){
System.out.println("hi!");
}
}
class AdminUser extends User {
}
Beschreibung | Erläuterung |
---|---|
Variablennamen |
Lokale Variablen aufrufen |
this.Variablennamen |
Instanzvariablen aufrufen ⇒ Zum Zeitpunkt der Deklarationstatic Variablen nicht angehängt |
Name der Klasse.Variablennamen |
Klassenvariablen aufrufen ⇒ Zum Zeitpunkt der Deklarationstatic Die, die ich angezogen habe |
class name ()
//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()
this ()
in der Klasse einen Konstruktor. Es kann verwendet werden, wenn ein Konstruktor irgendwo in der Klasse aufgerufen wird. Oder beim Überladen des Konstruktors.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
}
}
class User {
private static int count; //Klassenvariable
static {
User.count = 0;
}
}
class User {
private static int count; //Klassenvariable
{
System.out.println("Instant Initializer")
}
}
Konstruktion
/(root)
├── README.md
└── com
└── dotinstall
└── myapp
├── MyApp.java
└── model
├── AdminUser.java
└── User.java
MyApp.java
package com.dotinstall.myapp.model;
import
MyApp.java
import com.dotinstall.myapp.model.User;
MyApp.java
import com.dotinstall.myapp.modem.*;
▼ interface
public
)public
)interface Printable {
double VERSION = 1.2; //Konstante
void print(); //Abstrakte Methode
default void getInfo() {} //Standardmethode
static static_method() {} //statische Methode
}
class User implements Printable {
}
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());
}
class MyException extends Exception {
public MyException() {
super ("error message");
}
}
class MyException extends Exception {
public MyException(String errorMessage) {
super (errorMessage);
}
}
if (b < 0) {
throw new MyException();
}
if (b < 0) {
throw new MyException("error message");
}
try {
} catch (ArithmeticException e) { //Fehlerklasse+Variablennamen
//wird bearbeitet
} catch (MyException e) { //Fehlerklasse+Variablennamen
//wird bearbeitet
} finally {
//wird bearbeitet
}
▼ Wrapper Class
Ausgelassen
▼ Generics
FIXME
Irgendwie wird der Variablentyp wie das Argument undefiniert, sodass der Variablentyp ausgewählt werden kann, wenn die Klasse in eine Instanz konvertiert wird. Es scheint.
Es scheint, dass konstante Typen wie "int" und "double" nicht verwendet werden können und nur Referenztypen wie "Integer" und "Double" verwendet werden können.
Als ich es nachgeschlagen habe, schien es sehr tief zu sein, also habe ich es aufgegeben, es nachzuschlagen.
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('+');
}
}
}
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();
}
}
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
java.util importieren. *;
.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