This English version is an adapted summary of my Turkish study notes on getting started with Java and Eclipse. The full notes, with all original examples and sources, are available in the Turkish version.
A short history of Java
Java is one of the most popular programming languages in the world. Sun Microsystems started developing it in 1991 as part of a project to let household electronic devices, such as microwaves, refrigerators, TVs and remote controls, communicate with each other. Its designers, including James Gosling, Patrick Naughton, Chris Warth, Ed Frank and Mike Sheridan, originally called it Oak. When they discovered that another language already had that name, they renamed it Java, reportedly inspired by the coffee they were drinking. The smart-appliance market grew much more slowly than Sun expected, and the project might well have been cancelled. Then, in 1993, the World Wide Web took off. Sun saw Java’s potential for building dynamic web pages and redirected the project, giving the language a new life.
Today Java underpins a huge range of applications: embedded and mobile systems, games, web content and enterprise software. At the time these notes were written, Oracle’s own figures spoke of around 9 million Java developers, Java on 97% of enterprise desktops and billions of devices, from mobile phones and Blu-ray players to smart cards and TVs.
Why Java?
- It runs on every platform and is independent of the underlying server architecture.
- Memory is managed automatically by the garbage collector.
- It has a built-in exception handling mechanism.
- It is statically typed, which helps the compiler optimize code, catches errors at compile time and makes auto-completion possible in IDEs. An
intis always 32 bits and signed, whatever the platform; other types also have standard sizes. - Unlike C, it doesn’t allow macros or external header files, which makes the programmer’s life easier.
- With Javadoc, interfaces and implementation classes, definitions and documentation can live inside the code.
- A class cannot extend more than one class at a time. C++ allows this, but multiple inheritance can cause tangled problems.
- Operator overloading is not allowed, so you always know what
a + bdoes. - Errors such as segmentation faults and buffer overflows, part of everyday life in C/C++, are prevented by design.
- Thanks to dynamic linking, implementation classes can be swapped without changing or recompiling the rest of the code.
- Coming from the C/C++ family, it is easy to learn without a culture shock.
- It supports object-oriented and multithreaded programming.
- It has an enormous ecosystem; a large share of open-source projects are built on Java, and the community has a strong culture of sharing.
Setting up Java on your computer
To start developing in Java you need two things:
- The JDK (Java Development Kit): it contains the
javaccompiler, the Java Virtual Machine and supporting tools needed to compile and run your code. - An IDE (Integrated Development Environment): you could write code in Notepad, but an IDE makes life much easier. Eclipse and NetBeans are the most common free, open-source choices; these notes use Eclipse.
After installing the JDK on Windows, set the environment variables under System Properties → Advanced → Environment Variables: add JAVA_HOME pointing to the JDK folder, append the JDK’s bin folder to Path, and optionally set CLASSPATH.
Then download Eclipse. For beginners the standard edition is enough; choose the Enterprise edition if you plan to build web applications. On first launch, Eclipse asks where to keep your workspace.
Your first program in Eclipse
Go to File → New → Project, choose Java Project, give it a name and click Finish. In the Project Explorer, right-click the src folder and choose New → Class. Enter a package name and a class name (by convention, each word starts with a capital letter) and tick the option to generate a main method. Then write the classic first program and click the green Run button; the output appears in the Console.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Welcome to the Java class!");
}
}Program structure
- Text after
//, or between/* … */, is a comment for human readers and is ignored by the compiler. - Every block of code, including class definitions, starts with
{and ends with}, much like a paragraph. - A semicolon
;marks the end of a statement, like a full stop in a sentence. public static void main(String[] args)is the entry point. What other languages call a function or procedure is called a method in Java.voidmeans the method returns nothing, andpublicmeans it can be called from outside.System.out.println(...)prints a string to the console, the Java equivalent ofprintfin C orcout <<in C++. Common escape sequences are\n(new line),\t(tab),\\(backslash) and\"(quote).
You can also show output in a dialog box using Swing:
import javax.swing.JOptionPane;
class Welcome {
public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "Welcome to the Java class!");
}
}And read input from the keyboard:
import java.util.Scanner;
public class Greeting {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = in.nextLine();
System.out.println("Welcome to the Java class, " + name + "!");
}
}Data types and arithmetic
Computers store numbers in bits, each representing 1 (true) or 0 (false). Because the same group of bits can represent a letter or a number, the type of every variable must be known. Java’s basic arithmetic operators are +, -, *, / and % (remainder of integer division). There are also shorthand operators: ++ and -- (add or subtract one) and +=, -=, *=, /=, %=. Whether ++ comes before or after a variable makes no difference on its own, but it matters when used inside a larger expression.
import java.util.Scanner;
public class Sum {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter a number: ");
int a = in.nextInt();
System.out.print("Enter another number: ");
int b = in.nextInt();
System.out.println("Sum: " + (a + b));
}
}Evaluating a function such as y = x² + 2x − 2 for a value entered by the user:
double x = Double.parseDouble(JOptionPane.showInputDialog("x = "));
double y = x * x + 2.0 * x - 2;
JOptionPane.showMessageDialog(null, "x = " + x + " y = " + y);Conditional branching with if / else
The if statement evaluates a condition and chooses which path the program should take. This conditional branching is the most fundamental control structure in any language.
int grade = Integer.parseInt(JOptionPane.showInputDialog("Enter the grade (0-100): "));
String letter;
if (grade >= 90) letter = "A";
else if (grade >= 75) letter = "B";
else if (grade >= 60) letter = "C";
else if (grade >= 50) letter = "D";
else if (grade >= 40) letter = "E";
else letter = "F";
JOptionPane.showMessageDialog(null, "The student's grade is " + letter);Loops: for, while and do-while
Loops repeat a block of code as long as a condition holds. In for and while loops the condition is checked before each iteration; in a do-while loop it is checked after, so the body always runs at least once.
A for loop has three parts: initialization (runs once), the condition (checked every time) and the update (runs after each iteration). The following prints the numbers 5 to 9:
for (int value = 5; value < 10; value++) {
System.out.println(value);
}Nested loops can build a multiplication table:
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.println(i + " * " + j + " = " + i * j);
}
System.out.println();
}A while loop that sums five numbers entered by the user:
int total = 0, i = 1;
Scanner in = new Scanner(System.in);
while (i < 6) {
System.out.println("Enter number " + i + ": ");
total += in.nextInt();
i++;
}
System.out.println("Total: " + total);A do-while loop that adds the even numbers up to and including 10:
int total = 0, i = 0;
do {
if (i % 2 == 0) total += i;
i++;
} while (i <= 10);
System.out.println("Sum of even numbers up to 10: " + total);switch / case
When a program has many conditions to check, long if-else chains become hard to follow. A switch statement chooses one of many paths based on the value of a single expression. Put a break after each case so that only the matching case runs, and use default for values that match no case.
switch (choice) {
case 1:
System.out.println("Central Europe tour: Vienna, Budapest, Prague");
break;
case 2:
System.out.println("America tour: New York, Boston, Los Angeles");
break;
case 3:
System.out.println("Far East tour: Bangkok, Hong Kong, Tokyo, Beijing");
break;
default:
System.out.println("Invalid choice! Please enter 1, 2 or 3.");
}Neden Java Programlama Dili?
Java Programlama dili şu anda dünyadaki en popüler programlama dillerinden biri haline gelmiştir. Java SUN bilgisayar şirketince orijinal olarak elektrikli ev araçlarının (mikrodalga fırınları, buzdolapları , televizyonlar, uzaktan kumanda cihazları vs.) birbiriyle haberleşmesini sağlamayı amaçlayan bir proje içerisinde 1991 yılında geliştirilmeye başlandı. Orijinal adı bu dilin tasarımcıları James Gosling, Patrick Naughton, Chris Warth, Ed Frank ve Mike Sheridan tarafından Oak olarak konulan programlama dili daha sonra bu isimde başka bir programlama dili olduğu keşfedilince o anda bir kahvehanede kahve içen programlama grubu tarafından kahve markasından esinlenerek Java olarak değiştirildi. Akıllı elektronik ev araçları pazarı SUN grubunun tahminlerinden çok daha yavaş bir gelişme gösteriyordu. Bu yüzden Java dili projesi ticari bir geliştirme projesi olarak büyük olasılıkla iptal edilecekti. 1993 Yılında “World Wide Web” büyük bir atılım göstererek bütün dünyaya yayılmaya başladı.
Javanın Dinamik Web sayfaları hazırlamadaki büyük potansiyelini gören SUN şirketi projeyi bu tarafa yönlendirdi ve bu javaya yeni bir canlılık ve yaşama umudu sağladı. Java neredeyse her türdeki ağ uygulamalarının temelini oluşturarak gömülü ve mobil uygulamalar, oyunlar, Web tabanlı içerik ve kurumsal yazılım geliştirme ve dağıtımı için küresel standarttır. Dünya genelinde 9 milyonu aşan geliştiriciyle Java, heyecan verici uygulamaları ve hizmetleri verimli bir şekilde geliştirmenize ve dağıtmanıza olanak tanır.Dizüstü bilgisayarlardan veri depolama merkezlerine, oyun konsollarından bilimsel süper bilgisayarlara, cep telefonlarından Internet’e kadar Java her yerde karşımıza çıkmaktadır. Şirket Masaüstü Bilgisayarlarının %97’sinde Java Bulunmakta ABD’deki Masaüstü Bilgisayarların (veya Bilgisayarların) %89’unda Java Bulunmakta
Dünya Genelinde 9 Milyon Java Geliştiricisi Var
Geliştiricilerin 1 Numaralı Seçimi
1 Numaralı Geliştirme Platformu
3 Milyar Cep Telefonunda Java Bulunuyor
Blu-ray Disk Oynatıcıların Tümünde Java Kullanılıyor
5 Milyar Java Kartı Kullanılmakta
125 milyon TV cihazı Java kullanıyor
En İyi 5 Orijinal Parça Üreticisi Java ME Kullanıyor
Neden Java Programlama Dili?
Başlamadan önce neden java sorusuna verdiğimiz aşağıdaki cevaplar Java programlama dili hakkında genel bir bilgi sahibi olmamızı sağlayacaktır. -Her platformda çalışır; sunucu mimarisinden bağımsızdır. – Otomatik hafıza yöntemine sahiptir. (Garbage Collector)
– Otomatik exception handling mekanizmasına sahiptir.
– Statik veri tipleri kullanılır. Bu kodun Compiler tarafından optimize edilmesini kolaylaştırır, compile işlemi
esnasında hataların ortaya çıkmasını sağlar, IDE bünyesinde auto completion yapılmasını mümkün kılar.
Hangi platform olursa olsun bir int 32 bit uzunluktadır, ön işareti mevcuttur (+ ya da -). Diğer veri tipleri de
standart değerlere sahiptir.
– C’de olduğu gibi makro yazılmasına ve dış header dosyalarnın kullanılmasına izin vermez. Bu programcının
hayatını kolaylaştırır.
– Javadoc, Interface ve implementasyon sınıfı kullanarak gerekli tüm tanımlamaları ve dokümentasyonu kod
içinde ifade etmek mümkündür.
– Birden fazla sınıfın bir alt sınıf tarafından aynı zamanda extend edilmesine izin vermez. C++ bu mümkündür,
ama kalıtımda içinden çıkılmaz sorunlar oluşmasına neden olabilir.
– Operatörlerin yüklenmesine (overloading) izin vermez. Örneğin Java’da a+b işleminde + operatörünün ne
yaptığı bilinir. C++’da durum farklıdır.
– Segmentation Fault ya da Buffer overlow gibi hataların oluşmasına izin vermez. C/C++ dillerinde bu sorunlar
programcının günlük hayatının bir parçasıdır.
– Dynamic linking ile kodu değiştirmek ya da derlemek zorunda kalmadan implementasyon sınıfları
değistirilebilir. Örneğin C/C++ dillerinde bu mümkün değildir. Bu diller static linking mekanizması ile derlenir. –
En ufak bir değişiklik tüm sınıfların yeniden derlenmesini mecburi kılabilir.
– C/C++ dil ailesinden olduğu için kültür şoku geçirmeden Java öğrenmek kolaydır.
– Nesneye yönelik programlamayı destekler.
– Multithreaded uygulamalar geliştirilmesini mümkün kılar.
– Ögrenilmesi çok kolaydır.
– Çok büyük bir eko sisteme sahiptir. Açık kaynaklı projelerin büyük bir kısmı Java tabanlıdır.
– Javacılar açık kaynaklı proje geliştirme kültürüyle yetiştikleri için paylaşımcıdırlar.
Java Deyimleri
Javada kullandığımız temel işlem, karşılaştırma, döngü deyimleri aşağıdaki gibidir.
Java Deyimleri
Bilgisayarımıza Java’yı Kurma
Öncelikle java ile program geliştirmeye başlamak istiyorsanız iki şeye ihtiyacınız olacak;
1-Java JDK (Java Development Kit) : Java ile yazdığımız kodları derleyip çalıştırmak için gerekli kurulumdur.
Paketin içerisinde javac derleyicisi, Java Sanal Makinesi(Java Virtual Machine) ve diğer yardımcı paketler
bulunur.
2-IDE (Integrated Development Environment) : Kodlarımızı yazarken bize yardımcı bir geliştirme ortamı
gerekiyor.Yoksa kodlarımızı notepad ile yazıp da çalıştırabiliriz fakat bu kullanışlı bir yöntem değildir. Java ile
uygulama geliştiren kişilerin genel olarak kullandığı programlar Eclipse ve NetBeans’dir. İkisi de açık kaynak
kodlu lisans gerektirmeyen programlardır. Biz bu yazımızda daha büyük bir kitle tarafından kabul görmüş olan
Eclipse programının kurulumundan bahsedeceğiz.
Java JDK (Java Development Kit) Kurulumu
Aşağıdaki ekranda kırmızı kutuyla belirtilen Download JDK kısmına tıklıyoruz. Bu ekranda dikkatinizi çektiyse
Download NetBeans yazısını da görebilirsiniz. Eğer Eclipse kurmak istemiyorum NetBeans kullanacağım
derseniz bu linke tıklamanız yeterli. http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-
138363.html, İndirilen paket kurulumu gayet basit sürekli Next diyerek ideal bir yükleme yapıp kurulumu
tamamlıyoruz.
Java HOME, PATH ve CLASSPATH Ayarları
Java kurulumu tamamlandı eğer Windows işletim sistemi kullanıyorsanız birkaç ayarlamayı
elinizle yapmanız gerekiyor. Bilgisayarım–> Sistem Özellikleri–> Gelişmiş Sistem Özellikleri
Sekmesi–> Ortam Değişkenleri penceresini açıyoruz.
Öncelikle javanın hangi klasör altında çalıştığını gösteren Home Değişkeni eklemeliyiz
.
Java HOME, PATH ve CLASSPATH Ayarları
Ardından Path değişkenini düzenlememiz gerekmektedir. Path dizini önceden oluşturulduğu
için yeni değil de Path Değişkenini bulup Düzenle diyoruz. Son eklenen değerden sonra ; koyup
değişkeni sona ekliyoruz.
Java HOME, PATH ve CLASSPATH Ayarları
Son olarak ClassPath değişkeni ekleyelim.
Eclipse Kurulumu
Arama motoruna Eclipse yazıp arattığınızda en üst bağlantıda Eclipse Download sayfasına yönlendirilirsiniz.
Bu sayfada hangi Eclipse versiyonunu indirmem gerekiyor şeklinde bir çok soru geliyor. Aslında kullanılan 2
temel versiyon bulunmakta Standart Edition ve Enterprise Edition. Eğer web tabanlı uygulama geliştirmek
istiyorsunuz Enterprise Edition’ı seçin yoksa Eclipse Neon 1a başlangıç aşaması için yeterli olacaktır.
Eclipse Kurulumu
Başlangıçta proje dosyalarınızı nerede tutacağınız ile ilgili bir ekran geliyor. Çalışmalarımızı nerde tutmak
istiyorsak seçiyoruz ve Eclipse hazır.
Eclipse ile İlk Programımızı Yazalım
File–>New–>Project diyerek Proje oluşturma sihirbazını açalım. Aşağıdaki ki gibi bir pencere sizi
karşılayacak.
Bu ekranda java ile oluşturabileceğiniz tüm projeleri göreceksiniz. Tabi kurulumunuza ve yüklediğiniz
eklentilere bağlı olarak bu pencere farklılık gösterebilir. Bu kısımdan en üst seçenek olan Java Project’i seçerek
ilerliyoruz.
Eclipse ile İlk Programımızı Yazalım
Yukardaki ekran görüntüsünde göreceğiniz üzere ekranın en üst kısımda projenizin ismini yazmanız isteniyor.
Proje ismi bölümünün alt kısımda daha ayrıntılı ayarlamalar bulunuyor. Hangi java sürümüyle çalışmak
istediğiniz, projeniz içerisinde oluşturulacak klasör ve sınıflar, projenizi hangi workspace’e eklemek istediğiniz
gibi ayarlamalar bulunmakla birlikte şu aşamada bu kısımları olduğu gibi bırakmak doğru bir seçenek olacaktır.
Next deyip bir sonraki adıma geçiyoruz.
Eclipse ile İlk Programımızı Yazalım
Bu ekrandan eklemek istediğimiz kütüphaneler ve yardımcı kaynak dosyaları ekleyebiliyorsunuz. Java bizim
için temel kütüphaneleri eklemiş durumda Library kısmında bunu görebilirsiniz. Bu ekranda şu aşamada
herhangi bir ayarlama yapmamız gerekmiyor Finish deyip projemizi oluşturuyoruz. İlk projemizi oluşturduk
Project Explorer penceresinde proje dosyalarınızı görebilirsiniz. Fakat hala kodlarınızı yazabileceğiniz bir ekran
görüntülenmiyor.
Eclipse ile İlk Programımızı Yazalım
Project Explorer PenceresiProject Explorer penceresinde görmüş olduğunuz src klasörü bizim kodlarımızı
yazacağımız sınıfları (Class) barındırır. Src klasöünü sağ tıklayarak New–>Class diyerek yeni bir sınıf
oluşturuyoruz.
Bu ekranda işaretle gösterilen yerlere dikkat edelim. Birincisi package(paket) kısmı paketler belirli sınıfları bir
arada tutmak için kullanılan klasörlerdir. İkinci kısım Name alanı oluşturacağımız sınıfımıza bir isim veriyoruz.
Sınıf isimlerini verirken her kelimenin ilk harfini büyük yazmaya özen gösterin buna mecbur olmasanız da
anlaşılabilirlik ve genel kabul görme açısından önemlidir. Üçüncü kısım sınıfınızın içerisinde bir main metodu
isteyip istemediğiniz kısım. Seçmeyi unutursanız main metodunuzu elle de sonradan oluşturabilirsiniz. Finish
deyip sınıfımızı oluşturuyoruz.
Eclipse ile İlk Programımızı Yazalım
Java Class OluşturmaEvet sınıfımızı oluşturduk main metodu otomatik olarak sınıfımızın içine eklendi. Şimdi
ilk programımızı yazalım.Klasik ekrana “Merhaba Dünya” yazan basit bir console uygulaması yapalım.
Merhaba Dünya kodumuzu yazdık. Tek satır kodu yazmak biraz zor olmuş olabilir.. Ekran görüntüsünde
gördüğünüz kodumuzu derleyip çalıştırmak için gerekli Play tuşuna benzeyen butona tıklıyoruz ve alt kısımda
ki Console ekranından ekran çıktımızı alıyoruz.
Eclipse ile İlk Programımızı Yazalım
Programın Yapısı
// işaretiyle başlayan yazılar bilgisayar tarafından kullanılamaz sadece programı okuyanı
bilgilendirmek amacı taşır /* ….. */ işaretleriyle de verilebilir. Örneğin :
/* Bu kısımda yazılanlarla bilgisayar ilgilenmez Sadece insanların programı anlaması içindir */
{ } başlatma ve bitirme : Sınıf tanımlaması da dahil olmak üzere Tüm Program parçacıkları {
işaretiyle başlar ve } işaretiyle son bulur. {} işaretleri arasında yazılan program parçacıklarını
normal metin yazılmasındaki paragraf kavramına benzetebiliriz. Ayrıca program koduna
baktığımızda “; ” işaretine sık sık rastlıyoruz. Bu işaret java komutunun bittiğini belirtir. Cümle
yağısında kullanılan nokta “.” işareti gibi işlev görür. Java programlarını istersek “;” ve “{}”
ayraçlarını kullanarak tek bir satır olarak yazabiliriz.
public static void main(String args[]) diğer dillerde fonksiyon (function), subroutine, procedure gibi
adlarla anılan Program alt parçacığının başlığı. Bu Program parçacıkları javada Metot (Method)
adıyla anılır. Metotların girdileri ve çıktıları olabilir. Bu metotun adı main (ana Program) dır.
String değişken türü args[] değişkeni girdi olarak girebilir. Bu metotta void çıktı türü kullanılmıştır.
Void kelimesi bu metotdan hiçbir çıktı alınmayacağını belirtir. public metota dışarıdan
ulaşılabilme izni verir.
System.out.println(“Java Sinifina Hos Geldiniz!”); Bu satır System.out sınıfından println metotunu
çalıştırır. Bu metot method girişinde gönderilen String tipi değişkeni konsol çıktısına aktarır.
Fortran dilindeki write(*,*) veya print*, c dilindeki printf, c++ dilindeki cout<< terimlerinin
javadaki tam karşılığıdır.
“Java Sinifina Hos Geldiniz!” stringi aynen aktarılırken içinde c dilinde kullanılan temel kontrol
terimleri yer alabilir ve aynen c dilindeki anlamlarıyla kullanılabilir. Bu kontrol terimlerinden en
yaygın olarak kullanılan bazıları:
\n alt satıra geç
\t bir sonraki tab’a atla
\r gir tuşu bas
\\ \ işaretini yaz
\” “ işaretini yaz
Eclipse ile Java Programlama
Program 1.2 Hosgeldiniz1.java programı
import javax.swing.JOptionPane;
class Hosgeldiniz1 {
public static void main (String args[])
{JOptionPane.showMessageDialog(null,”Java sınıfına hoş geldiniz!”);}
}
komutlarını kullanarak veya editörde çalıştırdığımızda
Çıktısını alırız. Bu çıktıyı alabilmek için java SWING kütüphanesi içerisinde yer alan
JOptionPane.showMessageDialog(….) metodunu kullandık. Bu metodu programımızda çağırabilmek için de
import javax.swing.JOptionPane; yapısını kullandık. Buradaki import kütüphanedeki javax program paketini
çağırır. Bu metodun görevi System.out.println metoduyla aynıdır. Farkı ise grafik ortamda çıktı vermesidir.
Programdan da da görüleceği gibi sınıfımızın (class) adı Hosgeldiniz1 dir. Bir önceki programdaki gibi bu
programda kullandığımız komutlar public static void main(String args[]) komutuyla tanımlanan ana metodun
içinde yazılmıştır. Şimdi de JApplet grafik ortamında bir çıktı çağıralım:
Eclipse ile Java Programlama
Program 1.3 Hosgeldiniz3.java programı
import java.io.*;
class Hosgeldiniz3 {
public static void main (String args[]) throws IOException
{
BufferedReader cin=new BufferedReader(new InputStreamReader(System.in));
System.out.println(“isminizi giriniz : “);
String isim=new String(cin.readLine());
System.out.println(“Java Sinifina Hos Geldiniz! “+isim);
cin.close();
}
}
Bu programda okuma işlemini yapmak için önce
BufferedReader cin=new BufferedReader(new InputStreamReader(System.in));
Deyimini kullanarak bir okuma kanalı açtık, sonra
System.out.println(“isminizi giriniz : “);
String isim=new String(cin.readLine());
Deyimindeki cin.readLine() komutuyla ismi cin kanalından okuyarak isim değişkenine aktardık.
Eclipse ile Java Programlama
Matematiksel İşlemler
Programlama dillerinde rakamlar bilgisayar belleğinin temel depolama birimlerine yazılırlar. Temel bilgisayar
bellek birimi bit olarak adlandırılır. Bir bilgisayar belleğindeki tek bir transistörden oluşmuştur. Bu
transistörden akım geçiyorsa tansistörün veya bitin bellek değeri 1 (bir) veya true (doğru) olarak alınır. Eğer
akım geçmiyor veya düşük düzeyde bir akım geçiyorsa transistörün bellek değeri 0 (sıfır) veya false(yanlış)
olarak alınır. Bilgisayar bit birimleri bir araya gelerek bilgisayar temel değişken türlerini yazabileceğimiz bir
sistem oluştururlar. Değişken türü bilgisayar tarafından bilinmelidir, çünkü aynı bit topluluğu bir harfi
simgeleyebileceği gibi bir rakamı da simgeleyebilir. Java dilinde Tablo 1.1 de görülen temel değişken türleri
mevcuttur.
Değişken Türleri
Eclipse ile Java Programlama
Matematiksel İşlemler
Aritmetik İşlemler
Javadaki temel aritmetik işlemler şunlardır :
+ toplama – çıkarma * çarpma / bölme % tamsayılar için bölmede kalan (modül)
Program 1.4 Java ile Toplama toplama.java programı
package javaapplication1;
import java.util.*;//Kullanıcının girdiği değerleri okuyabilmek için util paketini dahil ediyoruz
public class Toplama { // Sınıfımızın adı Toplama
public static void main(String[] args) {//Main olmadan program çalışmayacaktır
int sayi1,sayi2,toplam;//Değişkenlerimizi tanımlıyoruz.
Scanner giris=new Scanner(System.in);//Kullanıcının girdiği değerleri okumak için
//Scanner kullanıyoruz, Bir kez tanımladıktan sonra istediğimiz kadar kullanabiliriz
System.out.print(“Bir sayı girin:”);// Kullanıcıdan sayı istiyoruz
sayi1=giris.nextInt();//Sayi1 değilkenine scannerdan okuduğumuz değeri yazıyoruz
System.out.print(“Bir sayı girin:”);
sayi2=giris.nextInt();
toplam=sayi1+sayi2;//Toplama işlemlerini yaptım
System.out.print(“Sayıların Toplamı:”+toplam);//Ve sonucu ekrana yazdırıyoruz.
}
}
Eclipse ile Java Programlama
Matematiksel İşlemler
Aritmetik İşlemler
Program 1.4 Java ile Toplama toplama.java programı
Programın Çıktısı Aşağıdaki gibi olacaktır.
Eclipse ile Java Programlama
Matematiksel İşlemler
Fonksiyon Hesaplama
Program 1.5 y=f(x)=x2+2x-2 verilmiş olsun. Ekrandan girilecek bir x rakanı için y değerini hesaplama
import javax.swing.*;
public class fonksiyonhesaplama
{
// main metodu
public static void main( String args[] )
{
double x = Double.parseDouble(JOptionPane.showInputDialog(” x = :”));
double y=x*x+2.0*x-2;
JOptionPane.showMessageDialog(null,” x =”+x+” y = “+y ); // sonucu göster
}
} // main metodu sonu
Eclipse ile Java Programlama
Matematiksel İşlemler
Fonksiyon Hesaplama
Program 1.5 y=f(x)=x2+2x-2 verilmiş olsun. Ekrandan girilecek bir x rakanı için y değerini hesaplama
Java ve C dillerinde temel aritmetik işlemlerinin yanı sıra bu işlemlerin kısaltılmış sembolleri de oldukça sık
kullanılır. Bu işlemler :
++ bir ilave et — bir çıkar += sağ taraftaki rakamı ilave et -= sağ taraftaki rakamı çıkar *= sağ taraftaki
rakamla çarp /= sağ taraftaki rakama böl %= sağ taraftaki rakama bölüp kalanını al işlemleridir.
++ ve — işlemleri değişkenden önce veya sonra gelebilir. Bu iki şeklin değişken tek başlarına kullanıldığında
bir farklılıkları yoktur, fakat ikinci bir değişkenle birlikte tek bir deyimde kullanıldıklarında ikinci değişkenin
değeri değişir.
Eclipse ile Java Programlama
IF Komut Yapısı
if deyimi, “ifadeyi denetleyerek, ifadenin değerine göre uygun yollardan bir tanesiyle dallanma işlemini
gerçekleştiren” bir kontrol deyimidir. Bu sayede şartlı dallanma (conditional branching) adı verilen işlem
gerçekleştirilir. Şartlı dallanma, bir programlama dili için en temel kontrol yapısıdır.
Şartlı dallanma işlemiyle bir program, gidişatını daha önceden verdiğiniz yollardan biriyle devam ettirmeye
karar verebilir hale gelir. Bir şarta göre bir komut dizisini çalıştırır veya es geçer.
Java dilinde şartlı dallanma if ve else anahtar sözcükleriyle gerçekleştirilir. if deyiminin basit gösterimi
şöyledir:
if( boolean değişken yada sabit) { boolean degişken veya sabitin değeri true olduğunda yapılan
işlemler} komut1
else if( boolean değişken yada sabit) { boolean degişken veya sabitin değeri true olduğunda
yapılan işlemler} komut2
else { yukardaki boolean değişken vede sabitlerin hiçbiri true değerine eşit değilse yapılacak olan
işlemler} komut3
Burada şartın değeri doğru (true) olarak sağlanıyorsa ancak komut 1 çalıştırılır. Eğer çalıştırmıyorsa komut
2 ye geçer eğer şart komut1 ve komut 2 yi çalıştırmıyorsa else ile komut 3 e geçer. Bunu bir örnekle
açıklayalım.
Eclipse ile Java Programlama
IF Komut Yapısı
Program 1.6 if yapısını gösteren ifyapisi.java programı
import javax.swing.JOptionPane;
class ifyapisi
{
public static void main (String args[])
{
String s1=JOptionPane.showInputDialog(“Ogrencinin notunu giriniz (0-100) : “);
int not=Integer.parseInt(s1);
String s;
if( not >= 90) { s=”A”;}
else if(not >=75) { s=”B”;}
else if(not >=60) { s=”C”;}
else if(not >=50) { s=”D”;}
else if(not >=40) { s=”E”;}
else { s=”F”;}
s=” Öğrencinin notu = “+s;
JOptionPane.showMessageDialog(null,s);
}
}
Eclipse ile Java Programlama
IF Komut Yapısı
Program 1.6 if yapısını gösteren ifyapisi.java programı
Programın Çıktısı Aşağıdaki Gibi Olacaktır
Eclipse ile Java Programlama
IF Komut Yapısı
Program 1.7 Doğum ayı ve günü verildiğinde kişinin burcunu bulan program
package odev;
import java.util.*;
public class burc {
public static void main(String[] args) {
Scanner oku=new Scanner(System.in);
String dogum[]={“Gün”,”Ay”,”Yıl”};
int dogum1[]=new int [3];
String burclar[]={“Başak”,”Akrep”};
System.out.println(“Doğum tarihinizi giriniz”);
for(int i=0;i<dogum.length;i++){
System.out.println(dogum[i]+” giriniz”);
dogum1[i]=oku.nextInt();
}
for(int i=0;i<dogum.length;i++){
System.out.print(dogum1[i]+” “);
}
if((dogum1[0]<22 & dogum1[1]==9) ||(dogum1[0]>23 & dogum1[1]==8) ){
System.out.print(“burcunuz: “+burclar[0]);
}
if((dogum1[0]>23 & dogum1[1]==10) ||(dogum1[0]<21 & dogum1[1]==11) ){
System.out.print(“burcunuz: “+burclar[1]);
}
}
}
Eclipse ile Java Programlama
IF Komut Yapısı
Program 1.7 Doğum ayı ve günü verildiğinde kişinin burcunu bulan program
Programın Çıktısı Aşağıdaki Gibi Olacaktır
Eclipse ile Java Programlama
For, While , Do While Tekrarlama Yapısı
For Yapısı
Yazilan programlarda bazen belli komut parçalarinin birçok kez çalismasi gerekebilir. Yani bazi komut
parçalarinin, belli sartlar altinda tekrar tekrar islenmesi gerekebilir. Döngü deyimleri, bahsedilen komut
parçalarinin belirtilen sartlar gerçeklestikçe tekrar tekrar islenmesini saglar.
Java’da üç tür döngü vardir. Bunlar çogu programlama dilinde olan; “for”, “do-while” ve “while” döngüleridir.
Bu döngülerden for ve while döngüsünde, kosul sinamasi döngüye girmeden önce yapilirken, do-while
döngüsünde kosul sinamasi bir kod parçasi çalistiktan sonra yapilir.
Öncelikle for döngüsünün yapisi su sekildedir:
for ( 1. deger (baslangiç degeri-initialization) ; 2.deger (kosul kontrolü) ; 3.deger (islemler) )
{
. . . . . . . . // sarta bagli tekrarlanmasini istedigimiz kodlar
……..
}
for” döngüsü görüldügü gibi üç parçadan olusur. Her parça birbirinden ile ayrilir. Ilk parça, baslangiç degeri
(initialization) dir. Burada bulunan islemler, döngü baslamadan önce ve bir kere islenir. Bu 1. degere birden
fazla islem yazilabilir, bunlari da birbirinden ‘,’ virgül ile ayirmak gerekir. Ancak bu islemleri az tutmanizi
tavsiye ederim.
Ikinci parçada, kosul kontrolü yapilir. for döngüsünün her tekrarinda kontrol edilmesi gereken kodu bu
kisima yazmak gerekir. Bu kod dogru oldugu surece, döngü devam eder, eger kosul saglanmiyorsa
döngüden çikilir.
Üçüncü parçada yer alan kodlar ise; yine döngünün her turunda, süslü parantezin içindeki kodlar gibi
çalisir. Tek fark, üçüncü parçadaki kodlarin baslangici, döngünün içinde yer alan kod parçalarinin
çalismasindan sonra olur.
Eclipse ile Java Programlama
For, While , Do While Tekrarlama Yapısı
For Yapısı
Basit bir örnek vermek gerekirse:
for(int deger=5;deger<10;deger++){
System.out.println(deger);
}
Yukaridaki for döngüsünde ilk parçada deger=5 diyerek, degerimizin ilk degerini atamis olduk. Ikinci parça
olan deger<10, kosul kismimiz. Döngü her döndügünde “deger” in 10 dan küçük olup olmadigina bakacak.
“deger” 10’a esit ya da 10’dan büyük oldugu anda döngü sonlanir. Üçüncü parça olan deger++ kismi ise,
System.out.println(deger); çalistiktan sonra döngü döndükçe “deger”in bir artacagini gösteriyor. Sonuç
olarak bu kod parçasi ekrana alt alta 5 ten 10 a kadar tüm sayilari yazar. 10 hariçtir. Çünkü deger 9 olarak
basildiktan sonra deger++ çalisir. “deger” in degeri 1 artip 10 olur ve döngü kontrolüne girdiginde deger<10
sartini saglamadigi için döngü sonlanir.
Program 1.8 For döngüsü ile çarpım tablosu
public class Main {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.println(i + “*” + j + ” = ” + i * j);
}
System.out.println();
}
}
}
Eclipse ile Java Programlama
For, While , Do While Tekrarlama Yapısı
For Yapısı
Program 1.8 For döngüsü ile çarpım tablosu
Bu örnekte görüldügü gibi iç içe for döngüsü mevcut. Bu kisa kod parçasi ilkokulda ögrendigimiz çarpim
tablosunu olusturuyor. Çiktisi su sekilde oluyor:
Eclipse ile Java Programlama
For, While , Do While Tekrarlama Yapısı
While Yapısı
Zaten iki döngüde birbirine çok benzer çok az farklari var. while döngüsünde, while komutu içerisindeki
ifade “true” degerini aldigi müddetçe while döngüsünün blogu içerisindeki kod parçalari islenir. Eger while
komutu içerisindeki deger “false” degerini alirsa, döngü blogunun çalismasi sonlanir.
while döngüsünün yapisi su sekildedir
while(expression-ifade){
…
}
Tüm döngülerin mantigi aynidir. Herhangi bir döngüyü anlamaniz, diger döngüleri de rahatlikla
anlayabileceginiz anlamina gelir. Örnek vericek olursak:
Bu örnekte kullanicidan 5 sayi isteniyor. Kullanicidan deger almayi daha görmedik ancak simdilik Scanner
sinifi yardimi ile kullanicidan deger aldigimizi bilmeniz yeterli. “i” degiskenini döngünün 5 kere dönmesi için
tanimladik. “i” degiskenini 1 den baslatmamizin sebebi ekrana 1. Degeri giriniz yazmasini saglamak içindir.
while döngüsü içindeki sart saglandigi müddetçe döngünün döndügünü görüyorsunuz. Döngü her
döndügünde “toplam” degiskeninde o ana kadar girilen sayilarin toplami bulunur. En son 5. sayi da
girildikten sonra, i=6 oldugundan while içindeki komut saglanmaz ve döngü sonlanir. Son olarak
“System.out.println(“Girdiginiz sayilarin toplami = “+toplam);” çalisir ve program sonlanir. Bu programi for
döngüsüyle de söyle yazabilirdik. Asagidaki kodun da yaptigi islem aynidir for döngüsüyle while döngüsünü
karsilastirmaniza yardimci olacagini düsünüyorum.
Eclipse ile Java Programlama
For, While , Do While Tekrarlama Yapısı
While Yapısı
Program 1.9 While döngüsü ile girilen 5 sayının toplamını hesaplama
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int toplam=0;
System.out.println(“Lütfen 5 sayi giriniz: “);
Scanner s=new Scanner(System.in);
int i=1;
while (i<6) {
System.out.println(i+”. sayiyi giriniz: “);
int sayi=s.nextInt();
toplam+=sayi;
i++;
}
System.out.println(“Girdiginiz sayilarin toplami = “+toplam);
}
}
Eclipse ile Java Programlama
For, While , Do While Tekrarlama Yapısı
While Yapısı
Program 1.9 While döngüsü ile girilen 5 sayının toplamını hesaplama
Program Çıktısı Aşağıdaki Gibidir
Eclipse ile Java Programlama
For, While , Do While Tekrarlama Yapısı
Do While Yapısı
while deyiminin önemli bir özelliği, test koşulunun döngünün başlangıcında olmasıdır. Bunun anlamı, ilk
anda koşulun yanlış olması halinde, while gövdesinin hiçbir zaman çalıştırılmayacağıdır. Ancak
gövdeyi hiç olmazsa bir kere çalıştırmamız gereken durumlar vardır. Bu durumlar çok yaygın olmasa da
gerektiği zaman do…while deyimini kullanmalıyız.
do..while döngü yapısının yazılışı şu şekildedir:
Do {
Deyim1;
Deyim2;
…
Deyim_n;
}
while(İfade) ;
do…while ve while döngüleri arasındaki tek fark, test koşulunun (ifadenin) do while döngüsünde, döngünün
sonunda yer almasıdır. Bunun anlamı, programın döngüyü hiç olmazsa bir kez çalıştırmasıdır (ilk
kez). Sonra, ifadenin değerine bağlı olarak, ifade doğru ise tekrar do’ya dönülerek döngü sürebilir veya
ifade yanlış ise bir sonraki deyimle devam edilebilir.
Bir örnekle açıklamak gerekirse:
Eclipse ile Java Programlama
For, While , Do While Tekrarlama Yapısı
Do While Yapısı
Program 1.10 Do While döngüsü ile 10 a kadar olan çift sayıların toplamı
public class Main {
public static void main(String[] args) {
int toplam=0;
int i=0;
do{
if(i%2==0){
toplam+=i;
}
i++;
}while(i<=10);
System.out.println(“(10 dahil)10’a kadar olan çift sayilar toplami: “+toplam);
}
}
Programın Çıktısı Aşağıdaki Gibidir
Eclipse ile Java Programlama
Switch Case Tekrarlama Yapısı
Bir programda çok sayıda koşul kontrolü ve bunların sonucuna göre gerçekleştirilmesi gereken işlemler
varsa, if-else yapıları ile akışın izlenmesi zorlaşabilir. Böyle durumlar genellikle switch deyiminin
kullanılmasının gerekli olacağı durumlardır. switch deyimi, tek bir ifadenin değerine göre sınırsız sayıda
çalıştırma yolu belirlemeyi sağlayan bir komuttur.
switch sözcüğünden hemen sonra gelen ifade parantez içinde yer almalı ve bir tamsayı ifade olmalıdır.
case anahtar sözcüklerini izleyen ifadeler tamsayı sabit türünde ifadeler olmalıdır,
yani değişken içermemelidir.
switch deyiminin çalışma prensibi basittir. switch ifadesi hangi case’i izleyen sabitle çakışıyorsa, programın
kontrolü o case’i izleyen kısma geçer. Bu case’den sonraki deyimler de kontrol edilmeden çalıştırılır.
case sabitlerinden hiçbiri ifade ile uyuşmuyorsa, programın akışı default‘u izleyen kısıma geçer. (Bu kısım
mevcutsa) default‘un en sonda olması şart değildir. Fakat en sona koymak iyi bir programlama stilidir.
İki case sabiti aynı değeri alamaz.
Switch/case yapısında, programın kontrolünün ifadenin değerine göre case seçeneklerinden sadece birini
çalıştırıp bundan sonra switch/case yapısını terk etmesini istiyorsak bu durumda her case seçeneğinden
sonra break komutu yerleştirmeliyiz.
Konuyla ilgili bir örnek vericek olursak
Eclipse ile Java Programlama
Switch Case Tekrarlama Yapısı
Program 1.11 Bir turizm şirketinin farklı paketleriyle ilgili detaylarını kullanıcı seçimleriyle ekrana
getiren program
import java.io.IOException;
import java.util.Scanner;
public class Cases2{
public static void main(String args[]) throws IOException{
Scanner giris = new Scanner(System.in);
int i;
System.out.println(“Portakal Turizm A.S. Sunar”);
System.out.println(“(1) Orta Avrupa Turu”);
System.out.println(“(2) Amerika Turu”);
System.out.println(“(3) Uzak Dogu Turu”);
System.out.println(“Seciminiz?”);
i = giris.nextInt();
switch (i) {
case 1 :
System.out.println(“Ucak ile Viyana, Budapeste, Prag”);
System.out.println(“4 yildizli otellerde sok! 1700$\n”);
break;
case 2 :
System.out.println(“Ozel ucak ile New York, Boston, Los Angeles”);
System.out.println(“5 yildizli otellerde sok! 3700$\n”);
break;
case 3 :
System.out.println(“Ozel ucak ile Bang Kong, Hong Kong”);
System.out.println(“Tokyo, Pekin”);
System.out.println(“5 yildizli otellerde sok! 4000$\n”);
break;
default :
System.out.println(“Hatali secim! 1, 2 veya 3 girilmeli”);
break;
}
}
}
Eclipse ile Java Programlama
Switch Case Tekrarlama Yapısı
Program 1.11 Bir turizm şirketinin farklı paketleriyle ilgili detaylarını kullanıcı seçimleriyle ekrana
getiren program
Programın Çıktısı Aşağıdaki gibidir
Eclipse ile Java Programlama
Kaynakça
http://www.kurumsaljava.com/2012/05/29/herhangi-birisi-size-neden-java-kullaniyorsunuz-sorusunu-
sordugunda-hangi-cevabi-verirsiniz/
https://java.com/tr/about/
mturhan coban java programlama diline giriş
https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-101/if-deyimi
http://www.yazilimmutfagi.com/10373/dersler/java/javada-dongu-kullanimi-for-while-ve-do-while-
donguleri.aspx

