Lernen Sie Java für die Android-Entwicklung Java Shorthand

In diesen Kurztipps werden einige der häufigsten Java-Abkürzungstechniken beschrieben, auf die Sie stoßen, wenn Sie mit der Android-Entwicklung beginnen.

Sie finden diese kleinen Code-Leckerbissen, die wir als Java-Abkürzung im Android SDK-Beispielcode verwenden, und fast jedes Android-Entwicklungsbuch, das zu diesem Zeitpunkt veröffentlicht wird, ganz zu schweigen von Online-Tutorials und Entwicklerforen. Keiner dieser Tipps ist Android-spezifisch. Es sind einfach Java-Techniken, die Anfänger, die mit Java und Android vertraut sind, regelmäßig verwirren, basierend auf den E-Mails, die wir von unseren Lesern erhalten.

Tipp 1: Javas unäre Operatoren (Inkrement / Dekrement Variable Abkürzung)

Viele Entwickler mögen ihren Code kurz und einfach zu lesen. Wie andere Programmiersprachen enthält Java auch unäre Operatoren, mit denen Variablenwerte einfach um 1 erhöht und dekrementiert werden können.

Mit anderen Worten,

int counter = 1; counter ++; Zähler--; 

Dieser Code entspricht:

int counter = 1; Zähler = Zähler + 1; Zähler = Zähler - 1; 

Diese unären Operatoren können vor (Präfix) oder nach (Postfix) der Variablen erscheinen. Die Position des Operators legt fest, ob die Inkrementierungs- / Dekrementierungsoperation vor oder nach dem Rest des Ausdrucks ausgeführt wird. Der folgende Code zeigt beispielsweise, wie unäre Operatoren funktionieren, indem eine Variable namens Zähler mithilfe der Android-Protokollierung bearbeitet wird:

int counter = 0; Log.i (DEBUG_TAG, "Der Zählerwert ist =" + Zähler ++); // druckt 0 Log.i (DEBUG_TAG, "Der Zählerwert ist =" + Zähler); // druckt 1 Log.i (DEBUG_TAG, "Der Zählerwert ist =" + Zähler--); // druckt 1 Log.i (DEBUG_TAG, "Der Zählerwert ist =" + Zähler); // druckt 0 Log.i (DEBUG_TAG, "Der Zählerwert ist =" + (++ Zähler)); // druckt 1 Log.i (DEBUG_TAG, "Der Zählerwert ist =" + - Zähler); // druckt 0 

Tipp # 2: Temporäre Variablen überspringen (nicht benötigte Variablen)

Java-Entwickler vermeiden generell das Erstellen von Variablen, die sie nicht wirklich benötigen. Dies gilt insbesondere für temporäre oderTemp ,Variablen, die einmal zum Speichern des Ergebnisses einer Anweisung verwendet werden, nur um abgebrochen zu werden.

Stattdessen verwenden Java-Entwickler häufig nur die Anweisung, um als "Ergebnis" ausgewertet zu werden. Wert selbst. Dies ist oft zu sehen, wenn es darum geht, Aussagen zurückzugeben, aber Sie werden es auch an anderen Stellen sehen. Die folgende verbose-Methode verwendet beispielsweise eine "temp" -Variable namens sum, um die Summe zweier Ganzzahlen zu speichern, und gibt diesen Wert zurück:

int sumVerbose (int a, int b) int temp = a + b; Rücklauftemp;  

Viele Java-Entwickler würden einfach den Aufwand für die Erstellung der temporären Variablen überspringen und die Anweisung einfach als Teil der return-Anweisung wie folgt auswerten:

int sum (int a, int b) return (a + b);  

Dieser Stil gilt für Fälle, in denen die temporäre Variable nur einmal verwendet wird. Wenn die Methode weitere Operationen für diesen Wert enthält, ist es normalerweise ratsam, eine gut benannte Variable für die Lesbarkeit des Codes zu verwenden. Außerdem werden Sie häufig mehr "verbose" sehen. Codierungsstil in Code, der viele Debugging-Funktionen aufweist.

Tipp 3: Die Java "dieses" Schlüsselwort und Verkettungsmethoden

