Notice: Undefined index: treeid in /home/blinkenlights/public_html/commands/TreeDetailsCommand.php on line 50
Blinkenlights.se - Java 5 för nybörjare - Programmering & spelutveckling

BETA


Notice: Undefined index: treeid in /home/blinkenlights/public_html/view/TreeDetailsView.php on line 60

Java 5 för nybörjare

Tillbaka till artikelarkivet

Filer

Verktyg

Kommentarer (7)
Utskriftsvänligt format

Betyg

markedunmaked 5.9

Detta är en enkel nybörjarguide i Java. Guiden kommer att inrikta sig på att skapa sk Applets så att vi snabbt kan komma till de lite roligare bitarna av programmeringen.

Navigation:

< Föregående del || Nästa del >

Text - 03 - Språket

Språket


Nu har vi lekt runt lite med applets och ritat lite enkla saker. Men det är en hel del saker jag har hoppat över att förklara ordentligt. Och de ska vi ta hand om nu. När du har läst detta tillräckligt många gånger för att förstå det så kan vi fortsätta att lära oss en massa nya roliga saker, som att låta användaren styra appleten t ex.

Klasser

Nu har jag nämnt ordet klasser ganska många gånger, och du har troligtvis inte så bra koll på vad det är ändå. Jag har t om sagt en sak som var lite fel, för att underlätta det för er läsare. Jag sa nämligen att en klass kan liknas vid t ex en bil. Det är fel, men inte helt fel. Det är nämligen så att klassen snarare är mallen för att göra bilen. En bättre liknelse kan vara att en klass är en pepparkaksform. Men vad kan man då göra med en pepparkaksform? - Jo, ingenting, förutom att göra pepparkakor. Pepparkakorna kan man sedan göra massvis med roliga saker med.
Ta och läs det där om pepparkakor en gång till, så du verkligen förstår.
Det är alltså så att pepparkaksformen är våran klass. För att använda klassen måste vi göra en pepparkaka som vi sedan gör en massa roliga saker med. Pepparkakan i det här fallet brukar kallas objekt inom objektorienteringen. Man har alltså en klass, och sedan gör man ett objekt utav den. Med detta objekt kan man sedan anropa de metoder som klassen/objektet har (båda har dem, men de går bara använda på ett objekt så att säga). Att anropa någonting betyder att man kör det ungefär.

Metoder

Vi har även skrivit ett par metoder. Och metoder är alltså en del utav en klass som gör någonting, t ex ritar ut lite text eller en linje. Metoder kan ta emot argument, ett argument är en liten bit information eller data som metoder använder för att utföra sina uppgifter.
Om man t ex har en metod som heter Addera så kan den ta två argument. Dessa två argument är två olika tal som metoden summerar. Metoden kommer då att göra olika saker beroende på vad man skicka för argument. Antingen summerar den 5 och 3, eller 7 och 8 och så vidare. Argumenten lagras i variabler. Du kan ha hört ordet variabel förut, inom matten t ex. En variabel är ett tal med varierande värde. En variabel kan vara 5 ibland och 8 lite senare. Den kan alltså byta värde, värdet varierar. Variablerna kommer olika datatyper, här kommer en liten text om datatyper.

Datatyper

En datatyp är en typ utav data. Om man har en data som innehåller text ska den lagras i en datatyp av typen text. Har man ett nummer som ska lagras i en variabel så ska variabeln vara utav typen nummer. Namnen på de olika datatyperna kommer från engelskan där nummer heter integer t ex. Sedan förkortar man det engelska namnet till och kommer fram till ett totalt oläsligt och obegripligt namn. Här är en lista på datatyper:
Nummer/tal EUR" int
Text EUR" String
Nummer/tal med decimaler EUR" float
Sant/falskt EUR" boolean

Returvärden

Nu ska vi tillbaka till metoderna en liten stund. Det är nämligen så att om man har en metod som heter Addera, till vilken man skickar två värden som man vill summera. Så vill man kanske göra något med resultatet också. Därför brukar man Returnera resultatet. Det betyder att man skickar tillbaka resultatet till den som efterfrågade summeringen. Returvärdet har också en datatyp precis som variabler.

Konkreta tillämpningar

Nu har jag svammlat massor om datatyper, variabler, objekt och så vidare. För att du ska förstå hur man Använder de här sakerna ska jag nu visa ett gäng kodsnuttar som använder de olika sakerna jag pratat om.

Klasser

  1.  
  2. public class EnKlass {
  3. }

Så kan en mycket enkel klass se ut. Tyvärr har den inga metoder så den kan inte göra något, förutom att göra objekt (pepparkaksformen och pepparkakorna igen Smiley ).

