Java-zelfstudie voor beginners - Hier leest u hoe u Java kunt leren

Schrijver: John Stephens
Datum Van Creatie: 23 Januari 2021
Updatedatum: 15 Kunnen 2024
Anonim
Java Tutorial for Beginners
Video: Java Tutorial for Beginners

Inhoud


  • Android SDK-tutorial voor beginners
  • Hoe Android-apps te maken

Inleiding tot Java voor beginners

Java is niet alleen de officiële programmeertaal voor de ontwikkeling van Android-apps (samen met Kotlin), Java zelf wordt ook door Google gebruikt voor grote delen van de internals van Android. Er zijn twee verschillende delen om Java te leren voor het schrijven van een Android-app. Een daarvan is de programmeertaal Java zelf, de andere begrijpt hoe een app te maken in termen van de gebruikersinterface, het Android-besturingssysteem en de Android Software Development Kit (SDK). In deze tutorial behandelen we de eerste hiervan, de programmeertaal Java.

Java werd voor het eerst uitgebracht in het midden van de jaren 1990 door Sun Microsystems. Het is ontworpen om eenvoudig Java te leren door programmeurs die al C en C ++ kenden. In 2006 en 2007 bracht Sun Java uit als gratis en open-source software, onder de voorwaarden van de GNU General Public License (GPL). Sun is in 2009/2010 door Oracle gekocht en Oracle blijft zich inzetten voor Java.


Om Java te leren kennen en Java-programma's te schrijven, hebt u een manier nodig om broncode te compileren en om te zetten in een uitvoerbaar bestand voor de Java-runtime. De normale manier om dit te doen is door de Java Development Kit te installeren. Op het moment van schrijven is de huidige versie van Java Java 8, maar deze is relatief nieuw, dus Android gebruikt Java 7. Als u niet zeker bent over het installeren van de JDK, lees dan deze handleiding De Java Software Development Kit-handleiding installeren. Oracle biedt ook een JDK 7-installatiehandleiding.

Kotlin vs Java - wat is beter voor u?

Als je echter niet helemaal klaar bent om de JDK te installeren, en je wilt een snelle route om je eerste Java-programma te proberen, dan raad ik compilejava.net aan. Het is een eenvoudige online programmeeromgeving waarmee u eenvoudige Java-programma's kunt schrijven en uitvoeren zonder dat u de JDK hoeft te installeren. Er is ook het extra voordeel dat omdat de nieuwste OpenJDK wordt geleverd met Android Studio, u de JDK eigenlijk niet hoeft te installeren, zelfs niet voor het schrijven van Android-apps!


De compilejava.net-webpagina bestaat uit drie delen. Bovenaan is de ruimte om uw Java-code te schrijven en onderaan bevindt zich de uitvoer van het compileren (links) en uitvoeren (rechts) van die code. Vanaf hier ga ik ervan uit dat je compilejava.net gebruikt. Voor degenen die de JDK hebben geïnstalleerd, is het proces echter vrijwel identiek, behalve dat u een teksteditor op uw pc moet gebruiken in plaats van de editor in de online IDE.

Knip en plak de volgende code in de editor:

public class HelloWorld {public static void main (String args) {System.out.println ("Hello, World"); }}

Als u de JDK gebruikt, moet u het bestand opslaan als HelloWorld.java. In Java moeten de bestandsnaam van de broncode en de klassennaam hetzelfde zijn. De eerste regel van de code declareert een klasse met de naam HelloWorld, dus deze broncode moet worden opgeslagen in HelloWorld.java. Compilejava.net is echter slim genoeg om dat uit te werken, dus het slaat het bestand automatisch op als HelloWorld.java!

Druk nu op de knop "COMPILE & EXECUTE" naar de onderkant van het scherm.Uw beloning is de tekst 'Hallo, wereld' die rechtsonder in het venster wordt weergegeven. Gefeliciteerd!

Wat heb ik net gedaan?

Laten we dus even kijken wat er net is gebeurd. Eerst de broncode. Het bestand doet drie dingen. 1) Het verklaart een klasse met de naam HelloWorld. 2) Het definieert een methode (een functie) in de klasse HelloWorld genaamd hoofd. 3) De hoofd() methode oproepen System.out.println om wat tekst uit te voeren.

In Java en in alle objectgeoriënteerde programmeertalen definieert een klasse een object. Een object is een op zichzelf staand item dat samenwerkt met andere objecten. In Android zou een dergelijk object elementen in de gebruikersinterface, een netwerkverbinding, sommige locatiegegevens, enzovoort bevatten.

