Trzecia prezentacja do kursu „Wstęp do programowania”.
Treść: Przykład procesu tworzenia programu, schematy blokowe, instrukcje wyboru, operator warunkowy, porównanie łańcuchów znaków.
Ta strona jest częścią starego kursu Javy. Nowy kurs, pt. “Programowanie w Javie z elementami bioinformatyki dla poczatkujących”, jest znacznie rozszerzony i dostosowany fo Javy 8. Jego forma jest także znacznie bardziej przystępna dla korzystających wyłącznie z treści on-line. Dostępne materiały znajdziesz tutaj.
Kody źródłowe
Porównanie łańcuchów znaków (tekstu)
public class PorownanieTekstu {
public static void main(String[] args) {
// Porównywanie łańcuchów znaków (tekstu) z uwzględnieniem wielkości liter.
String tekst = "kot";
System.out.println("tekst.equals() kot: "+tekst.equals("kot"));
System.out.println("tekst.equals() pies: "+tekst.equals("pies"));
System.out.println("tekst.equals() KOT: "+tekst.equals("KOT"));
// Porównywanie łańcuchów znaków (tekstu) z ignorowaniem wielkości liter.
System.out.println("tekst.equalsIgnoreCase() kot: "+tekst.equalsIgnoreCase("kot"));
System.out.println("tekst.equalsIgnoreCase() pies: "+tekst.equalsIgnoreCase("pies"));
System.out.println("tekst.equalsIgnoreCase() KOT: "+tekst.equalsIgnoreCase("KOT"));
}
}
Rozpoznawanie płci po chromosomach płciowych – wersja 1
import java.util.Scanner;
public class ChromosomyPlciVer1 {
public static void main(String[] args) {
//Prosta identyfikacja płci po kariotypie
// tworzymy obiekt typu Scanner
Scanner skaner = new Scanner(System.in);
System.out.print("Podaj kariotyp: ");
//Pobieramy kariotyp z klawiatury
String kariotyp = skaner.nextLine();
// Sprawdź czy kariotyp to "XY"
if (kariotyp.equalsIgnoreCase("XY")) {
// jeśli tak to wydrukuj "Samiec"
System.out.println("Samiec");
}
// jeśli powyższy warunek nie został spełniony to sprawdź czy kariotyp to "XX"
else if (kariotyp.equalsIgnoreCase("XX")) {
// jeśli tak to wydrukuj "Samiec"
System.out.println("Samica");
}
// jeśli powyższy warunek nie został spełniony to...
else {
// ... wydrukuj "???"
System.out.println("???");
}
System.out.println("KONIEC");
}
}
Przykład zastosowania instrukcji switch
import java.util.Scanner;
public class Oceny {
public static void main(String[] args) {
Scanner skaner = new Scanner(System.in);
System.out.print("Podaj ocenę: ");
String ocena = skaner.nextLine();
int ocenaLiczba = Integer.parseInt(ocena);
switch (ocenaLiczba) {
case 5 :
System.out.println("Bardzo dobry");
break;
case 4 :
System.out.println("Dobry");
break;
case 3 :
System.out.println("Dostateczny");
break;
case 2 :
System.out.println("Niedostateczny");
break;
default :
System.out.println("Jakaś dziwna ocena!");
}
}
}
Przykład zastosowania instrukcji switch z łańcuchem znaków (konieczna Java 7 lub nowsza)
import java.util.Scanner;
public class SwitchString {
public static void main(String[] args) {
Scanner skaner = new Scanner(System.in);
System.out.print("Podaj kariotyp: ");
String kariotyp = skaner.nextLine();
// zmieniamy wszystkie znaki na wielkie
kariotyp = kariotyp.toUpperCase();
switch (kariotyp) {
case "XX":
System.out.println("Kariotyp "+kariotyp+" nalezy do samicy.");
break;
case "XY":
System.out.println("Kariotyp "+kariotyp+" nalezy do samca.");
break;
default:
System.out.println("???");
}
}
}
Zastosowanie operatora warunkowego (? :) i porównanie z instrukcją if … else
import java.util.Scanner;
public class OperatorWarunkowy {
public static void main(String[] args) {
Scanner skaner = new Scanner(System.in);
System.out.print("Podaj liczbę: ");
String rodzajLiczby;
String liczba = skaner.nextLine();
int liczbaInt = Integer.parseInt(liczba);
// z zastosowaniem instrukcji if ... else
if (liczbaInt%2 == 0) rodzajLiczby="parzysta";
else rodzajLiczby="nieparzysta";
System.out.println("Podana liczba ("+liczbaInt+") jest "+rodzajLiczby);
// z zastosowaniem operatora warunkowego
rodzajLiczby = (liczbaInt%2 == 0 ? "parzysta" : "nieparzysta");
System.out.println("Podana liczba ("+liczbaInt+") jest "+rodzajLiczby);
// z zastosowaniem operatora warunkowego - wersja w 1 linijce
System.out.println("Podana liczba ("+liczbaInt+") jest "+(liczbaInt%2 == 0 ? "parzysta" : "nieparzysta"));
}
}
@grzegg
Czemu przy programie z kariotypem wyświetla mi błąd: Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted
Tego typu błąd pojawia się jeśli instrukcję „switch” ze String-iem stosuje się w Javie w wersji 6 lub niższej. „Switch” obsługuje łańcuchy znaków od wersji 7.
Przypuszczalnie masz zainstalowaną Javę 6.