PB162 Programování v jazyce Java 4. cvičenie chyby z úlohy JavaDoc ­ preberieme neskôr používať ASCII alebo UTF­8 formátovanie reťazcov ­ \n najčastejšie používané ­ System.getProperty("line.separator"); ­ String.format(" Prvni radek %n Druhy radek %n Treti radek %n"); najlepšia varianta chyby z úlohy zbytočné atribúty private int dieselCapacity; private int gasCapacity; názvy metód, atribútov, parametrov... majú niečo znamenať nullovať lokálne premenné na konci main gasStationA = null; gasStationB = null; nie je nutné, ale ani chybou javadoc trieda ­ popis, čo trieda reprezentuje + metadáta ­ @author ­ @versin ­ @since ­ verzia, od ktorej je súčasťou API javadoc metódy ­ každej public metóde patrí práve jeden komentár ­ parametre metódy @param pre každý parameter ­ metódy, ktoré niečo vracajú @return i popis metódy equals používa sa na zistenie, či ide o rovnaký objekt ­ pre operátor == je smerodajná identita objektu ­ pre equals je smerodajné ekvivalencia objektov reťazce sú ekvivalentné, ak ide o rovnakú postupnosť znakov, nezávisle na tom, či je to ten istý objekt equals String s1 = new String("test"); String s2 = new String("test"); if (s1==s2){ System.out.println("s1 == s2"); } else { System.out.println("s1 != s2"); } if (s1.equals(s2)) { System.out.println("s1.equals(s2)"); } else { System.out.println("!s1.equals(s2)"); } balíky členenie projektu na časti triedy patria do balíka, ak ­ majú rovnakú deklaráciu príslušnosti k balíku package cz.muni.fi.pb162.task1 ­ sa nachádzajú v rovnakom adresári ­ presnejšie: nachádzajú sa na rovnakej ceste koreň: classpath balíky dôvod: zjemnenie viditeľnosti ­ ďalšia úroveň medzi private a public triedy, metódy, atribúty bez modifikátora viditeľnosti sú viditeľné len v rámci balíku syntaktické konštrukcie stručná aritmetika ­ c++, c*=,... podmienky ­ if­else, ?­: preťažovanie stručná aritmetika / delenie ­ int / int = int: celočíselné delenie ­ float / int = float, int / float = float: delenie v obore reálnych čísel ­ ako dosiahnuť 3 / 4 = 0.75? int i = 3; int j = 4;i / j = 0.75? stručná aritmetika += ­ a += 3; <=> a = a + 3; *=, -=, /=,... ­ c _= 5; <=> c = c _ 5; ++c, ++c ­ inkrementácia ­ c++; <=> c = c + 1; ­ ale c++ je výraz, c = c + 1; je príkaz podmienenky if­else if (a == 3) { b = 0; } else { b++; } ternárny operátor ?­: ­ výsledkom je výraz ­ má hoodnotu ­ b = (a == 3) ? 0 : b + 1; preťažovanie metód System.out.println() ­ 1 metóda? ­ viac metód rovnakého mena! Ak existuje viac metód rovnakého mena, ktoré sa líšia počtom a typmi parametrov, hovoríme o preťaženej metóde. výhody a nevýhody searchtree SearchTree ­ interface UnbalancedSearchTree ­ implementácia rozhrania Node ­ pomocná trieda ­ viditeľná len vo vnútri balíku snáď nabudúce ­ odoberanie prvku, AVL zadanie 3. úlohy deadline 15. 10. 2008 o 24.00 odovzdávajte zip alebo jar, nie tar.gz, rar...