- 24 Mar 2019
- 172
- 0
Merhaba arkadaşlar bugün 3 ders ile karşınızdayım. Bugün derste koşul ifadeleri (if-else if-else & switch case) ve döngülerden (for-while-do while) bahsedeceğim.
Haydi başlayalım;
Koşul ifadeleri
Anlatım içeriği:- İlişkisel ve mantıksal operatörleri kullanarak koşul ifadesi yazma
- if komutunu kullanarak farklı koşullara göre programın farklı çalışmasını sağlama
- if-else komutunu kullanma
- Bileşik komutlar ile belirli bir koşulda birden fazla işlem yapabilen program yazma
- if ve switch komutları arasında dönüşüm yapma
Koşul ifadelerini yazarken farklı değerleri karşılaştırmak için ilişkisel (relational) operatörler, ilişkisel ifadeleri birleştirmek için ise mantıksal (logical) operatörler kullanılır.
İlişkisel Operatörler:
- İf(x > y) // Bu önerme doğru ise true, yanlış ise false değerini döndürür.
- İf(x < y) // Bu önerme doğru ise true, yanlış ise false değerini döndürür.
- İf(x >= y) // Bu önerme doğru ise true, yanlış ise false değerini döndürür.
- İf(x <= y) // Bu önerme doğru ise true, yanlış ise false değerini döndürür.
- İf(x == 3) // x değişkeni 3 e eşitse true döndür, değilse false döndürür.
- İf(x != y)// x değişkeni yye eşit olmadığı sürece true döndür, değilse false döndürür.
Mantıksal Operatörler:
- İf(x >1 && x<10) // x 1den büyük ve 10dan küçük ise true döndür, değilse false döndürür.
- İf(x >1 || x<10) // x 1den büyük veya 10dan küçük ise true döndür, değilse false döndürür.
- İf(!x)// x true ise false döndür+, false ise true döndürür.
Operatör Öncelik Sıralaması:
Örnek(if,else if, else):
Kod:
package tht_ders_3;
import java.util.Scanner;
public class Tht_Ders_3 {
public static **** main(String[] args) {//**** yerine v_o_i_d yazınız "_" kaldırarak
//basit bir hesap makinesi ile if,else if, else kulanımıgı göreceğiz
int x,y;
int sonuc=0;
char c;
Scanner scanner = new Scanner(System.in);
System.out.println("Birinci sayıyı giriniz:");
x=scanner.nextInt();
System.out.println("ikinci sayıyı giriniz:");
y=scanner.nextInt();
System.out.println("operatör giriniz:");
c=scanner.next().charAt(0);
if(c=='+'){// okuduğumuz karakter + ise altaki işlem yapılıcak
sonuc=x+y;
System.out.println("x+y="+sonuc);
}
else if(c=='-'){//okuduğumuz karakter - ise altaki işlem yapılıcak
sonuc=x-y;
System.out.println("x-y="+sonuc);
}
else if(c=='*'){//okuduğumuz karakter * ise altaki işlem yapılıcak
sonuc=x*y;
System.out.println("x*y="+sonuc);
}
else if(c=='/'){//okuduğumuz karakter / ise altaki işlem yapılıcak
sonuc=x/y;
System.out.println("x/y="+sonuc);
}
else{// diğer bütün olasılıklar için hata mesajı verecektir
System.out.println("hatalı karakter...");
}
}
}
İç içe if kullanımı:
Kod:
if (a < b) {
if (a < c) {
enKucukSayi=a;
} else {
enKucukSayi=c;
}
} else if (b < c) {
enKucukSayi=b;
} else {
enKucukSayi=c;
}
if ve switch komutları arasında dönüşüm yapma:
Kod:
package tht_ders_3;
import java.util.Scanner;
public class Tht_Ders_3 {
public static **** main(String[] args) { //**** yerine v_o_i_d yazınız "_" kaldırarak
//basit bir hesap makinesi ile switch case göreceğiz
int x,y;
int sonuc=0;
char c;
Scanner scanner = new Scanner(System.in);
System.out.println("Birinci sayıyı giriniz:");
x=scanner.nextInt();
System.out.println("ikinci sayıyı giriniz:");
y=scanner.nextInt();
System.out.println("operatör giriniz:");
c=scanner.next().charAt(0);
switch(c){//karakteri yazıyoruz içine ve ona bakarak aşadaki durumları kontrol ediyor
case '+':
sonuc=x+y;
System.out.println("x+y="+sonuc);
break;// en önemli komutur işlemi durdurmak için her case sonuna yazılmalıdır.
case '-':
sonuc=x-y;
System.out.println("x-y="+sonuc);
break;
case '*':
sonuc=x*y;
System.out.println("x*y="+sonuc);
break;
case '/':
sonuc=x/y;
System.out.println("x*y="+sonuc);
break;
default:
System.out.println("hatalı karakter...");
break;
}
}
}
Döngüler
- Döngü komutları, verilen koşula göre komutları tekrar çalıştırır.
- Bu döngü işlemini while, do-while veya for komutları ile gerçekleştirebiliriz.
- Döngü komutlarını anlatmadan önce bu komutlarla beraber çok kullanılan bileşik atama, artırma ve azaltma operatörlerini inceleyelim.
Atama Ve Birleşik Atama Komutları:
Tabloda karşılıklı gelen şeyler birbirine eşit kavramlar, yani sol kısım yerine sağ kısım tercih edilebilir.
Artırma ve Azaltma Operatörleri:
- i++; //i değeri 1 artar
- j--; //j değeri 1 azalır
while döngüsü
Algoritma (Çalışma Prensibi):
Örnek(while) :
Kod:
package tht_ders_3;
import java.util.Scanner;
public class Tht_Ders_3 {
public static **** main(String[] args) {//**** yerine v_o_i_d yazınız "_" kaldırarak
//faktoriel hesaplayan bir program ile döngüleri tanıyalım
int a;
int sonuc=1;//çarpmada etkisiz eleman oldugu için 1 e eşitledik
System.out.print("faktoriel hesaplamak istediğiniz sayiyi giriniz:");
Scanner scanner = new Scanner(System.in);
a=scanner.nextInt();
if (a>0) {// a'nın pozitif olamını kontrol ediyoruz
while(a!=0){// a sayısı 0 olana kadar sürecek
sonuc*=a;//sonuc=sonuc*a
a--;// a=a-1
}
System.out.println("sonuc:"+sonuc);
}
else{
System.out.println("negatif bir sayı girdiniz...!");
}
}
}
do-while
Algoritma (Çalışma Prensibi):
Kod:
package tht_ders_3;
import java.util.Scanner;
public class Tht_Ders_3 {
public static **** main(String[] args) {//**** yerine v_o_i_d yazınız "_" kaldırarak
//faktoriel hesaplayan bir program ile döngüleri tanıyalım
int a;
int sonuc=1;//çarpmada etkisiz eleman oldugu için 1 e eşitledik
System.out.print("faktoriel hesaplamak istediğiniz sayiyi giriniz:");
Scanner scanner = new Scanner(System.in);
a=scanner.nextInt();
if (a>0) {
do{// a sayısı 0 olana kadar sürecek
sonuc*=a;//sonuc=sonuc*a
a--;// a=a-1
}while(a!=0);//; unutulmamlı kulanımı farkı burda birde ilk yaptıktan sonra kontrol ediyor while ile farkı budur
System.out.println("sonuc:"+sonuc);
}
else{
System.out.println("negatif bir sayı girdiniz...!");
}
}
}
for
Algoritma (Çalışma Prensibi):
Kod:
package tht_ders_3;
import java.util.Scanner;
public class Tht_Ders_3 {
public static **** main(String[] args) {//**** yerine v_o_i_d yazınız "_" kaldırarak
//faktoriel hesaplayan bir program ile döngüleri tanıyalım
int a;
int sonuc=1;//çarpmada etkisiz eleman oldugu için 1 e eşitledik
System.out.print("faktoriel hesaplamak istediğiniz sayiyi giriniz:");
Scanner scanner = new Scanner(System.in);
a=scanner.nextInt();
if (a>0) {// a'nın pozitif olamını kontrol ediyoruz
for(int i=a;0<i;i--){// a sayısı i'ye eşitleyerek i üzerinden 0 olana kadar sürecek bir döngü
sonuc*=i;//sonuc=sonuc*a
}
System.out.println("sonuc:"+sonuc);
}
else{
System.out.println("negatif bir sayı girdiniz...!");
}
}
}
İç İçe Döngüler:
Kod:
public class IcIce
{
public static **** main(String args[]) //**** yerine v_o_i_d yazınız "_" kaldırarak
{
int a,i; //5 kez tekrarla
for(a=1;a<=5;a++)
{
System.out.println("a= "+a);
for(i=1;i<=3;i++) //3 kez tekrarla
{
System.out.println("i= "+i);
}
System.out.println();
}
}
}