1.1.1.1. fejezet, Kezdő lap programozóknak
Alaptipusok és a nekik megfelelő objektumok
Alaptipus | Osztályok |
int | Integer |
long | Long |
byte | Byte |
short | Short |
boolean | Boolean |
float | Float |
double | Double |
char | Character |
A switch vezérlési szerkezetben csak az enum és alaptípusok - 1.7-től a String típus is - használhatók a case étrékeként. Számoknál a megfelelő objektumban meghatározták konstansként a MIN_VALUE és MAX_VALUE értékeket.
Felsorolt tipus: enum
Blokkok
A blokk - C nyelvben is használt - kapcsos zárójelek közé zárt kódrészlet.
{blokk utasítások;}
Tömb deklaráció
byte[] variableName = {1,5,7};
Paraméter átadás metódus hívásoknál
Alaptípusokat érték szerint, objektumokat referenciaként adja át a Java (azaz a metódus végrehajtása közben a hivatkozott objektum állapota változhat, és a metódus visszatéréskor az objektum változása a paraméterként átadott változóba is látszik).
Metódus visszatérés értékkel
... return value;
Operátorok:
- Számok: aritmetikai műveletek: + - * / %
Pl.: 2 + 3 [=5], 3.2 / 1.6 [=2.0], 7 % 3 [=1], 2 * 1.1 [=2.2] - Stringek: összefűzés: +
Pl.: "abc" + "cde" [="abccde"], "x" + " " + "y" [="x y"]
Minden más érték is átalakítható stringgé: "x: " + 3.2 [="x: 3.2"] - Összehasonlítás: ==, !=, <, <=, >, >=
Pl.: 6 < 7 [=true], 4.2 != 5.3 [=true] - Logikai műveletek: &&, ||, !
Pl.: !true [=false], 2 < 3 || 4 > 5 [=true] - Feltételes kifejezés: felt ? e1 : e2
Pl.: 2 > 0 ? "Pozitív" : "Negatív" [="Pozitív"] - Zárójelezés: "2 < 3: " + (2 < 3 ? "igen" : "nem"),
[="2 < 3: igen"], (2+2)*3 [=12]
String összehasonlítás
Mivel az == operátor objektum összehasonlításként értékelődik ki, ezért két String objektum értékét az equals és az equalsIgnorCase() metódusokkal tudjuk összehasonlítani. Hasonló metódusok még a startsWith() és az endsWith()
"valami".equels(o); // Ahol o lehet null érték is
Vezérlési szerkezetek
Elágazások:
if (feltétel) {blokk} else {blokk}
switch(feltétel) case VALUE: {blokk}; break; ... case ... case ... default: {blokk};
Iteráció
while (feltétel) { ... break; ... continue;}
do {blokk} while (feltétel)
for(int i = 0; i < maxValue; i++)
List<Type> list; for(Type item : list) {}
Kivétel kezelés
try {blokk; ... throw new Exception('üzenet'); } catch (Exception e) {blokk; e.metódus();} finally {blokk}
JavaSE 7-től alkalmazható összevont kivétel kezelések:
try { ... } catch (IOException | FileNotFoundException ex) { ex.printStackTrace(); }
Láthatóság
private,protected,public
Osztály és interfész
public interface FileAccess { public Date getLastAccessTime(); } public class FileAccessByIP extends BaseClass implements FileAccess, Serializable { private static final long serialVersionUID = -8223304647110342664L; @Override public Date getLastAccessTime(){ } }
Osztály változó, konstans, objektum tulajdonság
package hu.infokristaly.model; import hu.infokristaly.model.Human; public class Classmate extends Human { private String color; //Object property (has getter/setter) private static int userCounter; //Class variable private final static String defaultColor = "green"; //Class constant public static enum STATUS { LISTEN, SLEEP } public static int getStatusOrdinal (STATUS status) { return status.ordinal(); } public Classmate() { super(); this.color = defaultColor; userCounter++; } public Classmate(String color) { super(); this.color = color; userCounter++; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public static int getObjectCount() { return userCounter; } }
Serializable interface
private transient Osztály propertyName; - nem sorosítható tulajdonság.
Kiírás konzolra
System.out.println(...);
Beolvasás konzolról
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class ReadConsoleSystem { public static void main(String[] args) { System.out.println("Enter something here : "); try{ BufferedReader bufferRead = new BufferedReader(new InputStreamReader(System.in)); String s = bufferRead.readLine(); System.out.println(s); } catch(IOException e) { e.printStackTrace(); } } }
Memória használat
A java VM futtatásakor lefoglalható memóriát az alábbi paraméterek határozzák meg (java -X):
- -Xss: alapértelmezett stack méret (-Xss1024m)
- -Xms: alapértelmezett heap méret (-Xms1024m)
- -XX:PermSize: permanens heap méret, amit a GC nem kezel (-XX:PermSize=2048m)
- A hozzászóláshoz be kell jelentkezni