Elk Java-programma moet een methode definiëren die main wordt genoemd in ten minste één klasse. Het is het beginpunt waar het programma wordt uitgevoerd. In het eenvoudige voorbeeld hierboven hoofd() methode heeft slechts één regel code, een aanroep naar System.out.println om "Hallo wereld" uit te voeren. println () is een methode die behoort tot de klasse PrintStream en is opgenomen als onderdeel van de klasse Systeem. Oracle heeft veel informatie over de klasse System en de klasse PrintStream.

Java is architectuuronafhankelijk, wat betekent dat een .java-bestand niet is gecompileerd voor een specifieke processor op een specifiek besturingssysteem, zoals Windows op een Intel x86-chip of Android op een ARM Cortex-A-processor, maar dat het is omgezet in Java bytecode. De taak van de virtuele Java-machine is om die bytecode op het specifieke platform uit te voeren.

Belangrijke Java-termen uitgelegd

Variabelen

Wanneer u computerprogramma's schrijft, moet u enkele gegevens opslaan voor tijdelijk gebruik. In een Android-spel wilt u bijvoorbeeld de score van de huidige speler opslaan. Deze gegevens worden opgeslagen in variabelen - een vak waarin u gegevens kunt plaatsen en later kunt terughalen om deze op te halen. Omdat gegevens verschillende vormen hebben, moet een variabele worden gedefinieerd met een type dat Java vertelt wat er wordt opgeslagen. Enkele van de primitieve gegevenstypen van Java zijn onder meer int (voor geheel getal), dubbele (voor drijvende-kommagetal met dubbele precisie), en boolean (voor een waar / onwaar waarde).

Hier is een eenvoudig programma dat de waarde van een variabele instelt, de waarde naar de console afdrukt, de variabele wijzigt en vervolgens opnieuw afdrukt:

public class VariableTest {public static void main (String args) {int i = 1; System.out.println ("De waarde van i is:" + i); i = i + 24; System.out.println ("De waarde van i is nu:" + i); }}

Klik op "COMPILE & EXECUTE". De output van het programma zal zijn:

De waarde van i is: 1 De waarde van i is nu: 25

Zoals u kunt zien, definieert het programma een variabele met de naam "i" en geeft deze een beginwaarde van 1. De waarde van "i" wordt afgedrukt naar de console. Vervolgens wordt i ingesteld op de nieuwe waarde van i + 24 of 1 + 24, wat 25 is. De nieuwe waarde wordt vervolgens afgedrukt.

Probeer het programma te wijzigen om een ​​"dubbel" te gebruiken in plaats van een "int". Stel "i" in op iets als 1.3 en verhoog de waarde met een ander decimaal getal zoals 24.9.

Als je kijkt naar de println () methode ziet u dat een geheel getal wordt toegevoegd aan een tekenreeks: "De waarde van i is:" + i. Wat hier echt gebeurt, is dat Java weet dat het eerste deel van de uitdrukking een string is, dus genereert deze de stringwaarde voor ik, in dit geval "1" en voegt het vervolgens samen met de tekenreeks met: "De waarde van i is: 1".

strings

Strings zijn een belangrijk onderdeel van elke programmeertaal, inclusief Java. anders int of boolean, een string is geen primitief type, het is een klasse. Wanneer u een tekenreeksvariabele maakt, maakt u echt een String-object (let op de hoofdletter S). Als object heeft het bepaalde eigenschappen zoals zijn waarde (de string zelf) en zijn lengte. Strings kunnen op veel verschillende manieren worden gemanipuleerd, inclusief ontleed, aaneengeschakeld, vergeleken en doorzocht.

Hier is een voorbeeldprogramma dat een paar eenvoudige bewerkingen op een string uitvoert:

public class PlayingWithStrings {public static void main (String args) {String hello = "Hallo wereld"; System.out.println (hallo); // Voeg een toe! tot het einde hallo = hallo + "!"; System.out.println (hallo); // Extraheer het woord "Hallo" uit de tekenreeks // d.w.z. beginnend bij het begin (0) voor 5 tekens String justHello = hello.substring (0,5); System.out.println (justHello); // Voeg enkele volgspaties toe en verwijder ze vervolgens met trim () hello = hello + ""; hello = hello.trim (); // Voer nu de string allemaal uit in HOOFDLETTERS en kleine letters System.out.println (hello.toUpperCase ()); System.out.println (hello.toLowerCase ()); }}

Compileer en voer het uit zoals eerder getoond.

Dit is een speciale methode die een constructor wordt genoemd. De constructor wordt slechts één keer aangeroepen, op het moment dat het object wordt gemaakt.

Het eerste deel van het programma maakt een String-object met de naam "hallo" en geeft het de waarde "Hallo, wereld". Hoewel dit lijkt op hoe je een geheel getal of een ander primitief type declareert en toewijst, is er hier eigenlijk veel meer aan de hand. Met Java kunnen eenvoudige operatoren zoals = en + eenvoudige taken worden toegewezen. Dus echt String hallo = "Hallo wereld"; is eigenlijk zoiets String hello = new String ("Hallo, wereld");, met andere woorden, maak een nieuw object van het type String en geef de waarde "Hallo, wereld" door aan de constructor. Maar daarover zullen we meer praten in de onderstaande sectie Objecten.

Het volgende deel laat zien hoe u tekenreeksen kunt samenvoegen, in dit geval wordt een uitroepteken toegevoegd aan het einde van de tekenreeks. Aangezien String een object is, kan het methoden hebben. String.substring () is een methode die een deel van een string retourneert. In dit geval de eerste 5 tekens. String.trim () is een andere methode die voorloop- en volgspaties verwijdert. Het laatste deel van het programma toont het String.toUpperCase () en String.toLowerCase () methoden.

De output van het programma zal zijn:

Hallo wereld Hallo wereld! Hallo Hallo, WERELD! Hallo Wereld!

Meer informatie over het String-object vindt u in de String-tutorial van Oracle en in de Java String-documentatie.

Loops

Als er iets is waar een computer goed in is, doet het repetitieve taken. Om een ​​repetitieve taak in een programmeertaal uit te voeren, gebruikt u een construct dat een lus wordt genoemd - iets dat steeds opnieuw rondloopt.

Java heeft drie soorten eenvoudige loop: de voor lus, de terwijl lus en de doen terwijl lus. Elk lustype volgt hetzelfde basisidee, je moet iets steeds opnieuw herhalen totdat aan een bepaalde voorwaarde is voldaan.

Hier is een voorbeeld dat laat zien hoe u de nummers 1 tot 10, 11 tot 20 en 21 tot 30 kunt afdrukken met behulp van de drie verschillende soorten lus:

public class Loops {public static void main (String args) {// For loop for (int i = 1; i <= 10; i ++) {System.out.println ("i is:" + i); } // While Loop int j = 11; terwijl (j <= 20) {System.out.println ("j is:" + j); j ++; } // Do While Loop int x = 21; do {System.out.println ("x is:" + x); x ++; } while (x <= 30); }}

Maak een bestand met de naam Loops.java met de bovenstaande code, compileer het en voer het uit zoals eerder getoond.

De voor lus als drie delen. Eerst de initialisatie (int i = 1), die slechts eenmaal wordt uitgevoerd. In het bovenstaande voorbeeld wordt de initialisatie gebruikt om een ​​geheel getal te declareren ik en stel de waarde in op 1. Dan komt de testuitdrukking (i <= 10). Deze uitdrukking wordt elke keer getest als de lus wordt uitgevoerd. Als het resultaat van de test waar is, gaat de lus opnieuw rond. In dit voorbeeld moet de test controleren of i nog steeds kleiner is dan of gelijk aan 10. Na elke iteratie wordt de derde sectie, de iterator, uitgevoerd. In dit voorbeeld verhoogt het de waarde van ik bij een. Let daar op i = i + 1 is hetzelfde als i ++.

De terwijl lus lijkt op de voor lus, behalve dat deze niet de initialisatiefase en de iteratorfase bevat. Dat betekent dat de initialisatie afzonderlijk moet worden gedaan, vandaar de verklaring int j = 11;. De iterator moet ook afzonderlijk worden gecodeerd. In ons voorbeeld is het de lijn j ++ die zich in de lus bevindt na de println ().

EEN doen terwijl lus lijkt erg op een terwijl lus met één groot verschil, de test om te zien of de lus moet doorgaan is aan het einde van de lus en niet aan het begin. Dit betekent dat een doen terwijl wordt gegarandeerd minstens één keer uitgevoerd, maar a terwijl lus hoeft helemaal niet te worden uitgevoerd, als niet wordt voldaan aan de voorwaarden bij de ingang van de lus.

Zoals de terwijl lus, de initialisatie moet buiten de lus plaatsvinden, in dit geval: int x = 21; en de iterator vindt plaats in de lus: x ++. Wanneer X gaat meer dan 30 de lus stopt.

Voorwerpen

Zoals ik al eerder in deze Java-tutorial voor beginners heb gezegd, is Java een objectgeoriënteerde (OO) programmeertaal en om echt Java-programmeren en Android-programmeren te leren is het belangrijk om OO-concepten te begrijpen.

Op het eenvoudigste niveau is een object een set methoden (functies) die op een gegevensset werken. De gegevens en methoden behoren tot het object en werken voor het object.

Hier is de broncode voor een heel eenvoudig programma dat eenteller voorwerp:

Public Class Counter {int count; public Counter () {count = 0; } openbare nietig Increment () {count ++; } public int GetCount () {return count; } public static void main (String args) {Counter myCounter = new Counter (); System.out.println ("mycounter is" + myCounter.GetCount ()); myCounter.Increment (); System.out.println ("mycounter is" + myCounter.GetCount ()); }}

Het object Counter heeft één gegevensbestand, de variabele integer tellen en drie methoden (anders dan de belangrijkste): Counter (), Increment () en GetCount (). Als u de eerste methode voorlopig verlaat, kunt u dat zien Increment () en GetCount () zijn heel eenvoudig. De eerste voegt er een toe aan de interne variabele tellen en de tweede retourneert de waarde van tellen.

Tot nu toe zijn alle methoden die we hebben aangegeven begonnenopenbare nietigheid maar als je het merktgetCount() methode begint metopenbare int. We zullen er meer over pratenopenbaar in een moment, maar het verschil tussenleegte enint is dit:leegte verklaart dat de methode niets retourneert. Er komt geen resultaat uit de methode. Maarint vertelt ons dat de methode een getal retourneert, met name een geheel getal. U kunt eigenlijk methoden maken die allerlei gegevens retourneren, inclusief objecten.

Merk op dat de eerste methode dezelfde naam heeft als de klasse zelf, d.w.z. Teller(), en het heeft geen retourtype (zelfs niet leegte). Dit is een speciale methode die een constructor wordt genoemd. De constructor wordt slechts één keer aangeroepen, op het moment dat het object wordt gemaakt. Het wordt gebruikt om het object te initialiseren met standaardwaarden en andere noodzakelijke initialisatietaken uit te voeren. In dit voorbeeld wordt het gewoon ingesteld tellen tot nul.

Erfenis

Het mooie van klassen is dat je een algemene klasse kunt maken voor een abstract idee en vervolgens specifieke klassen kunt maken die zijn afgeleid van de oorspronkelijke klasse. U kunt bijvoorbeeld een klasse met de naam Dier maken en daaruit een nieuwe klasse afleiden voor een specifiek dier, bijvoorbeeld een eland.

Hier is een voorbeeld, ik zal in een moment verder ingaan op wat hier gebeurt ... Je moet voor dit voorbeeld twee bestanden maken, Animal.java en Elk.java. Hier is Animal.java:

openbare klasse Animal {int NumberOfLegs; openbaar dier (int n) {NumberOfLegs = n; } public int GetNumLegs () {return NumberOfLegs; }}

Normaal zou u de klasse Animal hierboven in een bestand met de naam Animal.java plaatsen en de klasse Elk in een bestand met de naam Elk.java. Als u echter compilejava.net gebruikt, kunt u alle code in het editorvenster plaatsen en wordt deze automatisch in de juiste bestanden opgeslagen wanneer u compileert en uitvoert.

public class Elk verlengt Animal {int lengthOfAntlers; public Elk (int l) {super (4); lengthOfAntlers = l; } public int GetAntlerLength () {return lengthOfAntlers; } public static void main (String args) {Elk myElk = new Elk (30); System.out.println ("Antler:" + myElk.GetAntlerLength ()); System.out.println ("Legs:" + myElk.GetNumLegs ()); }}

De klasse Animal staat bekend als een superklasse, terwijl de afgeleide klasse Elk bekend staat als een subklasse, omdat deze hiërarchisch lager is dan de klasse Animal. Wanneer een klasse wordt uitgebreid (d.w.z. u maakt een subklasse) neemt de nieuwe klasse de gegevens en methoden van de superklasse over. Daarom kan het programma bellen myElk.GetNumLegs () ook al maakt het deel uit van de Animal-klasse. De nieuwe klasse Elk heeft twee variabelen:NumberOfLegs enlengthOfAntlers. Het heeft ook twee methoden:GetAntlerLength enGetNumLegs. Als we een andere subklasse hebben gemaakt, bijvoorbeeld Schapen, het zou ervenNumberOfLegs variabel en deGetNumLegs-methode.

Bij het ontwerpen van objecten zult u ontdekken dat u wilt dat sommige methoden worden blootgesteld aan de rest van het programma, zodat ze kunnen worden aangeroepen. Maar andere methoden die u misschien privé wilt houden, zodat alleen het object er toegang toe heeft. Dit is waar dat woordopenbaar komt in het spel. We hebben alles verklaard alsopenbaar wat betekent dat de methode overal vanuit de code kan worden aangeroepen. U kunt echter methoden als privaat of beschermde, waardoor de toegang tot die methoden wordt beperkt. Dezelfde toegangsregels kunnen ook worden toegepast op de variabelen van het object. Een diepere discussie valt buiten het bestek van deze zelfstudie, maar als u meer informatie wilt, moet u Toegang tot leden van een klas beheren en Lidvariabelen declareren uit de Java-documentatie van Oracle.

Een ander ding dat het vermelden waard is, is hoe de constructeurs werken. De constructor Elk () initialiseert delengthOfAntlers variabele, in dit geval tot 30, het aantal dat is doorgegeven toen het object werd gemaakt. Maar daarvoor noemt het de constructor van de superklasse (d.w.z. Dier() ) met behulp van de speciale Java-notatiesuper.

Er is nog veel meer te zeggen over object-georiënteerd programmeren (OOP), maar deze Java-tutorial voor beginners zou voldoende moeten zijn om je een voorproefje te geven en je op weg te helpen.

Java-zelfstudie voor beginners - Afronden

Bedankt voor het bekijken van deze Java-tutorial voor beginners. Als u meer informatie wilt over hoe u Java kunt leren, dan bieden wij u graag onze uitgebreide cursus aan op DigitAcademy.com. Deze uitgebreide serie neemt je mee van absolute beginner tot zelfverzekerde professional en je ontvangt ook onze volledige cursus Inleiding tot Android-app-ontwikkeling.

Je kunt ook deel 2 van deze serie bekijken: Java-tutorial voor beginners, deel 2. Er zijn ook veel online tutorials om Java te leren. Hier zijn een paar van Oracle:

Oracle-zelfstudies

