Uživatelské nástroje

Nástroje pro tento web


navody:java

Java

spustí jar program

java -jar <jar soubor>

překlad a vytvoření souboru jar

javac -cp . cz/kalcik/vojta/*/*.java
jar cfm ../soubor.jar META-INF/MANIFEST.MF cz/kalcik/vojta/*/*.class

Datové typy

  • long (64 bitů): –9 223 372 036 854 775 8089 223 372 036 854 775 807
  • int (32 bitů): –2 147 483 6482 147 483 647
  • short (16 bitů): –32 76832 767
  • byte (8 bitů): –128127
  • float (32 bitů)
  • double (64 bitů)

Příklady kódu

Calendar

vrátí aktuální rok, měsíc a den

import java.util.Calendar;
 
int year = Calendar.getInstance().get(Calendar.YEAR);
int month = Calendar.getInstance().get(Calendar.MONTH);
int day = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);

Date

vrátí aktuální datum a čas v definovaném formátu

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
 
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mmZ", Locale.UK);
String nowAsString = df.format(new Date());

Enum

výčet

enum ActivityMode {TEST, EXPLORE};
ActivityMode mode = ActivityMode.TEST;

výčet s metodou

public enum VectorLayerType
{
    POINT, LINE, POLYGON;
 
    public String getSpatialiteType()
    {
        if(this == POINT)
        {
            return "POINT";
        }
        else if(this == LINE)
        {
            return "LINESTRING";
        }
        else if(this == POLYGON)
        {
            return "POLYGON";
        }
 
        return null;
    }
};

Exception

vlastní výjimka zděděná od RuntimeException

public class MyException extends RuntimeException
{
    public MyException(String m)
    {
        super("MyException: " + m);
    }    
}
 
// vyvolani
try
{
    throw new MyException("To je problem!");
}
catch (MyException e)
{
    System.out.println(e.getMessage());
}
finally
{
    // provede se vzdy
}

assert

assert value != 0 : "Hodnota nesmí být 0!";

Iterator

jednoduchý Iterator, který bude neustále vracet řetězec „ahoj“

class AhojIterator implements Iterator<String>
{        
    public AhojIterator()
    {
 
    }
 
    @Override
    public boolean hasNext()
    {
        return true;
    }
 
    @Override
    public String next()
    {
        return "ahoj";
    }
 
    @Override
    public void remove()
    {
        throw new UnsupportedOperationException();
    }    
}

Konverze

převede int na string

int i = 10;
String is = Integer.toString(i);

převedy String na jiný typ

int i = Integer.parseInt("00000075");
double j = Double.parseDouble("0.5647");

Kontejnery

průchod kontejnereme

import java.util.ArrayList;
 
ArrayList<String> cisla = new ArrayList<String>();
cisla.add("jedna");
cisla.add("dva");
cisla.add("tri");
 
for(String cislo:cisla)
{
    System.out.println(cislo);
}

převede ArrayList na pole

ArrayList<String> params = new ArrayList<String>();
 
params.add("proj=utm");
params.add("zone=33");
params.add("ellps=WGS84");
params.add("datum=WGS84");
params.add("units=m");
params.add("no_defs");
params.add("towgs84=0,0,0");
 
String[] pole = params.toArray(new String[params.size()]);

převede pole na ArrayList

String[] pole = {"jedna","dva"};
 
ArrayList<String> = new ArrayList<String>(Arrays.asList(pole));

obrátí pořadí položek

import java.util.ArrayList;
import java.util.Collections;
 
ArrayList<String> items;
Collections.reverse(items);

vytvoří inicializovanou množinu

import java.util.Arrays;
import java.util.Set;
import java.util.TreeSet;
 
Set<String> suffixs = new TreeSet<String>(Arrays.asList(".shp", ".shx", ".dbf")); 

vyplní pole jednou hodnotou

import java.util.Arrays;
 
int[] pole = new int[10];
Arrays.fill(pole, 99);

Objektově orientované programování

this pro nadtřídu

public class Trida
{ 
    private void nicNedelej() {}
 
    class Podtrida
    {
        public void delej()
        {
            Trida.this.nicNedelej();
        }
     }
}

zjisti jestli je objekt instatnce třidy Trida

if (objekt instanceof Trida)
{
    // delej neco
}

vytvoří třídu podle návrhového vzoru singleton

public class Trida
{
    private static Trida instance = new Trida();
 
    private Trida() { }
 
    public static Trida getInstance()
    {
        return instance;
    }
}

přetěžování konstruktoru

public class Point
{
    public float x;
    public float y;
 
    public Point()
    {
        this(0, 0);
    }
 
    public Point(float x, float y)
    {
        this.x = x;
        this.y = y;
    }
}

String

formátování řetězce

int status = 1;
String.format("onStatusChanged %d", status);

StringBuilder

StringBuilder builder = new StringBuilder(":-)");
 
for(int i=0; i < 10; i++)
{
    builder.append("ahoj");
}
 
String output = builder.toString();

Vlákna

uspí vlákno na sekundu

try
{
    Thread.sleep(1000);
}
catch (InterruptedException e)
{
    // osetreni
}

synchronizovaný blok

synchronized(this)
{
    // neco
}

synchronizovaná metoda

public synchronized void metoda()
{
    // telo
}
navody/java.txt · Poslední úprava: 2013/10/23 23:01 autor: jules