Obsah druhej lekcie:
- Vvetvenie programu
- Cykly
- Operátory
- Úloha č. 2
Vzhľadom na to, že väčšina vecí uvedených v tejto lekcii je identická s C/C++, tak uvediem len základné informácie a zdrojový kód, poprípade link na kurz C++ s danou problematikou.
Vetvenie programu
Java podporuje dva základné typy vetvenia programu, tak ako aj C/C++, čiže if/else a switch.
public class Test {
private int cislo = 5;
// metoda na zistenie hodnoty premennej cislo
public int zistiCislo() {
return cislo;
}
// metoda na nastavenie hodnoty premennej cislo
public void nastavCislo(int noveCislo) {
cislo = noveCislo;
}
public static void main(String[] args) {
Test mojTest = new Test();
// vetvenie if/else if/else
if(mojTest.zistiCislo() < 5)
System.out.println("Cislo je mensie ako 5.");
else if(mojTest.zistiCislo() == 5) {
/*
* vsimnite si System.out.print nedava enter (\n)
* na koniec riadku na rozdiel od System.out.println
*/
System.out.print("Cislo sa rovna ");
System.out.println("5.");
}
else
System.out.println("Cislo je vacsie ako 5.");
// nastavenie premennej cislo na hodnotu 10
mojTest.nastavCislo(10);
// vetvenie switch
switch(mojTest.zistiCislo()) {
case 5:
System.out.println("Cislo sa rovna 5.");
break;
default:
System.out.print("Cislo sa nerovna 5.");
break;
}
}
}
Vetvenie v C++.
Cykly
Tie isté ako v C/C++ – for, do–while a while.
public class Test {
public static void main(String[] args) {
// cyklus for
for(int i = 1; i <= 10; i++) {
System.out.println(i);
}
// dva prazdne riadky
System.out.println();
System.out.println();
// cyklus do-while
int i = 1;
do {
System.out.println(i);
i++;
}
while(i <= 10);
// dva prazdne riadky pomocou "\n"
System.out.print("\n\n");
// cyklus while
i = 1;
while(i <= 10) {
System.out.println(i);
i++;
}
}
}
Cykly v C++.
Operátory
Operátory delíme podľa počtu operandov na unárne (pracujú len s jedným operandom, napr. negácia) a binárne (pracujú s dvoma operandmi, napr. log. súčin). Základné rozdelenie operátorov:
Aritmetické operátory
Operátor | Názov | Funkcia |
+ | sčítanie | operand + operand |
− | odčítanie | operand − operand |
* | násobenie | operand * operand |
/ | delenie | operand / operand |
% | modulus (zvyšok po delení) | operand % operand |
Logické operátory
Operátor | Názov | Funkcia |
&& (AND) | logický súčin (a zároveň) | operand && operand |
|| (OR) | logický súčet (alebo) | operand || operand |
! (NOT) | negácia | ! operand |
Relačné operátory
Operátor | Názov | Funkcia |
< | menšie | operand1 < operand2 |
<= | menšie alebo rovné | operand1 <= operand2 |
> | väčšie | operand1 > operand2 |
>= | väčšie alebo rovné | operand1 >= operand2 |
== | rovné | operand1 == operand2 |
!= | nerovné | operand1 != operand2 |
public class Test {
private int operand1;
private int operand2;
private boolean operand3;
private boolean operand4;
// zisti hodnotu premennej operand1
public int zistiOperand1() {
return operand1;
}
// nastavi hodnotu premennej operand1
public void nastavOperand1(int novyOperand1) {
operand1 = novyOperand1;
}
// zisti hodnotu premennej operand2
public int zistiOperand2() {
return operand2;
}
// nastavi hodnotu premennej operand2
public void nastavOperand2(int novyOperand2) {
operand2 = novyOperand2;
}
// zisti hodnotu premennej operand3
public boolean zistiOperand3() {
return operand3;
}
// nastavi hodnotu premennej operand3
public void nastavOperand3(boolean novyOperand3) {
operand3 = novyOperand3;
}
// zisti hodnotu premennej operand4
public boolean zistiOperand4() {
return operand4;
}
// nastavi hodnotu premennej operand4
public void nastavOperand4(boolean novyOperand4) {
operand4 = novyOperand4;
}
public static void main(String[] args) {
Test mojTest = new Test();
mojTest.nastavOperand1(7);
mojTest.nastavOperand2(5);
System.out.println("Aritmeticke operatory\n");
System.out.print(mojTest.zistiOperand1() + " + " + mojTest.zistiOperand2());
System.out.println(" = " + (mojTest.zistiOperand1() + mojTest.zistiOperand2()));
System.out.print(mojTest.zistiOperand1() + " - " + mojTest.zistiOperand2());
System.out.println(" = " + (mojTest.zistiOperand1() - mojTest.zistiOperand2()));
System.out.print(mojTest.zistiOperand1() + " * " + mojTest.zistiOperand2());
System.out.println(" = " + (mojTest.zistiOperand1() * mojTest.zistiOperand2()));
System.out.print(mojTest.zistiOperand1() + " / " + mojTest.zistiOperand2());
System.out.println(" = " + (mojTest.zistiOperand1() / mojTest.zistiOperand2()));
System.out.print(mojTest.zistiOperand1() + " % " + mojTest.zistiOperand2());
System.out.println(" = " + (mojTest.zistiOperand1() % mojTest.zistiOperand2()));
System.out.println("\nLogicke operatory\n");
mojTest.nastavOperand3(true);
mojTest.nastavOperand4(true);
if((mojTest.zistiOperand3() && mojTest.zistiOperand4()) == true)
System.out.println("Obidva operandy su nastavene na hodnotu true.");
else
System.out.println("Obidva operandy niesu nastavene na hodnotu true");
mojTest.nastavOperand3(true);
mojTest.nastavOperand4(false);
if((mojTest.zistiOperand3() || mojTest.zistiOperand4()) == true)
System.out.println("Aspon jeden z operandov je nastaveny na hodnotu true.");
else
System.out.println("Ani jeden operand nieje nastaveny na hodnotu true");
if(!mojTest.zistiOperand3() == true)
System.out.println("Operand3 je nastaveny na hodnotu true.");
else
System.out.println("Operand3 nieje nastaveny na hodnotu true.");
System.out.println("\nRelacne operatory\n");
mojTest.nastavOperand1(100);
if(mojTest.zistiOperand1() > 100)
System.out.println("Operand1 > " + 100);
if(mojTest.zistiOperand1() >= 100)
System.out.println("Operand1 >= " + 100);
if(mojTest.zistiOperand1() == 100)
System.out.println("Operand1 == " + 100);
if(mojTest.zistiOperand1() < 100)
System.out.println("Operand1 < " + 100);
if(mojTest.zistiOperand1() <= 100)
System.out.println("Operand1 <= " + 100);
if(mojTest.zistiOperand1() != 100)
System.out.println("Operand1 != " + 100);
}
}
Úloha č. 2
Vyskúšajte všetky uvedené príklady a skúste zmeniť aj hodnoty premenných. Všetky problémy a veci týkajúce sa Javy a tohto kurzu sa budú riešiť na fóre v kategórii Java.