Java etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Java etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Şubat 2014 Pazartesi

Java Parametresiz Metod Kullanımı

Aşağıdaki kodlar kullanıcıya konsol ortamında ismini sorar ve klavyeden girilen kelimeyi yine konsol ortamında yazdırır. Program sadece tek bir class'tan oluşmaktadır. Program başlatıldığında "isim" adında String türünden bir değişken oluşturulur. Bu değişkene "isimGir()" adlı parametresiz bir metodun döndürdüğü değer atanır ve sonuç konsol ortamında yazdırılır.

isimGir() metodu kendi bünyesinde "adi" isimli String türünden bir değişken oluşturur. Sonra Scanner sınıfından "yazi" adlı bir nesne oluşturur ve bu nesne ile klavyeden girilen değerleri nextLine() metodu ile okutarak "adi" değişkenine aktarır. "adi" değişkeninin taşıdığı değer return komutu ile isimGir() metodunun çağırıldığı yere gider ve "isim değişkenine atanır. Son olarak "isim" değişkeninin değeri konsol ortamında ekrana basılır.

Program gördüğünüz gibi oldukça basit ama Java Programlamaya Yeni Başlayanlar için faydalı olacağını düşünüyorum. İşte yukarıda bahsettiğimiz programın nacizane kodları.

anaSinif.java

import java.util.Scanner;
public class anaSinif {
    public static void main(String args[]){
        String isim;
        isim=isimGir();
        System.out.println("Adınız : "+isim);
           
    }
    public static String isimGir(){
        String adi;
        Scanner yazi = new Scanner(System.in);
      System.out.println("Lütfen bir isim giriniz");   
      return adi=yazi.nextLine();
    }
}

24 Aralık 2013 Salı

Java Inheritance(Kalıtım) Uygulaması (Java extends Örneği)


Daha önce katıldığım java programlama kursunda yaptığımız bir (inheritance)kalıtım uygulaması. Programda tanımlanan tüm classlar personel sınıfından extends komutu ile türetilmiştir.

personel.java

import java.util.Locale;

public class personel {
    protected String ad;
    protected String soyad;
    public String tcKimlik;
    private Double sabitMaas=0.0;
   
    public personel(){
       
    }// defalut constructor
    public personel(String persAd,String persSoyad,double persMaas){
        ad=persAd;
        soyad=persSoyad;
        sabitMaas=persMaas;
        }
    public void setAd(String personelAd)// isim formatı:
    {// ad parametresinin sağındaki ve solundaki boşlukları alıp isim StringBuilder nesnesine ata.
        StringBuilder isim = new StringBuilder(personelAd.trim());
        if(isim.length()==0){// eğer isim nesnesinin uzunluğu 0 ise boş isim girilmiştir.
            System.out.println("Ad kısmı boş. Lütfen bir isim giriniz");
            }else{// isim nesnesinin ilk harfi büyük diğerleri küçük olarak şekillendir.
                for(int i=0;i<isim.length();i++){
                    if(i==0) isim.setCharAt(i, Character.toUpperCase(isim.charAt(i)));                   
                    }//for döngüsü sonu
                this.ad=isim.toString();
            }//else sonu
       
    }//setAd metod sonu
    public String getAd(){return this.ad;}
    public void setSoyad(String personelSoyad){
        personelSoyad=personelSoyad.trim();
        if(personelSoyad.length()==0){//soyad kısmının boş olup olmadığı kontrol ediliyor
            System.out.println("Soyad kısmı boş. Lütfen personel soyadını yazınız.");
        }else{// soyisim nesnesinin tümü büyük harf olacak
            this.soyad=personelSoyad.toUpperCase(new Locale("TR"));
        }//else sonu
    }
    public String getSoyad(){
        return soyad;
    }// getSoyad sonu
    final public void setTcKimlik(String tckimlik){
        this.tcKimlik=tckimlik;
    }
    public void setMaas(double maas){
        sabitMaas=maas;
    }
    public double getMaas(){return sabitMaas;}
    public double hakEdis(){
        System.out.print("Personel Hakediş:");
        return sabitMaas;
    }
}// personel classs sonu



SatisPersoneli.java