  • Aan de slag - Een inleiding tot Java-technologie en lessen over het installeren van Java-ontwikkelingssoftware en het gebruiken ervan om een ​​eenvoudig programma te maken.
  • De Java-taal leren - Lessen die de essentiële concepten en functies van de Java-programmeertaal beschrijven.
  • Essentiële Java-klassen - lessen over uitzonderingen, basisinvoer / -uitvoer, concurrency, reguliere expressies en de platformomgeving.

Zelfstudies van derden

Misschien wilt u ook de volgende zelfstudies bekijken:

  • Tutorials Point - Java-zelfstudie
  • Inleiding tot programmeren met Java

(E) boeken

Voor degenen onder u die een eBoek of een gedrukt boek willen over hoe u Java-programmering kunt leren, kunt u het volgende overwegen:

  • Java: een beginnershandleiding
  • Hoofd eerst Java

Goede boeken over Android-programmering zijn ook:

  • Android-programmering: The Big Nerd Ranch Guide
  • De beginnershandleiding voor Android Game-ontwikkeling
  • Java leren door Android-games te bouwen

Java-bronnen:

  • Hoe je je eerste Android-game op Java schrijft
  • Android Studio-tutorial voor beginners
    • Hoe Android Studio te installeren en je allereerste project te starten
    • Hoe de Android SDK te installeren
  • Android Studio leren kennen en de bestanden waaruit uw apps bestaan
  • Ga van coderende newbie naar Java-genie

Android Q biedt een cala aan functie, variërend van verbeterde privacybecherming tot een aangepat deelmenu. Maar de update van Google brengt ook de Dynamic Depth Format, en het heeft het potentie...

Uw laptop i uw werktation en uw entertainmentcentrum. De Polari Laptop Backpack biedt u een manier om becherm dit meet waardevolle bezit onderweg, zonder tijl en comfort op te offeren....

Fascinerende Publicaties