SlideShare a Scribd company logo
1 of 43
Öğretmen
Ramadan SANLI
Type Name Kind of Value Memory Used Size Range
byte integer 1 byte -128 to 127
short integer 2 bytes -32768 to 32767
int integer 4 bytes -2,147,483,648 to 2,147,483,647
long integer 8 bytes -9,223,372,036,854,775,808 to
9,223,374,036,854,775,808
float floating point 4 bytes +/- 3.4028… x 10+38
to
+/- 1.4023… x 0-45
double floating point 8 bytes +/- 1.767… x 10+308
to
+/- 4.940… x 0-324
char single character (Unicode) 2 bytes all Unicode characters
boolean true or false 1 bit not applicable
• int
– Tam sayilar
– + veya - olabilir
– Ondalik kismi yok
• char
– Tek karakter
– Tek tirnak kullanilir
– mesela
char not = `A`;
• double
– Gercek sayilar, pozitif ve
negatif
– Ondalik kismi vardir
– İki şekilde
• Ondalikli gosterim,
514.061
• e (or bilimsel, veya
kayan nokta)
gosterimi, mesela
5.14061 e2 yani
5.14061 x 102
public class Merhaba{
public static void main(String[]
args) {
System.out.println(“Merhaba
Dunya");
}
}
C:Program FilesJavajdk1.6.0_02bin
javac.exe, java compiler, derleme işlemi
java.exe, programi calistirir
Windows PATH, JDK/bin klasorunu
icermelidir
Javac Test.java, programı derler ve Test.class
adında byte code dosyası oluşturur.
java Test komutu bu class dosyasını çalıştırır
 double maas;
 int ogrenciSayisi;
 long dunyaninNufusu;
 boolean bittimi;
int a,b=5;
a=3;
System.out.println("a= " + a + "nb= " + b);
b Backspace
t Tab
n Yeni Satir
r Satirin basina git
” Cift Tirnak
’ Tek tirnak
 Ters slash
public class Lab2_4 {
public static void main(String[] args) {
System.out.println(
" *n" +
" * *n" +
" * *n" +
" * *n" +
" * *n" +
" * *n" +
" *n");
}
}
Bazı yaygın işlemler için kısayollar tanımlanmıştır
i = i + 1; i += 1;
d = d - 1.0; d -= 1.0;
f /= 2.0;f = f / 2.0;
i++;
d--;
Öğretmen
Ramadan SANLI
 String karakterler dizisidir
 String kus = “mavi kanatli kus”;
 String değişkeni tanımlanması
String isim;
 Değişkene değer atanması
isim = “Şerafettin";
 Stringler metodlarda argüman olarak kullanılır
System.out.println(isim);
Stringler birbirine “+” operatorü ile eklenir:
String ad = “Ali";
String soyad= “Demir";
System.out.println(“Calıskan ogrenci“ + ad + soyad);
Çıktısı :
> Calıskan ogrenciAliDemir
Boşlukları unutmayalım:
System.out.println(“Calıskan ogrenci “+ ad +
“ “ + soyad);
Çıktısı:
> Calıskan ogrenci Ali Demir
 Bir string içindeki bir karakterin indeksi ilk karakter için 0
olmak üzere bir tam sayıdır.
 charAt(index)metodu verilen indeksteki karakteri döndürür
 substring(ilk, son)metodu ilk ve son indeksleri arasındaki
stringi döndürür.
 Mesela:
String cumle = “Sali gunu odev gunu";
cumle.charAt(0)-> S
cumle.charAt(5)-> g
cumle.substring(5,8)-> gun
S a l i g u n u
0 1 2 3 4 5 6 7 8
String cumle = “kelimeler kifayet etmez”;
int uzunluk = cumle.length();
String buyukHarflerle =
cumle.toUpperCase();
String kucukHarflerle =
cumle.toLowerCase();
String altCumle = cumle.substring(0,8);
Kelimeler
boolean ilkHarfTest = cumle.startsWith("A") ;
boolean sonHarfTest = cumle. endsWith("Z") ;
l Dallanma
l Çoklu Dallanma
l Döngüler
AKIŞ KONTROLÜ
Öğretmen
Ramadan SANLI
 Akış kontrolü komutların bir programdaki komutların
işletilmesi sırasıdır.
 Programlar üç tip akış kontrolü ile yazılabilir:
1. Sırayla- sonraki komutu çalıştır
2. Dallanma veya Seçme - en azından iki seçenek
gerekir
 Ya sonraki komutu işlet
 Veya başka bir komuta atla
3. Döngü veya Tekrar - döngü (bir blok kodu tekrar
çalıştır)
döngünün sonunda
 Ya geri git ve kod bloğunu tekrar et
 Veya bloktan sonraki komutu çalıştır
Sırayla
 the default
 Java otomatik olarak
sonraki komutu çalıştırır
Dallanma
 if
 if-else
 if-else if-else if- … - else
 switch
Döngü
 while
 do-while
 for
 Basit seçimler için
 Eğer test doğru ise komutu işlet, yanlışsa işletmeden
atla
 Syntax:
if (Boolean_Test)
komut; //yalnızca test doğruysa işlet
Sonraki komut; //her zaman işletilir
 if bloğu ancak şartlı olarak yürütülür
 if bloğundan sonraki komutlar her zaman yürütülür
if(ogrenciSayısı > 3)
//if blogu başlangıcı
System.out.println(“Ders islemek icin sayı yeterli”);
//if blogu sonu
islenenDersSayisi = islenenDersSayisi + 1;
System.out.println(“İsledigimiz ders sayisi = “ + dersSayisi);
if(ogrenciSayısı > 3){
System.out.println(“Ders islemek icin sayı yeterli”);
System.out.println(“Yoklama alalim”);
yoklamaAl();
}
islenenDersSayisi = islenenDersSayisi + 1;
System.out.println(“İsledigimiz ders sayisi = “ + dersSayisi);
 İki seçenekten birisini seç
 Testin sonucuna bağlı olarak ya işlem1 ya da işlem2
 Syntax:
if (Boolean_Test)
{
İşlem1 //Sadece test doğruysa işlet
}
else
{
İşlem2//sadece test yanlışsa işlet
}
İşlem3//her zaman yürütülür
if(toplamParaniz > kitapFiyati)
System.out.println(“Kitabi alabilirsin.”);
else
System.out.println(“Biraz daha para bul.”);
 Çoklu komutlar
if(toplamParaniz > kitapFiyati)
{
System.out.println(“Kitabi alabilirsin.”);
toplamParaniz = toplamParaniz - kitapFiyati;
}
else
{
System.out.println(“Biraz daha para bul.”);
gerekliPara = toplamParaniz + eksikMiktar;
}
 Doğru veya yanlış değerleri alan değişken veya ifadelere
boolean değişkenler denir.
 boolean değişkenin değeri true veya false olabilir
 Örnek:
A sayısı B sayısından büyük mü
A sayısı B sayısına eşit mi
vb
Matematiksel
Notasyon Ad
Java
Notasyon
Java
Örnekleri
= eşittir == sayac == 0
cevap == 'y'
 eşit değil != gelir != gider
cevap != 'y'
> büyüktür > gelir > gider
 büyük veya eşit >= puan >= 60
< daha küçük < basınç < max
 küçük veya eşit <= gelir <= gider
 Birden fazla şartı VE ile test etmek için &&
kullanılır
 İfade eğer her iki kısım da doğruysa doğru olur.
 A && B ancak hem A hem de B doğruysa doğru olur
 Birden fazla şartı VEYA testine tabi tutmak için ||
kullanılır
 İfade ya şartlardan biri veya her ikisi de doğruysa doğru olur.
 A || B ifadesi A veya B nin doğru olduğu veya her ikisinin de
doğru olduğu durumlarda doğru olur
 Örnek: B’nin değerinin 0 veya A ile C arasında olup
olmadığını test eden bir ifade yazınız
(B == 0) || (A <= B && B < C)
 A 3 veya 6’ya eşitse
(A == 3) || (A == 6)
 A 3’e ve B 6’ya eşitse
 (A == 3) && (B == 6)
 Çoklu dallanmaları
programlamak için diğer bir
yol.
 Kontrol ifadesi
kullanılarak hangi ifadenin
işletileceğine karar verilir.
 Kontrol ifadesi char,
int, short veya byte
türlerinden biri olmalıdır.
 Kontrol ifadesi
veCase_Etiketi aynı türden
olmalıdır.
switch(Kontrol ifadesi)
{
case case_etiketi:
komutlar
…
break;
case case_etiketi :
komutlar
…
break;
default:
komutlar
…
break;
}
 break ile karşılaşınca blogun
dışına çıkar.
 break ihmal edilebilir.
 Sınırsız sayıda case olabilir.
 default case kullanılması
zorunlu değildir.
switch(Kontrol ifadesi)
{
case case_etiketi:
komutlar
…
break;
case case_etiketi :
komutlar
…
break;
default:
komutlar
…
break;
}
switch(filmGunu)
{
case 1:
System.out.println(“Pazartesi”);
biletFiyati = 10;
break;
case 2:
System.out.println(“Sali”);
biletFiyati = 7;
break;
case 3:
System.out.println(“Carsamba”);
biletFiyati = 15;
break;
default:
System.out.println(“Gosterim olmayan bir gun seçtiniz”);
break;
}
 Yapı:
 Genelde başlangıç şartları öncelikle tanımlanır
 loop gövdesi
 loop sonlandırma şartları
 Çeşitli mantıksal türleri vardır
 sayan döngüler
 Gözcü kontrollü döngüler
 sonsuz döngüler
 minimum sıfır veya bir defa çalışma
 Çeşitli şekillerde programlanırlar
 while
 do-while
 for
 Syntax:
while(boolean_ifade)
{
//döngü gövdesi
birinci komut;
...
son komut;
}
 Başlangıç ifadeleri genelde döngüden önce yazılır.
 boolean _ifade döngü sonlandırma şartıdır.
 Döngü boolean _ifade doğru olduğu sürece çalışır.
 Sayan veya gözcü döngüleri olabilir
Döngü gövdesindeki herhangi
bir şey mantıksal ifadenin
mutlaka yanlış olmasına sebep
olmalıdır.
while (Boolean_ifade)
gövde
Başla
Boolean_ifadeyi Değerlendir
döngüyü sonlandır
false
Gövdeyi işlet
true
 Kullanıcı tarafından girilen 10 sayıyı toplayan program
int sonraki;
//döngü başlangıcı
int sayac = 1;
int toplam =0;
while(sayac <= 10) //döngü sonlandırma koşulu
{ //döngü gövdesi
sonraki = giris.nextInt();
toplam = toplam + sonraki;
sayac++; // döngü sonlandırma sayacı
}
 sonraki gözcüdür
 döngü negatif bir sayı girilince sona erer
//Başlangıç
int sonraki = 0;
int toplam = 0;
while(sonraki >= 0) //sonlandırma şartı
{ //gövde
toplam = toplam + sonraki;
sonraki = giris.nextInt();
}
 birinci giriş değeri döngüden önce okunup test edildiği için
while döngüsünün gövdesi hiç çalıştırılmayabilir
int sonraki;
int toplam= 0;
sonraki = giris.nextInt();
while(sonraki >= 0)//sonlandırma şartı
{ //Body
toplam = toplam + sonraki;
sonraki = giris.nextInt();
}
 Eğer kullanıcının girdiği ilk numara negatif ise döngüye
girilmez
 Syntax
do
{ //döngü gövdesi
ilk komut;
...
son komut;
} while(Boolean_Ifade);
 Başlangıç kodu döngüden önce olabilir
 Döngü testi gövdeden sonra olduğu için gövde en az bir kere
işletilir (minimum bir döngü)
döngü gövdesinde bir ifade
mutlaka
Boolean_ifadenin
yanlış olmasını sağlamalıdır
do
gövde
while (Boolean_ifade);
Başla
Boolean_ifadeyi değerlendir
döngüyü sonlandır
false
gövdeyi işlet
true
gövdeyi işlet
int sayac = 1;
int sayi = 5;
do //1’den 5’e kadar sayıları bir satırda göster
{
System.out.print(sayac + " ");
sayac++;
} while(sayac <= sayi);
Çıktı:
1 2 3 4 5
 Sayan döngüler için iyi bir tercih
 Başlangıç kodu, döngü testi ve döngü sayacı döngünün
parçasıdır
 Syntax:
for(başlangıç; Boolean_Ifade; güncelleme)
döngü gövdesi;
for(başlangıç; Boolean_Ifade; güncelleme)
döngü gövdesi;
Başla
Test Boolean_Ifade
döngüyü sonlandır
false
Çalıştır Gövde
true
Çalıştır başlangıç
Çalıştır Güncelleme
 3den 1e kadar say
for(int sayac = 3; sayac >= 1; sayac--)
{
System.out.print("T = " + sayac);
System.out.println(“ve sayiyor");
}
System.out.println(“Son!");
Çıktı:
T = 3 ve sayiyor
T = 2 ve sayiyor
T = 1 ve sayiyor
Son!
 Programın çalışmasına artık gerek olmadığı durumlarda,
döngüden çıkmak veya programı durdurmak için exit(n)
metodu kullanılır.
 n programın normal veya anormal yollardan sonlandırıldığını
tanımlamak için kullanılır.
 n normal sonlandırmalar için genelde 0dır.
 Bir döngü gövdesinde başka bir döngü de olmak üzere
her çeşit komut olabilir.
 Dış döngünün bir defa yürütülmesine karşılık, iç döngü
5 defa çalıştırılır.
for (satir = 0; satir < 4; satir++)
for (yildiz = 0; yildiz < 5; yildiz ++)
System.out.print('*');
System.out.println();
İç döngü
gövdesi
Dış döngü
gövdesi
Çıktı:
*****
*****
*****
*****

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Java ile programlamaya giris ramadan sanli

  • 2. Type Name Kind of Value Memory Used Size Range byte integer 1 byte -128 to 127 short integer 2 bytes -32768 to 32767 int integer 4 bytes -2,147,483,648 to 2,147,483,647 long integer 8 bytes -9,223,372,036,854,775,808 to 9,223,374,036,854,775,808 float floating point 4 bytes +/- 3.4028… x 10+38 to +/- 1.4023… x 0-45 double floating point 8 bytes +/- 1.767… x 10+308 to +/- 4.940… x 0-324 char single character (Unicode) 2 bytes all Unicode characters boolean true or false 1 bit not applicable
  • 3. • int – Tam sayilar – + veya - olabilir – Ondalik kismi yok • char – Tek karakter – Tek tirnak kullanilir – mesela char not = `A`; • double – Gercek sayilar, pozitif ve negatif – Ondalik kismi vardir – İki şekilde • Ondalikli gosterim, 514.061 • e (or bilimsel, veya kayan nokta) gosterimi, mesela 5.14061 e2 yani 5.14061 x 102
  • 4. public class Merhaba{ public static void main(String[] args) { System.out.println(“Merhaba Dunya"); } }
  • 5.
  • 6. C:Program FilesJavajdk1.6.0_02bin javac.exe, java compiler, derleme işlemi java.exe, programi calistirir Windows PATH, JDK/bin klasorunu icermelidir Javac Test.java, programı derler ve Test.class adında byte code dosyası oluşturur. java Test komutu bu class dosyasını çalıştırır
  • 7.  double maas;  int ogrenciSayisi;  long dunyaninNufusu;  boolean bittimi; int a,b=5; a=3; System.out.println("a= " + a + "nb= " + b);
  • 8. b Backspace t Tab n Yeni Satir r Satirin basina git ” Cift Tirnak ’ Tek tirnak Ters slash
  • 9. public class Lab2_4 { public static void main(String[] args) { System.out.println( " *n" + " * *n" + " * *n" + " * *n" + " * *n" + " * *n" + " *n"); } }
  • 10. Bazı yaygın işlemler için kısayollar tanımlanmıştır i = i + 1; i += 1; d = d - 1.0; d -= 1.0; f /= 2.0;f = f / 2.0; i++; d--;
  • 12.  String karakterler dizisidir  String kus = “mavi kanatli kus”;  String değişkeni tanımlanması String isim;  Değişkene değer atanması isim = “Şerafettin";  Stringler metodlarda argüman olarak kullanılır System.out.println(isim);
  • 13. Stringler birbirine “+” operatorü ile eklenir: String ad = “Ali"; String soyad= “Demir"; System.out.println(“Calıskan ogrenci“ + ad + soyad); Çıktısı : > Calıskan ogrenciAliDemir Boşlukları unutmayalım: System.out.println(“Calıskan ogrenci “+ ad + “ “ + soyad); Çıktısı: > Calıskan ogrenci Ali Demir
  • 14.  Bir string içindeki bir karakterin indeksi ilk karakter için 0 olmak üzere bir tam sayıdır.  charAt(index)metodu verilen indeksteki karakteri döndürür  substring(ilk, son)metodu ilk ve son indeksleri arasındaki stringi döndürür.  Mesela: String cumle = “Sali gunu odev gunu"; cumle.charAt(0)-> S cumle.charAt(5)-> g cumle.substring(5,8)-> gun S a l i g u n u 0 1 2 3 4 5 6 7 8
  • 15. String cumle = “kelimeler kifayet etmez”; int uzunluk = cumle.length(); String buyukHarflerle = cumle.toUpperCase(); String kucukHarflerle = cumle.toLowerCase(); String altCumle = cumle.substring(0,8); Kelimeler boolean ilkHarfTest = cumle.startsWith("A") ; boolean sonHarfTest = cumle. endsWith("Z") ;
  • 16. l Dallanma l Çoklu Dallanma l Döngüler AKIŞ KONTROLÜ Öğretmen Ramadan SANLI
  • 17.  Akış kontrolü komutların bir programdaki komutların işletilmesi sırasıdır.  Programlar üç tip akış kontrolü ile yazılabilir: 1. Sırayla- sonraki komutu çalıştır 2. Dallanma veya Seçme - en azından iki seçenek gerekir  Ya sonraki komutu işlet  Veya başka bir komuta atla 3. Döngü veya Tekrar - döngü (bir blok kodu tekrar çalıştır) döngünün sonunda  Ya geri git ve kod bloğunu tekrar et  Veya bloktan sonraki komutu çalıştır
  • 18. Sırayla  the default  Java otomatik olarak sonraki komutu çalıştırır Dallanma  if  if-else  if-else if-else if- … - else  switch Döngü  while  do-while  for
  • 19.  Basit seçimler için  Eğer test doğru ise komutu işlet, yanlışsa işletmeden atla  Syntax: if (Boolean_Test) komut; //yalnızca test doğruysa işlet Sonraki komut; //her zaman işletilir
  • 20.  if bloğu ancak şartlı olarak yürütülür  if bloğundan sonraki komutlar her zaman yürütülür if(ogrenciSayısı > 3) //if blogu başlangıcı System.out.println(“Ders islemek icin sayı yeterli”); //if blogu sonu islenenDersSayisi = islenenDersSayisi + 1; System.out.println(“İsledigimiz ders sayisi = “ + dersSayisi); if(ogrenciSayısı > 3){ System.out.println(“Ders islemek icin sayı yeterli”); System.out.println(“Yoklama alalim”); yoklamaAl(); } islenenDersSayisi = islenenDersSayisi + 1; System.out.println(“İsledigimiz ders sayisi = “ + dersSayisi);
  • 21.  İki seçenekten birisini seç  Testin sonucuna bağlı olarak ya işlem1 ya da işlem2  Syntax: if (Boolean_Test) { İşlem1 //Sadece test doğruysa işlet } else { İşlem2//sadece test yanlışsa işlet } İşlem3//her zaman yürütülür
  • 22. if(toplamParaniz > kitapFiyati) System.out.println(“Kitabi alabilirsin.”); else System.out.println(“Biraz daha para bul.”);  Çoklu komutlar if(toplamParaniz > kitapFiyati) { System.out.println(“Kitabi alabilirsin.”); toplamParaniz = toplamParaniz - kitapFiyati; } else { System.out.println(“Biraz daha para bul.”); gerekliPara = toplamParaniz + eksikMiktar; }
  • 23.  Doğru veya yanlış değerleri alan değişken veya ifadelere boolean değişkenler denir.  boolean değişkenin değeri true veya false olabilir  Örnek: A sayısı B sayısından büyük mü A sayısı B sayısına eşit mi vb
  • 24. Matematiksel Notasyon Ad Java Notasyon Java Örnekleri = eşittir == sayac == 0 cevap == 'y'  eşit değil != gelir != gider cevap != 'y' > büyüktür > gelir > gider  büyük veya eşit >= puan >= 60 < daha küçük < basınç < max  küçük veya eşit <= gelir <= gider
  • 25.  Birden fazla şartı VE ile test etmek için && kullanılır  İfade eğer her iki kısım da doğruysa doğru olur.  A && B ancak hem A hem de B doğruysa doğru olur  Birden fazla şartı VEYA testine tabi tutmak için || kullanılır  İfade ya şartlardan biri veya her ikisi de doğruysa doğru olur.  A || B ifadesi A veya B nin doğru olduğu veya her ikisinin de doğru olduğu durumlarda doğru olur
  • 26.  Örnek: B’nin değerinin 0 veya A ile C arasında olup olmadığını test eden bir ifade yazınız (B == 0) || (A <= B && B < C)  A 3 veya 6’ya eşitse (A == 3) || (A == 6)  A 3’e ve B 6’ya eşitse  (A == 3) && (B == 6)
  • 27.  Çoklu dallanmaları programlamak için diğer bir yol.  Kontrol ifadesi kullanılarak hangi ifadenin işletileceğine karar verilir.  Kontrol ifadesi char, int, short veya byte türlerinden biri olmalıdır.  Kontrol ifadesi veCase_Etiketi aynı türden olmalıdır. switch(Kontrol ifadesi) { case case_etiketi: komutlar … break; case case_etiketi : komutlar … break; default: komutlar … break; }
  • 28.  break ile karşılaşınca blogun dışına çıkar.  break ihmal edilebilir.  Sınırsız sayıda case olabilir.  default case kullanılması zorunlu değildir. switch(Kontrol ifadesi) { case case_etiketi: komutlar … break; case case_etiketi : komutlar … break; default: komutlar … break; }
  • 29. switch(filmGunu) { case 1: System.out.println(“Pazartesi”); biletFiyati = 10; break; case 2: System.out.println(“Sali”); biletFiyati = 7; break; case 3: System.out.println(“Carsamba”); biletFiyati = 15; break; default: System.out.println(“Gosterim olmayan bir gun seçtiniz”); break; }
  • 30.  Yapı:  Genelde başlangıç şartları öncelikle tanımlanır  loop gövdesi  loop sonlandırma şartları  Çeşitli mantıksal türleri vardır  sayan döngüler  Gözcü kontrollü döngüler  sonsuz döngüler  minimum sıfır veya bir defa çalışma  Çeşitli şekillerde programlanırlar  while  do-while  for
  • 31.  Syntax: while(boolean_ifade) { //döngü gövdesi birinci komut; ... son komut; }  Başlangıç ifadeleri genelde döngüden önce yazılır.  boolean _ifade döngü sonlandırma şartıdır.  Döngü boolean _ifade doğru olduğu sürece çalışır.  Sayan veya gözcü döngüleri olabilir Döngü gövdesindeki herhangi bir şey mantıksal ifadenin mutlaka yanlış olmasına sebep olmalıdır.
  • 33.  Kullanıcı tarafından girilen 10 sayıyı toplayan program int sonraki; //döngü başlangıcı int sayac = 1; int toplam =0; while(sayac <= 10) //döngü sonlandırma koşulu { //döngü gövdesi sonraki = giris.nextInt(); toplam = toplam + sonraki; sayac++; // döngü sonlandırma sayacı }
  • 34.  sonraki gözcüdür  döngü negatif bir sayı girilince sona erer //Başlangıç int sonraki = 0; int toplam = 0; while(sonraki >= 0) //sonlandırma şartı { //gövde toplam = toplam + sonraki; sonraki = giris.nextInt(); }
  • 35.  birinci giriş değeri döngüden önce okunup test edildiği için while döngüsünün gövdesi hiç çalıştırılmayabilir int sonraki; int toplam= 0; sonraki = giris.nextInt(); while(sonraki >= 0)//sonlandırma şartı { //Body toplam = toplam + sonraki; sonraki = giris.nextInt(); }  Eğer kullanıcının girdiği ilk numara negatif ise döngüye girilmez
  • 36.  Syntax do { //döngü gövdesi ilk komut; ... son komut; } while(Boolean_Ifade);  Başlangıç kodu döngüden önce olabilir  Döngü testi gövdeden sonra olduğu için gövde en az bir kere işletilir (minimum bir döngü) döngü gövdesinde bir ifade mutlaka Boolean_ifadenin yanlış olmasını sağlamalıdır
  • 37. do gövde while (Boolean_ifade); Başla Boolean_ifadeyi değerlendir döngüyü sonlandır false gövdeyi işlet true gövdeyi işlet
  • 38. int sayac = 1; int sayi = 5; do //1’den 5’e kadar sayıları bir satırda göster { System.out.print(sayac + " "); sayac++; } while(sayac <= sayi); Çıktı: 1 2 3 4 5
  • 39.  Sayan döngüler için iyi bir tercih  Başlangıç kodu, döngü testi ve döngü sayacı döngünün parçasıdır  Syntax: for(başlangıç; Boolean_Ifade; güncelleme) döngü gövdesi;
  • 40. for(başlangıç; Boolean_Ifade; güncelleme) döngü gövdesi; Başla Test Boolean_Ifade döngüyü sonlandır false Çalıştır Gövde true Çalıştır başlangıç Çalıştır Güncelleme
  • 41.  3den 1e kadar say for(int sayac = 3; sayac >= 1; sayac--) { System.out.print("T = " + sayac); System.out.println(“ve sayiyor"); } System.out.println(“Son!"); Çıktı: T = 3 ve sayiyor T = 2 ve sayiyor T = 1 ve sayiyor Son!
  • 42.  Programın çalışmasına artık gerek olmadığı durumlarda, döngüden çıkmak veya programı durdurmak için exit(n) metodu kullanılır.  n programın normal veya anormal yollardan sonlandırıldığını tanımlamak için kullanılır.  n normal sonlandırmalar için genelde 0dır.
  • 43.  Bir döngü gövdesinde başka bir döngü de olmak üzere her çeşit komut olabilir.  Dış döngünün bir defa yürütülmesine karşılık, iç döngü 5 defa çalıştırılır. for (satir = 0; satir < 4; satir++) for (yildiz = 0; yildiz < 5; yildiz ++) System.out.print('*'); System.out.println(); İç döngü gövdesi Dış döngü gövdesi Çıktı: ***** ***** ***** *****

Editor's Notes

  1. ın