public class SatisPersoneli extends personel{
    public double satisTutari;
    public double primYuzdesi;
    public SatisPersoneli(){}
    public SatisPersoneli(String ptpAd,String ptpSoyad,double satisTutari,double prim){
        super(ptpAd, ptpSoyad, 500.0);// bu stırda satış personelinin bilgileri personel class'ındaki personel isimli metoda bilgi gönderir.
        this.satisTutari=satisTutari;
        this.primYuzdesi=prim;
    }// SatisPersoneli sonu
    public void setSatistutari(){
        if(satisTutari>=0)
            this.satisTutari=satisTutari;
        else
            System.out.println("tutar pozitif olmalı");
    }// setSatistutari sonu
    @Override
    public double hakEdis(){
        System.out.println("Satıi personeli hakediş:");
        return super.getMaas()+(this.satisTutari*(1+primYuzdesi));
    }

}

PartTimePersonel.java


public class PartTimePersonel extends personel{
    public int mesaiSaat;
    public double saatUcreti;
    public PartTimePersonel(){
        super();
    }
    public PartTimePersonel(String ptpAd,String ptpSoyad, int ptpMesai, double ptpSaatUcret){
        super(ptpAd,ptpSoyad,0.0);
        this.mesaiSaat=ptpMesai;
        this.saatUcreti=ptpSaatUcret;
    }//PartTimePersonel sonu
   
    public void setMesaiSaat(int saat){
        if(saat>=0)
            mesaiSaat=saat;
        else
            System.out.println("Mesai saati pozitif olmalı");
    }
    @Override
    public double hakEdis(){
        System.out.println("Pat Time Personel hakediş :");
        return saatUcreti*mesaiSaat;
    }

}

Stajyer.java


public class Stajyer extends personel{

}

PersonelTakip.java


public class PersonelTakip {
    public static void main(String[] args){
        personel isci,partIsci,stajyerIsci;
        isci = new personel("Kamil","turhan",1000.0);
        partIsci = new PartTimePersonel("Yusuf","eren",45,20.0);
        stajyerIsci = new Stajyer();
        personel satisIsci = new SatisPersoneli("haken","kart",40000.0,0.2);
       
        System.out.println(isci.hakEdis());
        System.out.println(partIsci.hakEdis());
        System.out.println(satisIsci.hakEdis());
    }

}

21 Eylül 2013 Cumartesi

Java Applet Örneği

Aşağıdaki kodlar Applet ortamında bir pencere çizer ve içinde 1 de 10'a kadar olan tamsayıları sıralar. Programda döngüyü kurmak için do-while kodu kullanılmıştır. Bu bakımdan do-while döngüsü için de basit ve açıklayıcı bir örnek olduğu söylenebilir.

import java.awt.Graphics;
import java.applet.Applet;
public class javaApplet1 extends Applet{
    public void paint(Graphics g){
        int sayac=1;
        int x=25;
        String yazi;
        do{
           
            yazi=Integer.toString(sayac);// Bir değişkenin değerini Applet Viewer üzerinde görüntületebilmek için değişken tipinin String'e çevrilmesi gerekir.
            g.drawString(yazi, x, 25);
            x+=15;
            sayac++;
        }while(sayac<=10);
       
    }

}

27 Nisan 2013 Cumartesi

Java Notları-3-Ondalıklı Sayı Değişkenleri

double ve float tipinde tanımlanmış değişkenler diğer programlama dillerinde olduğu gibi Java dilinde de ondalıklı sayıları bellekte tutmak için kullanılır.

float değişken tipi virgülden sonra 7 haneye kadar duyarlıdır. 32 bitlik veri tutar.

double değişken tipi virgülden sonra 17 haneye kadar duyarlıdır. 64 bitlik veri tutar.

26 Mart 2013 Salı

Java GUI Örnek 1 (Java JFrame)

Java ile görsel programlama örnek 1


Java ile GUI(Graphical User Interface-Grafiksel Kullanıcı Arayüzü) çalışmalarımıza boş bir çerçeve oluşturarak başlıyoruz. Aşağıdaki kısa java programı ekranın sol üst köşesine başlığı "İlk Çerçevem" olan boş bir çerçeve çizdirir.

Bu ilk örek GUI uygulamamızı kısaca incelersek;

import javax.swing.JFrame; //JFrame sınıfı uygulamaya import ediliyor


public class main {

