Érdekes Java-kód!
Formai különbségek kezdő és haladó kód között
A kódtömörítés, kódsűrítés a kód futási sebessége és mérete szempontjából remek megoldás, ám nyilvánvalóan az érthetőség ellen hat; ez főként a kezdők számára lehet problémás. Alább nézzünk meg több, futtatható Java-kódot az állítás igazolására!
Az első kód „fapados” és "szájbarágós", a System.out.println() metódust annyiszor használjuk fel, ahány beépített függvényt hívunk meg. Ez a lehetőségekhez mérten viszonylagos lassúságot eredményez és ez a kód lesz informatikai méretében a legnagyobb, cserébe viszont tiszta, nagyon jól olvasható és hamar átlátható kódot kapunk.
Jelzem, hogy pedagógiai célzatból ez az eljárás lesz általános a kezdők szintjén!
public class Main {
public static void main(String[] args) {
char karakter = 'R';
System.out.println(Character.isUpperCase(karakter));
System.out.println(Character.isLowerCase(karakter));
System.out.println(Character.toUpperCase(karakter));
System.out.println(Character.toLowerCase(karakter));
System.out.println(Character.isDigit(karakter));
System.out.println(Character.isLetter(karakter));
System.out.println(Character.isLetterOrDigit(karakter));
System.out.println(Character.class);
}
}
Végeredmény:
true
false
R
r
false
true
true
class java.lang.Character
A következő kód eredményeiben ugyanazt szolgáltatja, de a System.out.println() metódust csak egyszer használjuk fel. Ugyanakkor ügyelünk a korrekt formázásra is:
public class Main {
public static void main(String[] args) {
char karakter = 'R';
System.out.println(Character.isUpperCase(karakter)
+ "\n" +
Character.isLowerCase(karakter)
+ "\n" +
Character.toUpperCase(karakter)
+ "\n" +
Character.toLowerCase(karakter)
+ "\n" + Character.isDigit(karakter)
+ "\n" + Character.isLetter(karakter)
+ "\n" +
Character.isLetterOrDigit(karakter)
+ "\n" + Character.class);
}
}
Az utolsó kód eredményeiben ugyanazt szolgáltatja és formailag sincs teljesen szétesve, alapszintű formázást még hordoz magában, de ott tömörítettem, ahol tudtam, főleg a whitespace-eket (szóközöket) vettem ki. Ezáltal a leghatékonyabb, ám egyúttal a legnehezebben olvasható kóddá vált.
public class Main {
public static void main(String[] args) {
char karakter='R';
System.out.println(Character.isUpperCase(karakter)+"\n"+Character.isLowerCase(karakter)
+"\n"+Character.toUpperCase(karakter)+"\n"+Character.toLowerCase(karakter)
+"\n"+Character.isDigit(karakter)+"\n"+Character.isLetter(karakter)
+"\n"+Character.isLetterOrDigit(karakter)+"\n"+Character.class);
}
}