Zdrojak13

Odkazy:

  • Vnorené triedy - pomocné triedy (ako Word a FrequencyTable zo 7. sady zadaní)
  • Numeric literals - ako zapísať čísla v dvojkovej sústave, oddeľovače v zápise čísla, float, double, long hodnoty
  • Number format - ak potrebujeme vypísať číslo na presný počet desatinných miest a pod.
  • Enum - dátový typ, ktorý umožnuje premennej byť iba z množiny definovaných konštánt.
  • Java Style Guide - konvencie ako písať kód v Jave
  • Effective Java - kniha venovaná best practices pri písaní java kódu
  • Maven za 5 minút

Switch

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int nacitaneCislo = sc.nextInt();

        switch (nacitaneCislo) {
            case 1:
                System.out.println("bola stlacena 1");
                // nejaky kod
                break;
            case 2:
                System.out.println("bola stlacena 2");
                // nejaky kod
                break;
            default:
                System.out.println("taka moznost tu nie je");
                break;
        }
    }

Anonymné triedy

Porovnávanie podľa dĺžky reťazca

public static void main(String[] args) {
        List<String> slova = new ArrayList<>();
        slova.add("Ahoj");
        slova.add("Turtle");
        slova.add("Paz");
        Collections.sort(slova, new Comparator<String>() {
            @Override
            public int compare(String s1, String s2) {
                return Integer.compare(s1.length(), s2.length());
            }
        });
    }

BufferedReader

public static void main(String[] args) {
        File file = new File("hrac.txt");
        try (BufferedReader br = new BufferedReader(new FileReader(file))) {
            while (true) {
                String line = br.readLine();
                if (line == null) {
                    break;
                }
                System.out.println(line);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Serializable

https://www.geeksforgeeks.org/serialization-in-java/

Ternárny operátor

int age = 15;
                String s;
                if (age >= 18) {
                        s = "moze pit";
                } else {
                        s = "nemoze";
                }
                String q = (age >= 18) ? "moze pit" : "nemoze";

Výnimky

package sk.upjs.paz.prednaska13;

import java.util.ArrayList;
import java.util.List;

public class Launcher {

        public static void print(String s) throws SkaredeSlovoException {
                if (s.equals("skarede slovo")) {
                        throw new SkaredeSlovoException("skarede slovo");
                }
                System.out.println(s);
        }

        // volitelne throws
        public static void printList(List<String> list) throws NevhodnyVstupException {
                for (String s : list) {
                        try {
                                print(s);
                        } catch (SkaredeSlovoException e) {
                                //System.out.println("******");
                                //e.printStackTrace();
                                throw new NevhodnyVstupException(s, e);
                        }
                }
        }

        public static void main(String[] args) {
                List<String> list = new ArrayList<>();
                list.add("hello");
                list.add("world");
                list.add("skarede slovo");
                printList(list);

        }
}
package sk.upjs.paz.prednaska13;

public class NevhodnyVstupException extends RuntimeException {

        public NevhodnyVstupException() {
                super();
                // TODO Auto-generated constructor stub
        }

        public NevhodnyVstupException(String message, Throwable cause, boolean enableSuppression,
                        boolean writableStackTrace) {
                super(message, cause, enableSuppression, writableStackTrace);
                // TODO Auto-generated constructor stub
        }

        public NevhodnyVstupException(String message, Throwable cause) {
                super(message, cause);
                // TODO Auto-generated constructor stub
        }

        public NevhodnyVstupException(String message) {
                super(message);
                // TODO Auto-generated constructor stub
        }

        public NevhodnyVstupException(Throwable cause) {
                super(cause);
                // TODO Auto-generated constructor stub
        }



}
 
package sk.upjs.paz.prednaska13;

public class SkaredeSlovoException extends Exception {

        public SkaredeSlovoException() {
                super();
                // TODO Auto-generated constructor stub
        }

        public SkaredeSlovoException(String message, Throwable cause, boolean enableSuppression,
                        boolean writableStackTrace) {
                super(message, cause, enableSuppression, writableStackTrace);
                // TODO Auto-generated constructor stub
        }

        public SkaredeSlovoException(String message, Throwable cause) {
                super(message, cause);
                // TODO Auto-generated constructor stub
        }

        public SkaredeSlovoException(String message) {
                super(message);
                // TODO Auto-generated constructor stub
        }

        public SkaredeSlovoException(Throwable cause) {
                super(cause);
                // TODO Auto-generated constructor stub
        }



}