    public static void main(String[] args) {
        JFrame cerceve = new JFrame();// cerceve isimli JFrame nesnesi oluşturuluyor.
        cerceve.setTitle("İlk Çerçevem");// çerçevenin başlığı belirleniyor.
        cerceve.setSize(350, 300);// çerçevenin boyutları belirleniyor.
        cerceve.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// çarpıya basıldığında çerçeve ile birlikte programı da kapatan kod
        cerceve.setVisible(true);//çerçeveyi görünür kılan kod
       

    }

}

Örnek JFrame UygulamasıBu basit GUI örneğinin ekran görüntüsü sağ tarafta görüldüğü gibi boş bir pencere olmalıdır.










-Turgut ARSLAN-

18 Kasım 2012 Pazar

NetBeans İle Görsel Programlama

NetBeans Ortamında Görsel Olarak Hazırladığım Basit Bir Java Programı

Java Örnek Program
Bu program sadece bir sayının başka bir sayı ile bölümünden kalanı buluyor. Yani o sayının modunu alıyor. Biliyorum program çok basit ama burda önemli olan görsel öğelerin tasarlanması ve uygulaması. Normalde Java dilinde kalan hesaplamak için % operatörü(Mod operatörü) kullanılır. Mesela 24'ün mod 5'e göre değeri yani 24'ün 5'e bölümünden kalan 4'tür. Bunun Java dilindeki ifadesi 24%5 şeklindedir. Ancak ben bu programda başka bir yol kullandım. Kalanı hesaplayan algoritmanın denklemi şu şekildedir.




Kalan = Bölünen -(Bölünen/Bölen)*Bölen

Burada Bölünen ve Bölen Integer tipinde olduğundan bilgisayar hesaplamayı yaparken Bölünen/Bölen işlemi sonucunda bulunan ondalıklı sayının sadece tam kısmını alacak, ondalıklı kısmını atacaktır. Sonuç olarak denklem kalanı ya da diğer adıyla o sayının modunu vercektir.

NetBeans görsel tasarım ortamı aşağıdaki gibidir.

NetBeans Görsel Tasarım Ortamı

Program işe şu şekildedir

Programda iki ayrı Java Class'ı var ilki KalanHesaplama.java;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package kalanhesapla;

/**
*
* @author turgut
*/
public class KalanHesaplama extends javax.swing.JFrame {

/**
* Creates new form KalanHesaplama
*/
public KalanHesaplama() {
initComponents();
}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {

jDesktopPane1 = new javax.swing.JDesktopPane();
hakkinda = new javax.swing.JInternalFrame();
jLabel1 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
kalanhesapla = new javax.swing.JInternalFrame();
bolunenyaz = new javax.swing.JTextField();
bolenyaz = new javax.swing.JTextField();
bolumyaz = new javax.swing.JTextField();
kalanyaz = new javax.swing.JTextField();
hesaplat = new javax.swing.JButton();
sil = new javax.swing.JButton();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
Baslat = new javax.swing.JMenuItem();
cikis = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
hakkindamenu = new javax.swing.JMenuItem();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Kalan Heaplayıcı");

hakkinda.setClosable(true);
hakkinda.setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
hakkinda.setTitle("Hakkında");
hakkinda.setVisible(false);

jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel1.setText("Kalan Hesapla");

jLabel4.setText("Kişisel Java tabanlıeEğitim yazılımları çalışmalarım");

jTextArea1.setBackground(new java.awt.Color(227, 235, 247));
jTextArea1.setColumns(20);
jTextArea1.setEditable(false);
jTextArea1.setFont(new java.awt.Font("Verdana", 1, 10)); // NOI18N
jTextArea1.setForeground(new java.awt.Color(102, 102, 102));
jTextArea1.setRows(5);
jTextArea1.setTabSize(6);
jTextArea1.setText("Java eğitim yazılımı çalışmaları\n\nİletişim :\naarslan_tturgut@hotmail.com");
jTextArea1.setAutoscrolls(false);
jScrollPane1.setViewportView(jTextArea1);

javax.swing.GroupLayout hakkindaLayout = new javax.swing.GroupLayout(hakkinda.getContentPane());
hakkinda.getContentPane().setLayout(hakkindaLayout);
hakkindaLayout.setHorizontalGroup(
hakkindaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(hakkindaLayout.createSequentialGroup()
.addContainerGap()
.addGroup(hakkindaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(hakkindaLayout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 262, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(100, 100, 100)
.addComponent(jLabel4))
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
hakkindaLayout.setVerticalGroup(
hakkindaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(hakkindaLayout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(hakkindaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 14, Short.MAX_VALUE))
);

hakkinda.setBounds(10, 20, 300, 150);
jDesktopPane1.add(hakkinda, javax.swing.JLayeredPane.DEFAULT_LAYER);

kalanhesapla.setClosable(true);
kalanhesapla.setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
kalanhesapla.setTitle("Kalan Hesapla");
kalanhesapla.setVisible(false);

bolunenyaz.setText("Bölünen");
bolunenyaz.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bolunenyazActionPerformed(evt);
}
});

bolenyaz.setText("Bölen");
bolenyaz.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bolenyazActionPerformed(evt);
}
});

