Programmieranfänger lernen PHP aus einer Java-Perspektive.

Einführung

Dieser Artikel wurde im Rahmen der Richtlinie zum Erlernen der Sprache PHP im Vergleich zu Java verfasst. Daher ist es für Personen (hauptsächlich den Autor) gedacht, die Java-Kenntnisse haben, aber "Was ist PHP?" Sind. Übrigens, der Autor ist ein Anfänger von The ☆, einer Java-Lernperiode → ungefähr 3 Monate, einer PHP-Lernperiode → ungefähr 2 Wochen, also kann es Fehler im Inhalt geben, aber ich bin überhaupt nicht verantwortlich! … Aber ich wäre Ihnen dankbar, wenn Sie in den Kommentaren darauf hinweisen könnten. Ich hoffe, dass es als Referenz für Ihr Lernen dienen wird.

Der entscheidende Unterschied zwischen Java und PHP

Zunächst zum großen Unterschied zwischen den beiden Sprachen ... Nun, wenn Sie normal darüber nachdenken, gibt es keine Wörter (Wissen), die etwas zurückgeben könnten, wenn Sie sagen "alles ist anders", weil es sich in erster Linie um verschiedene Sprachen handelt. Lassen wir das also vorerst ... Der große Unterschied zwischen Java und PHP ist ** "Compilersprache" oder "Skriptsprache" **. … Compiler? Skript? Irgendwie erscheinen schwierige horizontale Zeichen und es ist schwer zu verstehen, aber die kurze Erklärung lautet wie folgt.

・ Java → Compilersprache Wenn das Programm ausgeführt wird, wird es konvertiert (kompiliert), so dass es von einem Computer gelesen werden kann. Der Vorgang ist schnell, da die Konvertierung zuerst abgeschlossen wird.

・ PHP → Skriptsprache Wenn das Programm ausgeführt wird, wird es ausgeführt, während es nacheinander in die Computersprache konvertiert wird. Der Vorgang ist langsam, da er jedes Mal konvertiert wird, der Quellcode jedoch schnell wiedergegeben wird.

Mit anderen Worten, wenn Sie ein Programm ausführen, besteht der Unterschied darin, ob alles einmal in vom Computer verwendete Wörter konvertiert wurde oder nicht. Aus Sicht eines Benutzers, der ein bestimmtes Programm verwendet, ist es beispielsweise besser, zu Beginn nur einmal zu konvertieren, als nacheinander zu konvertieren, was den zusätzlichen Aufwand für die Konvertierung erspart. Wenn Sie jedoch aus Sicht des Entwicklers eines bestimmten Programms nur den geänderten Teil ausführen möchten, müssen Sie nur diesen Teil konvertieren, also die Skriptsprache, die ihn einzeln konvertiert, und nicht die Compilersprache, die alles konvertiert. Das Ergebnis wird schneller und bequemer wiedergegeben. Wie Sie sehen können, weisen Java und PHP hinsichtlich der Konvertierung in die Computersprache sehr unterschiedliche Merkmale auf. Als ich gerade PHP studierte, war ich beeindruckt von PHP, das die Ergebnisse widerspiegelt, indem Sie einfach auf die Schaltfläche Aktualisieren im Browser klicken, indem Sie die Quelle ändern. In Java musste ich den Server einzeln neu starten, damit ich nicht zufrieden war. Daher ist es für mich einfach, PHP zu lernen, während ich den Betrieb überprüfe.

Über Variablen

Von hier aus das Hauptthema. In Bezug auf Variablen sind die Hauptunterschiede zwischen Java und PHP wie folgt.

・ Java → Variable "Typ" ist ** erforderlich ** (zB String hoge = "Yamada")

・ PHP → Der "Typ" der Variablen ist ** nicht erforderlich ** Fügen Sie einfach \ $ am Anfang der Variablen hinzu (z. B. $ Hoge = "Yamada")

Beim Deklarieren einer Variablen muss Java einen festen "Typ" deklarieren. Andererseits können Sie in PHP eine Variable erstellen, indem Sie am Anfang des Variablennamens "$" hinzufügen. In Java gibt es feste "Typen" wie "String" und "int". Wenn Sie versuchen, einen numerischen Wert in eine Variable vom Typ "String" einzufügen, werden Sie als Fehler gescholten ... PHP legt jedoch den Variablentyp fest. Es gibt keine Regel, die zuerst entschieden werden muss, sodass Sie beliebige Zeichen oder Zahlen in eine Variable einfügen können. In Bezug auf Variablen hat Java strenge Regeln und PHP hat lose Regeln. Da PHP keinen Variablentyp hat, können Sie so viel eingeben, wie Sie möchten, aber Anfänger wie ich sollten bei einer solchen Idee vorsichtig sein. Der Punkt ist, dass PHP keinen Variablentyp hat, aber PHP kümmert sich um die Konvertierung des Variablentyps. Zum Beispiel, wenn Sie den folgenden Beispielsatz haben:

php


<?php
$hoge = "a";
$fuga = 0;
if ($hoge == $fuga){
    //Der obige bedingte Ausdruck wird als wahr beurteilt
}

Was! Im bedingten Ausdruck dieser if-Anweisung erkennt PHP die Variable hoge und die Variable fuga als äquivalent. A = 0 ist nicht dasselbe wie Sie normalerweise denken. Warum passiert das? Wenn Sie in PHP versuchen, ein Zeichen mit einer Zahl zu vergleichen, achten Sie darauf, das Zeichen in eine Zahl umzuwandeln. Wenn das erste Wort eines Buchstabens keine gültige Nummer hat, scheint es diesen Buchstaben als 0 zu erkennen. Als ich in der obigen Quelle versuchte, den Buchstaben "a" in eine Zahl umzuwandeln, gab es keine gültige Zahl im Buchstaben, daher habe ich sie willkürlich auf "0" gesetzt. Das obige ** PHP ist zu vorsichtig und ein Leerlaufproblem ** scheint an vielen Stellen aufzutreten, nicht beschränkt auf if-Anweisungen. Aus diesem Grund ist es besonders bei Personen mit wenig Programmiererfahrung am besten, die Variablentypen zu berücksichtigen. (Selbstdisziplin)

Zusammenfassung

・ Java → Für die Variable ist ein Typ erforderlich. Die Regeln sind streng! Es ist nervig, aber es gibt weniger Fehler.

・ PHP → Wenn Sie zu Beginn \ $ hinzufügen, wird der Typ der Variablen ohne Erlaubnis beurteilt. Es ist schön, aber unflexibel! Seien Sie vorsichtig für Anfänger.

Diese Zeit ist vorbei.

Vorschau beim nächsten Mal! !!

Unentschieden! !! Vielleicht! Array! !! Eine solche!

Danke für Ihren Besuch.

Ergänzung (Informationen zur automatischen Typkonvertierungsfunktion von Java)

Ich habe vergessen, dass Java auch die Möglichkeit hat, Typen automatisch zu konvertieren. Hier sind einige Details In Java können Sie wie folgt schreiben.

Java


//Typkonvertierung bei der Berechnung zwischen Zahlen
double hoge = 2.5 * 5;
//String-Typ und Int-Typ können kombiniert werden
String fuga = "windows" + 10;
//Sie können einer doppelten Typvariablen eine int-Typnummer zuweisen
double boee = 10;

Schauen wir uns drei Beispiele der Reihe nach an

Das beste Beispiel ist, dass, wenn eine Berechnung innerhalb eines variablen Hoge-Typs durchgeführt wird, die Zahl vom Typ double ist. Zu den Typen, die Zahlen verarbeiten, gehören nicht nur Ints, sondern auch Doubles und Floats, die Brüche verarbeiten, Longs, in denen Zahlen größer als int gespeichert werden können, sowie Shorts und Bytes, in denen Werte kleiner als int gespeichert werden können. Bei solchen Berechnungen zwischen Zahlen achtet Java darauf, den Typ vor der Berechnung in einen der beiden Typen zu konvertieren. Beispielsweise wird vor der Berechnung von 5 bis 5,0 berechnet.

Im Beispiel in der Mitte wird beim Verketten eines Zeichenfolgentyps und einer Zahl die Zahl in einen Zeichenfolgentyp konvertiert und dann kombiniert. Bei der Zeichenverkettung werden lediglich Zeichen und Zeichen (numerische Werte vor der Konvertierung) hinzugefügt, sodass zum Zeitpunkt der Berechnung ein Beispiel für die automatische Typkonvertierung angegeben werden kann, genau wie in gewissem Sinne.