Nu ska jag visa hur man gör ett objekt utav en klass.
  1.  
  2. public class HuvudKlass {
  3. public void HuvudKlass() {
  4. NyKlass Objekt = new NyKlass();
  5. }
  6. }
  7.  
  8. public class NyKlass {
  9. }

Nu uppstår ju en annan intressant fråga. Vem var det som skapade ett objekt utav HuvudKlass så att man kan köra metoden med samma namn? Man måste ju börja någon stans, därför säger man till Java vilken klass man börjar med. I det här fallet skulle det vara HuvudKlass. Anledningen till att jag skapat en metod som heter just HuvudKlass är att den metoden kommer att anropas när man skapar ett objekt utav klassen. Så fort vårat program startas skapas alltså ett objekt utav HuvudKlass eftersom vi sagt åt Java det. Då anropas metoder HuvudKlass som i sin tur skapar ett annat objekt utav en annan klass.

Okej då, detta kanske var lite svårt. Man brukar egentligen inte gå igenom klasser och objekt förrän en bit in i guiden. Men i Java är klasser och objekt en mycket viktig del. Någon gång måste man ju lära sig vad det är, så varför inte ta det med en gång? Du gör inget om du inte förstår allt med en gång. Läs bara så mycket du kan och orkar. Skriv en massa kod, lek med koden. Läs igen och igen. Såsmåningom förstår du nog!

Nu ska jag visa en enkel rad kod som skapar en variabel för nummer/tal (alltså int). Jag ska sedan Tilldela variabeln ett värde.
  1.  
  2. int tal;
  3. tal = 5;
  4. [/source=java]
  5. Inte så knepigt va? På första raden anger vi att vi skapar en variabel som heter tal och är av datatypen int. På den andra raden tilldelar vi variabeln värdet 5.
  6. Man kan även göra detta på en rad om man är lite lat:
  7. [source=java]
  8. int tal=5;


Det viktiga här är att tal kan ha flera olika värden på olika tidpunkter i programmets körning. Ett mycket bra exempel på vad man kan lagra i en variabel är ett värde som användaren utav programmet har angett.

Nu ska jag visa koden till ett program som har en metod Addera. Metoden Addera tar två argument, nämligen två int-värden. Dessa värden läggs sedan ihop och sparas i en ny variabel. Den nya variabeln skickas sedan tillbaka till den som anropade Addera. Såhär ser koden ut:
  1.  
  2. import java.applet.*;
  3. import java.awt.*;
  4.  
  5. public class NewApplet extends Applet {
  6. public void init() {
  7. int tal;
  8. tal = Addera(2,2);
  9. System.out.println(tal);
  10. }
  11. public int Addera(int tal1, int tal2) {
  12. int summa;
  13. summa = tal1 + tal2;
  14. return summa;
  15. }
  16. }

Det är dock en del saker jag inte förklarat här. T ex raden EURtal = Addera(2,2);EUR. Det som händer på den raden är att vi anropar metoden Addera. Argumenten vi skickar med är 2 och 2. Metoden addera gör då sin grej och summerar talen, och skickar sedan tillbaka resultatet. Vadå skickar tillbaka resultatet? Vem är den läskiga personen som får alla returnerade värden? De frågorna besvaras med just denna rad. Tal = Addera(2,2);
Det betyder alltså att variabeln tal kommer att få samma värde som metoder Addera returnerade. Smidigt va?
Sedan har vi en till konstig rad, System.out.println(tal);
Den raden skriver ut värdet utav variabeln tal, du kan läsa av värdet längst ner i NetBeans. Efter raden run-applet: kommer texten som våran applet genererar, i det här fallet borde det bli en fyra då 2 + 2 = 4 Smiley

Jag har i den här delen använt grovt förenklade klasser och metoder för att du lättare ska förstå. Men det är i princip såhär det går till med större klasser också. Se t ex på g.drawLine. Där skickar man ett antal nummer/tal till metoder drawLine som tillhör objektet g (som skapades utav klassen Graphics). Metoden drawLine ritar då en linje med hjälp utav de värde som man angav som argument.

En liten sak att lägga märke till är att man även kan init-metoden såhär:
  1.  
  2. System.out.println(Addera(2,2));

Då kommer värdet som returneras utav Addera skickas vidare till println direkt, istället för att mellanlagras i en variabel först.

Nu var det slut på den här delen!

Slut

Navigation:

< Föregående del || Nästa del >

Till toppen

MySQL Error

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups ON users.group = groups.groupId WHERE users.id = '0' LIMIT 1' at line 2
Querystring
SELECT groups.doMod FROM users
	INNER JOIN groups ON users.group = groups.groupId
	WHERE users.id = '0'
    LIMIT 1