bolumyaz.setEditable(false);
bolumyaz.setText("Bölüm");

kalanyaz.setEditable(false);
kalanyaz.setText("Kalan");
kalanyaz.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
kalanyazActionPerformed(evt);
}
});

hesaplat.setText("Hesapla");
hesaplat.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
hesaplatActionPerformed(evt);
}
});

sil.setText("Sil");
sil.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
silActionPerformed(evt);
}
});

javax.swing.GroupLayout kalanhesaplaLayout = new javax.swing.GroupLayout(kalanhesapla.getContentPane());
kalanhesapla.getContentPane().setLayout(kalanhesaplaLayout);
kalanhesaplaLayout.setHorizontalGroup(
kalanhesaplaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(kalanhesaplaLayout.createSequentialGroup()
.addGap(22, 22, 22)
.addGroup(kalanhesaplaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bolunenyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bolenyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bolumyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(kalanyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(kalanhesaplaLayout.createSequentialGroup()
.addComponent(hesaplat)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(sil)))
.addContainerGap(32, Short.MAX_VALUE))
);
kalanhesaplaLayout.setVerticalGroup(
kalanhesaplaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(kalanhesaplaLayout.createSequentialGroup()
.addContainerGap()
.addComponent(bolunenyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bolenyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bolumyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(kalanyaz, javax.swing.GroupLayout.DEFAULT_SIZE, 33, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(kalanhesaplaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(hesaplat)
.addComponent(sil))
.addContainerGap())
);

kalanhesapla.setBounds(70, 20, 190, 240);
jDesktopPane1.add(kalanhesapla, javax.swing.JLayeredPane.DEFAULT_LAYER);

jMenu1.setText("File");

Baslat.setText("Başla");
Baslat.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BaslatActionPerformed(evt);
}
});
jMenu1.add(Baslat);

cikis.setText("Çıkış");
cikis.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cikisActionPerformed(evt);
}
});
jMenu1.add(cikis);

jMenuBar1.add(jMenu1);

jMenu2.setText("Yardım");

hakkindamenu.setText("Hakkında");
hakkindamenu.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
hakkindamenuActionPerformed(evt);
}
});
jMenu2.add(hakkindamenu);

jMenuBar1.add(jMenu2);

setJMenuBar(jMenuBar1);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jDesktopPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jDesktopPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE)
);

pack();
}//


private void hakkindamenuActionPerformed(java.awt.event.ActionEvent evt) {
hakkinda.show();
}

private void BaslatActionPerformed(java.awt.event.ActionEvent evt) {
kalanhesapla.show();
}

private void cikisActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}

private void bolenyazActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void bolunenyazActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void kalanyazActionPerformed(java.awt.event.ActionEvent evt) {

}

private void silActionPerformed(java.awt.event.ActionEvent evt) {
kalanyaz.setText("Kalan");
bolunenyaz.setText("Bölünen");
bolumyaz.setText("Bölüm");
bolenyaz.setText("Bölen");

}