Das untere Beispiel ist, dass Sie einer Variablen eines anderen Typs eine Variable eines Typs zuweisen können. Dies ist eine automatische Konvertierung für Typen, die die oben genannten Zahlen verarbeiten. In diesem Beispiel wird int, ein ganzzahliger numerischer Typ, double zugewiesen, einem numerischen Typ mit Brüchen. Wenn Sie dies sysout, wird es "10.0" sein, aber ich denke, einige Leute können es erraten. Es ist möglich, 10 als 10.0 auszudrücken. Java konvertiert den Typ also automatisch und sagt "Es ist ein int-Typ, aber sollte ich ihn in einen doppelten Typ konvertieren ...". Umgekehrt können doppelte Typnummern nicht int-Typvariablen zugewiesen werden. Sicherlich kann 10.0 als 10 ausgedrückt werden. Wenn der zuzuweisende Wert jedoch 2,5 ist, kann 2,5 nicht durch den int-Typ dargestellt werden, der ein ganzzahliger Typ ist. Mit anderen Worten, Ganzzahlen können durch Zahlen dargestellt werden, die Brüche enthalten, aber Zahlen, die Brüche enthalten, können nicht allein durch Ganzzahlen dargestellt werden. Dies ist also die Regel. In einem bestimmten Nachschlagewerk wird es so ausgedrückt.

Wenn einem Feld "großer Typ" ein Feld "kleiner Typ" zugewiesen wird, wird der zugewiesene Wert automatisch in den Typ der Zuweisungszielvariablen konvertiert, bevor die Zuweisung durchgeführt wird. (Nakayama / Kunimoto 2014, S. 78)

Weitere Informationen finden Sie unter "Automatische Typkonvertierung bei Zuweisung von Java".

Wie oben erwähnt, kann Java auch automatisch eine Typkonvertierung durchführen. Es gibt viel zu verstehen ...

Verweise Kiyotaka Nakayama und Daigo Kunimoto (2014) "Einführung in Java mit einem erfrischenden Verständnis" Impress Co., Ltd.

Bonus

Aus einem Fantasy-Film

Java


double harry = 9 + 0.75;
String potter = harry + "Spur";

-Impressionen- Irgendwie habe ich es mir ausgedacht, also habe ich es versucht

Recommended Posts

Programmieranfänger lernen PHP aus einer Java-Perspektive.
Wenn eine Person aus Java PHP lernt
Java, abstrakte Klasse für Anfänger
Führen Sie eine Batchdatei von Java aus
Greifen Sie über eine Java-Anwendung auf Teradata zu
[Für Programmieranfänger] Was ist eine Methode?
Java ab Anfänger, logischer Operator / bedingter Operator
Versuchen Sie, Kubernetes Job von Java aus auszuführen
Von der Installation von Eclipse bis zur Ausführung von Java (PHP)
Zugriff auf geschützte Felder von Enkelkindern (Java / PHP)
GetInstance () aus einer @ Singleton-Klasse in Groovy aus Java
Stellen Sie über eine Java-Anwendung eine Verbindung zu Aurora (MySQL) her
Um ein VB.net-Programmierer aus einem Java-Shop zu werden
Ich habe versucht, eine Java-Methode von ABCL zu verwenden
Erstellen Sie Scala Seq aus Java, machen Sie Scala Seq zu einer Java-Liste
Eine Sammlung einfacher Fragen für Java-Anfänger
[Java] Ruft Werte zufällig aus einem Array ab
[Swift 5.3] Lernen Sie von einer Swift Tour Swift [Xcode 12.1] <10/28 im Aufbau>
Minecraft BE Serverentwicklung von PHP nach Java
SSH-Verbindung mit SSHJ aus der Java6-App
Grundlagen der Java-Programmierung
Technische Bücher, die Programmieranfänger, die professionelle Programmierer aus Java starten, lesen sollten (Ausgabe 2017)
Java Generische Programmierung
So springen Sie von Eclipse Java zu einer SQL-Datei
Rufen Sie eine Methode mit Kotlins Rückrufblock von Java aus auf
Verwenden der Datenbank (SQL Server 2014) aus einem Java-Programm 2018/01/04
[Hinweis] Erstellen Sie mit Docker eine Java-Umgebung von Grund auf neu
[Java] So löschen Sie ein bestimmtes Zeichen aus einer Zeichenfolge
Ich habe einen Wrapper erstellt, der KNP von Java aus aufruft
Rufen Sie ein in Swift geschriebenes Programm von Processing (Java) auf.
Generieren Sie Modelle von JSON zu Swift, PHP, C #, JAVA
~ Ich habe jetzt versucht, funktionale Programmierung mit Java zu lernen ~
Schnell lernen Java "Einführung?" Teil 3 Von der Programmierung wegreden