Sie werden häufig Java-Methoden sehen, die miteinander verkettet sind. Häufig werden diese Methoden in der Instanz der aktuellen Klasse (also der diese Stichwort). Ähnlich wie bei dem oben diskutierten Tipp werden die Rückgabewerte jeder Methode nur für den Zugriff auf eine zugrunde liegende Methode verwendet. Daher wird der Rückgabewert nicht in einem Containerwert gespeichert, sondern die zugrunde liegende Methode wird einfach aufgerufen. Zum Beispiel:

InputStream ist = getResources (). OpenRawResource (R.drawable.icon); 

Dieser Code entspricht logisch dem Folgenden:

Ressourcen myAppResources = this.getResources (); InputStream ist = myAppResources.openRawResource (R.drawable.icon); 

Tipp 4: Javas ternäre Operatoren (If-Else-Kürzel)

Eine bedingte Anweisung, die Sie wahrscheinlich sehen werden, wird die Unterstützung des ternären Operators von Java verwenden. Dies ist eine Abkürzung für das Entwerfen einer einfachen If-Else-Anweisung unter Verwendung einer Bedingungsanweisung (die in Klammern eingeschlossen sein kann oder nicht), gefolgt von einem Fragezeichen (?) Und einer Anweisung, die ausgeführt wird, wenn die Bedingung wahr ist ein Doppelpunkt (:) und eine weitere Anweisung, die ausgeführt werden soll, wenn die Bedingung falsch ist.

Hier ist ein Beispiel eines verwendeten ternären Operators:

int lowNum = 1; int highNum = 99; int GrößerNum = NiedrigerNum < highNum ? highNum : lowNum; 

Dies ist das logische Äquivalent des folgenden, viel längeren Code-Snippets:

int größerNum; if (lowNum < highNum)  largerNum = highNum;  else  largerNum = lowNum;  

Diese Art von Java-Abkürzung ist nur dann sinnvoll, wenn Ihre If-Else-Anweisung einfach ist. Manchmal werden Entwickler feststellen, dass sie eine Menge Logik in eine dieser Anweisungen stecken. Wir empfehlen das nicht. Verwenden Sie ternäre Operatoren nur, wenn sie den Code lesbarer machen und nicht schwieriger.

Tipp # 5: Leere Anweisungen (Endlosschleife)

In Java können Sie leere Anweisungen erhalten, indem Sie einfach eine leere Codezeile mit ihrem Semikolon beenden. Dieser Trick wird häufig verwendet, um for () - Schleifenbedingungen anzugeben, um eine Endlosschleife zu erstellen, wie beispielsweise:

for (;;) // Tu etwas über und über und immer wieder.  

Jede for () - Schleifenkomponente ist eine leere Anweisung. Dies wird als wahr ausgewertet und die Schleife wird daher unbegrenzt fortgesetzt. Stellen Sie, wie bei jedem Code-Design, sicher, dass alle von Ihnen erstellten Endlosschleifen sinnvolle Exit-Fälle haben.

Fazit

Es kann frustrierend sein, wenn Entwickler, die sich mit Java beschäftigen, an ihrem ersten Tag auf eine seltsame Codesyntax stoßen, die mit einer Android-Syntax arbeitet, die normalerweise nicht in dem typischen Master in Java in 20 Minuten behandelt wird. Tutorial. Jetzt wissen Sie, was einige von diesen? Tricks sehen aus und was sie bedeuten. Ob Sie sie selbst verwenden oder nicht, bleibt Ihnen überlassen, aber Sie werden Sie nicht verwirren, wenn Sie sie im Beispielcode sehen! Viel Glück und teilen Sie gerne Ihren Lieblings-Java-Kürzel mit, den Sie im Kommentarbereich finden!

Über die Autoren

Die mobilen Entwickler Lauren Darcey und Shane Conder haben mehrere Bücher zur Android-Entwicklung mitgeschrieben: ein ausführliches Programmierbuch mit dem Titel Android Wireless-Anwendungsentwicklung und Sams TeachYourself Entwicklung von Android-Anwendungen in 24 Stunden. Wenn sie nicht schreiben, verbringen sie ihre Zeit damit, mobile Software in ihrem Unternehmen zu entwickeln und Beratungsdienste anzubieten. Sie können sie per E-Mail an [email protected], über ihren Blog unter androidbook.blogspot.com und über Twitter @androidwireless erreichen.