private void hesaplatActionPerformed(java.awt.event.ActionEvent evt) {
islem calis=new islem();
String sonucu=calis.sonuc(bolunenyaz.getText(), bolenyaz.getText());
kalanyaz.setText("Kalan : "+sonucu);
bolumyaz.setText("Bölüm : "+Integer.toString(calis.bolum));

}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/*
* Set the Nimbus look and feel
*/
//
/*
* If Nimbus (introduced in Java SE 6) is not available, stay with the
* default look and feel. For details see
* http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(KalanHesaplama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(KalanHesaplama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(KalanHesaplama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(KalanHesaplama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//


/*
* Create and display the form
*/
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new KalanHesaplama().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JMenuItem Baslat;
private javax.swing.JTextField bolenyaz;
private javax.swing.JTextField bolumyaz;
private javax.swing.JTextField bolunenyaz;
private javax.swing.JMenuItem cikis;
private javax.swing.JInternalFrame hakkinda;
private javax.swing.JMenuItem hakkindamenu;
private javax.swing.JButton hesaplat;
private javax.swing.JDesktopPane jDesktopPane1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel4;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JInternalFrame kalanhesapla;
private javax.swing.JTextField kalanyaz;
private javax.swing.JButton sil;
// End of variables declaration
}
İkinci Java Class'ı ise islem.java;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package kalanhesapla;

/**
*
* @author turgut
*/
public class islem {

int bolunen;
int bolen;
int bolum;
int kalan;
public String sonuc(String b,String b1){
String kalani="";
bolunen=Integer.parseInt(b);
bolen=Integer.parseInt(b1);
bolum=bolunen/bolen;
kalan=bolunen-(bolunen/bolen)*bolen;
kalani=Integer.toString(kalan);
return kalani;
}
}



Turgut Arslan

12 Ekim 2012 Cuma

Java'da Döngüler: For Döngüsü

Java İç İçe For Döngüsü

Döngüler programcılıkta belirli bir işi istenen sayıda tekrarlamak için kullanılır. C,C++,PHP gibi programlama dillerinde de olduğu gibi Java'da da for döngüsü bulunmaktadır. for döngüsü ana hatlarıyla aşağıdaki gibidir.
for (int sayac = başlangıç değeri; sayaç <= sınır değeri; sayac artım miktarı)  // 1. kısım
{
döngü içinde gerçekleştirilen işlemler...    // 2. kısım
}
for döngüsü iki ana kısımdan oluşur.

1. kısımda döngünün kaç kez döneceği belirlenir.  bu kısımda ilk olarak döngünün kaç kez döndüğünü sayan sayaç değişkeni isimlendirilir ve bu değişkene bir başlangıç değeri atanır. sayaç görevi görecek değişken integer tipinde olmalıdır. Sayaç değişkeni isimlendirilirken Türkçe karakterler ve rakamlar kullanılmaz. Altçizgi tire gibi özel işaretler de kullanmayın. Sonra sayacın sınır değeri belirlenir. En sonunda da sayacın artım miktarı belirlenir.

2. kısımda yani süslü parantezler içinde döngüde yapılması istenen işlemler,kodlar yazılır.

 for döngüsü çalışırken sayaç değişkenine ilk değeri atanır ve hemen 2. kısma geçilerek döngü işlemler sırasıyla satır satır uygulanır. Program  for döngüsünün alt parantezine geldiğinde en başa döner ve ilk önce sayacın sınır değerine ulaşıp ulaşmadığı kontrol edilir. Eğer sayac sınır değere ulaşmışsa döngü durur. Ulaşmamışsa sayaç değeri önceden belirlenen artım miktarı kadar arttırılır ve yeniden döngüye girilir.

Java'da for döngüsü tek başına kullanılabildiği gibi ihtiyaca göre içi içe de kullanılabilir. Aşağıda  Java'da iç içe yazılmış bir for döngüsü örneği bulunmaktadır.

public class fordonguyildiz {
    public static void main(String[ ] args){
        for(int satir = 0; satir < 4; satir++){ // 1.  For Döngüsü (Dış Döngü)
            System.out.print("*");
            for(int sayac = 0; sayac < satir; sayac++){ // 2. For Döngüsü (İç Döngü)
                System.out.print("*");

                } // İç döngü sonu

System.out.print("\n"); // bu kod çıktıda  satır atlatmak için
        } // Dış döngü sonu

    } // main method sonu

} // class fordonguyildiz sonu


Eğer kodlamayı doğru yaparsanız bu Java örnek kodu aşağıdaki gibi bir çıktı verecektir.

*
**
***
****

Bu Java kod örneğini Eclipse ya da NetBeans editörlerinde yazıp çalıştırabilirsiniz. Eğer editör kullanmak istemiyorsanız şunları yapın.
1 - Öncelikle bilgisayarınızda JDK'nın kurulu olduğundan emin olun. Yoksa buradan indirebilirsiniz.
2- Sonra bu kodları notpad'e kopyalayın ve Farklı Kaydet'ten uzantısı .java olacak şekilde  fordonguyildiz adıyla kaydedin.
3- Başlat-Çalıştır' a cmd yazın ve DOS ortamına geçin. ardından java dosyanızın bulunduğu dizine girin.
4 - Burada  javac fordonguyildiz.java  kodunu girdiğinizde JDK dosyanızı derler ve aynı yerde fordonguyildiz.class adlı bir dosya oluşturur.
5- Yine aynı yerde şu kodu yazın ve class dosyanızı çalıştırın.  java fordonguyildiz
Eğer herşeyi doğru yaptıysanız Java örnek programınız başarıyla çalışacaktır.


Turgut Arslan

7 Ekim 2012 Pazar

JDK Nedir? JRE Nedir? JVM Nedir?

Java'nın Temel Terimleri


Java Development Kit(JDK) Nedir?

Java'da yazılan programların derlenip çalıştırılmalarını sağlayan, içinde çok sayıda kütüphanenin bulunduğu program paketidir.JDK'yı buradan indirebilirsiniz.

Java Runtime Enviroment (JRE) Nedir?

JDK'nın kurulumu ile gelen(siz isterseniz ayrıca kurabilirsiniz) Java'da yazılıp derlenen uygulamaların çalıştırılması için kullanılan kütüphaneler topluluğudur. JRE'yi ayrıca buradan indirebilirsiniz.

Java Virtual Machine(JVM) Nedir?

JVM Java Sanal Makinesi anlamına gelir. Java ile geliştirdiğiniz uygulamaların bilgisayar üzerinde çalışmasını sağlar. JVM derlenmiş olan kodları makine diline çevirir. Java'da ürettiğiniz uygulamlar JVM üzerinde çalışır. JVM yazdığınız Java programı ile bilgisayar arasındaki iletişimi sağlar. JVM yorumlama işlemlerini, JRE'nin kütüphanelerini kullanarak yapar. Java'da yazdığınız bir programın, bir bilgisayar üzerinde çalışabilmesi için o bilgisayarda kullanılan işletim sistemine uygun JVM'nin kurulmuş olması yeterlidir. Bu da Java programları için platform bağımsızlığı sağlar. JVM sayesinde Java'da yazılan programlar, MAC OS, Linux veya Windows İşletim sistemlerinde rahatlıkla çalışabilir.

24 Ağustos 2012 Cuma

Java Nedir?

Java Programlamaya Giriş

Sun Microsystems
Java programlama dili Sun Microsystems tarafından ilk olarak 1991 yılında geliştirilmeye başlandı. Java aslında Sun Microsystems'in elektronik ev aletlerinin programlanması amacıyla başlattığı bir projedir. Java dili Patrick Naughton, Chis Wartdh, James Gosling, Ed Frank ve Mike Sheridan'ın oluşturduğu bir yazılım grubu tarafından tasarlanmıştır.
Java
İlk zamanlarda bu dilin adı OAK idi. Ancak bu ada sahip başka bir program olduğu öğrenilince programın ismi Java olarak değiştirildi. Bu ismin bir kahve markasından esinlenerek verildiği söylenir. Aslında Java kahve manasına gelmektedir. Özellikle geceleri uzun çalışma saatlerini bilgisayar başında geçiren programcıların en büyük dostunun kahve olduğunu düşünürsek; programın neden bu ismi aldığı hakkında bir fikir sahibi olabiliriz diye düşünüyorum.

Başta da belirttiğimiz gibi Java elektronik ev aletleri için geliştirilmeye başlanmış bir programlama dilidir. Bu alanda gelişminin çok yavaş olması ve istenen verimin tam olarak alınamaması Java projesini bitme noktasına kadar getirmiştir. Ancak Java dilinin marifetleri sadece elektronik ev aletleri ile sınırlı değildi. Java web uygulamaları geliştirmeye izin veren bir dildir. Özellikle 1993'ten sonra dünyada internet iletişiminde yaşanan patlama Sun Microsystems'in java'nın bu özellikleri üzerne yoğunlaşmasını sağlamış ve adeta bu dilin hayatını kurtarmıştır. İlk kez 1995 yılında dünyaya sunulan Java dili çok ilgi görmüş, özellikle dinamik web sayalafının hazırlanmasında gösterdiği performans ve C++ diline yakın bir kodlama yapısına sahip olması, kolay öğrenilebilir olması gibi nedenler Java dilinin popüler bir yazılım dili olmasını sağlamıştır. Java programlama  dili günümüzde özellikle Google'un Android'i ve Nokia'nın Symbian işletim sistemine temel oluşturması ve bu sistemler için üretilen milyonlarca java uygulaması ile mobil teknolojinin gelişmesini sağlamıştır.

Java hız bakımından C++ ve C dilinin biraz gerisindedir. Aslında bu dilin yazıılma amacı daha doğru ve verimli prgramlar yazmak ve program yazmayı kolaylaştırmaktır. Java Nesne tabanlı ya da Nesne yönelimli(Object Oriented) bir programlama dilidir. Yani bu dilin bileşenlerini aslında nesneler oluşturur. Java'da C ve C++'da olduğu gibi yapısal(Structural)progamlar yazılabilse de java gerçek gücünü Nesnelerle çalışırken gösterir. Şimdi şu nesne konusuna kısa bir açıklama yapalım

Nesneye Yönelik Programlama

Tornavida

İlk olarak kendi kendimize soralım. Nesne nedir? Nesneler, çevremizde bulunan, duyu organları ile algılayabildiğimiz; çeşitli özellikleri(renk, koku, tat,boyut ve ağırlık gibi) ve işlevleri(birşey kesmek, bir yere destek olmak, birşey üretmek, hesaplamak vs) olan varlıklardır. Mesela sol resimdeki tornavidayı düşünün. Bu tornavidanın sarı renkli plastik sapı, parlak metal ucu ve düz ağzı sahip olduğu özellikleridir. Bu tornavida ile düz vidaları sıkıp gevşetebilmesi, tornavida nesnesinin işlevi olarak tanımlaabilir.


Düz tornavida ile yıldız başlı vidaları sıkıp gevşetemezsiniz. Yani düz ağızlı tornavidanın bu noktada işlevsel sınırlılığı var. Bu sınırlılık tornavidanın sahip olduğu özelliklerle ilgilidir ve bu özellikler üretim esnasında belirlenir. Bu tornavidayı tamirat yaparken defalarca kullanabilirsiniz. Tornavida her defasında aynı şekilde çalışır ve aynı hizmeti verir. Ayrıca bu tornavidayı özelliklerini bilen başka biri ya da birileri ile ortaklaşa da kullanabilirsiniz.

Buraya kadar gerçek hayattaki nesnelerden bahsettik. Yazılım dünyasında bahsedilen nesne kavramı da aynı şekilde işlemektedir. Yani Nesneye Yönelik programlama yaparken aynı gerçek hayatta bir tornavidayı imal eder gibi programda kullanacağınız nesneleri inşa edersiniz. Ona çeşitli özellikler verirsiniz, işllevler verirsiniz. Sonra da programda gerektiği yerlerde o nesneyi çalışması için çağırırsınız. Aynen lazım olduğunda tornavidayı alıp kullandığınız gibi üretilen nesneleri çağırıp kullanabilirsiniz. Aynı proje üzerinde birden fazla kişinin çalıştığını düşünün. Tornavidayı nasıl çalışma arkadaşınızla ortaklaşa kullanabiliyorsanız, aynı proje içinde üretilen bir nesne de o şekilde ortaklaşa kullanılabilir.

Nesneye yönelik programlamanın mantığı bu şekildedir diyebiliriz. Java'da ürettiğiniz nesneler, çeşitli değişkenler ve method adı verilen fonksiyonlardan oluşur. Nesne içindeki değişkenlerin erişim türleri(public veya protected gibi) yazılımcı tarafından belirlenebilir. Böylelikle bir nesneye ait değişkenlerin değerlerinin yanlışlıkla değiştirilmesi engellenmiş olur. Buraya kadar saydıklarımız Nesneye Yönelik (Object Oriented) programlamanın avantajlarından sadece birkaçıdır.


Turgut Arslan