24 Mayıs 2015 Pazar

CHAR TİPİ İŞLEMLER



public class KarakterTip {

public static void main(String[] args) {
// char tipi integral tip gurubundadır. Toplama, bolme, carpma
// vb yapılabilir. Ancak String islemlerinde (Unicode tablosundaki karsılıgı) karakter gibi davranır.
char c1 = 65;// decimal
char c2 = 0x41; // 4*16^1+1*16^0=64+1=65//hexadec (16'lık)
char c3 = 0101; // 1*8^2+0*8^1+1*8^1((octal (sekizlik)
char c4 = 0b0100_0001;// 1*2^6+0*2^5+..+0*2^1+1*2^0//binary (iki)
char c5 ='A';
char c6='\101';//sekizlik
char c7='\u0041';//unicode
int i = 10 + c1;
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
System.out.println(c4);
System.out.println(c5);
System.out.println(c6);
System.out.println(c7);
System.out.println(i);
String \u0061d="\u0041hmet";//ilginc
//(klavyede cıkmayan harfleri göstermede kullanilabilir)
System.out.println(ad);
}

}

BİR SAYIYI FARKLI TABANLARDA YAZMA İŞLEMİ



Verilen bir sayıyı ikili, sekizlik, onaltılık tabana nasıl çevirildiğini görelim...

public class FarkiTabandaYazma {

public static void main(String[] args) {

int i1=65;//decimal
int i2=0x41; //4*16^1+1*16^0=64+1=65//hexadec (16'lık)
int i3=0101; //1*8^2+0*8^1+1*8^1((octal (sekizlik)
int i4=0b0100_0001;//1*2^6+0*2^5+..+0*2^1+1*2^0//binary (iki)
//int soru=0b1111_1000_0000;
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
}

}

19 Mayıs 2015 Salı

FAYDALI LİNKLER



KİTAP ÖNERİLERİ




  •          Java Cookbook
  •          http://kodcu.com/e-kitap/
  •          Tüm O'REILLY kitaplarını öneririm

DİZİ KOPYALAMA İŞLEMİ


   
     Merhabalar bugün sizlere dizilerde kopyalama işleminden bahsediceğim. kod üzerinden anlatıcak olursam :

   
 public class DiziKopya {

public static void main(String[] args) {
int dizi[] = { 1, 3, 5, 2, 7 };
int dizi1[] = new int[dizi.length]; // dizi.length ile dizinin uzunluğuna erişiriz.
System.out.println("dizi1 ilk:" + dizi1);
// dizi1 = dizi; // adres kopyalanır
// dizi'nin adresi dizi1'e kopyalanır
// dizi1'in tuttugu degerler garbage collector
// tarafından daha uygun zamanda silinir
/*
* for (int i = 0; i < dizi1.length; i++) System.out.println(dizi1[i]);
* dizi1[0] = 100; System.out.println(dizi[0]);
* System.out.println("dizi:" + dizi); System.out.println("dizi1 son:" +
* dizi1);
*/

// Dizi kopyalama (Yontem 1)
for (int i = 0; i < dizi.length; i++) {
dizi1[i] = dizi[i];// eleman eleman kopyalama
}
System.out.println("dizi1 son:" + dizi1);
System.out.println("dizi:" + dizi);
for (int i = 0; i < dizi1.length; i++) {
System.out.println(dizi1[i]);
}
System.out.println("*************************");
int dizi2[]=new int[dizi.length];

             // Dizi kopyalama (Yontem 2)
System.arraycopy(dizi, 0, dizi2, 0, dizi.length); // arraycopy ile dizi kopyalama işlemi
for (int i = 0; i < dizi2.length; i++) {
System.out.println(dizi2[i]);
}






}

}

18 Mayıs 2015 Pazartesi

DİZİ ELEMANLARI ARASINDA YER DEĞİŞTİRME



Var olan bir dizinin elemanları arasında yer değiştirme işlemi gerçekleştirmek  için :

      public static void main(String[] args) {
// TODO Auto-generated method stub

int dizi[] = { 1, 3, 5, 2, 7 };

System.out.println(dizi[0]);
System.out.println("eleman sayisi:" + dizi.length);
// swap (yerdegistirme)
int temp = dizi[0];// sakliyoruz
dizi[0] = dizi[2];
dizi[2] = temp;

System.out.println(dizi[2]);
}


bu kodu çalıştırdığımızda dizi[2]. elemanının değerinin 1 verildiğini görürüz.

DİZİLER


Tek Boyutlu Diziler

Tüm programlama dillerinde olduğu gibi Java dilinde de dizi (array) yapısı son derecede önemli bir veri yapısıdır. Dizi yapısını kısaca tanımlarsak: 
Dizi, bilgisayar belleğinde aynı isim altında genellikle aynı tipten çok sayıda veriyi bir arada saklayan veri yapısıdır. Aşağıda, x adlı bir dizinin mantıksal görünümü verilmiştir:
x
 2   722113
02345
Dizinin bir adı ve dizi içerisindeki elemanın dizinin kaçıncı elemanı olduğunu belirten bir indisi (subscript, index) vardır. Örneğin, yukarıdaki x adlı dizi için x[3] ifadesi bu dizinin 3 numaralı elemanını yani 22 değerini göstermektedir. Dizinin indisi Java dilinde daima köşeli parantez ile belirlenir:
Java dilinde bir dizinin ilk elemanının indisi daima 0’dır; son elemanın indisi ise diziye ayrılan yer sayısının 1 eksiğine eşittir. Yukardaki x dizisinin 6 elemanı vardır; ilk elemanının indisi 0 ve son elemanının indisi de 5’tir.

Java Programı içinde Dizinin Bildirilmesi

Bir Java programı içinde diziyi tanıtmak için, new sözcüğünü kullanarak belirli bir tipten yeni bir nesne tanımlama yolu izlenir. Dizinin tipi, adı ve maksimum eleman sayısı bir bildiri deyimi içinde belirtilir:
Tip DiziAdı[ ] = new Tip [ Eleman Sayısı ];
veya eşdeğeri
Tip [ ] DiziAdı = new Tip [ Eleman Sayısı ];
Örneğin, yukarıdaki x dizisi için,
int [ ] x= new int [6] ;
şeklinde bildirimde bulunulacaktır. x dizisi 6 elemanlıdır ve elemanları int türündedir.

Dizi için ne gereklidir?

Dizi yapısına, aynı türden bir veri grubunu tümüyle bellekte saklı tutmanın gerekli olduğu uygulamalarda ihtiyaç duyarız. Örneğin, verilerin sıralanması, bir veri grubuna ait bazı istatistiksel bilgilerin hesaplanması (standart sapma vb.) gibi uygulamalar bu tür uygulamalardandır.

SEÇİM OPERATÖRÜ



İF ELSE 'in kullanışı şu  şekilde de olmaktadır :


public class SecimOp {

public static void main(String[] args) {

int a = 10, b = 20;

int buyuk = (a > b) ? a : b; // a b den büyük ise a değeri yazar değilse b
System.out.println(buyuk);

}

}

PROGRAM AKIŞ KONTROLÜ

if Yapısı:
·       if(kontrol)işlem(veya ifade);
if(a>5)x=10;
if(a>j)System.out.println(a);
·       Bir if’te birden fazla ifade varsa bloklar kullanılmalı:
      if(kontrol){
           ........ ifade;
           ........ ifade;
           ........ ifade;
       }
if(i>j){
  System.out.println(i);
      i=j;
        ....... ifade;
        ....... ifade;
}





if-else Yapısı:
·       if(kontrol)ifade1;  // Olumlu ise bu ifade1 işlenir.
   else ifade2;      // Olumsuz ise bu ifade2 işlenir.
·       if(kontrol){
           ifade1;
           ifade2;
       }
      else{
           ifade3;
           ifade4;
       }
if-else-if Yapısı:
·       if(kontrol1){
           ......
       }
      else if(kontrol2){
           ......
       }
      else if(kontrol3){
           ......
       }
      else{   ….

       }

OPERATÖRLER


1) Aritmetik Operatörler:
+, - , * , /  ,% : Mod Alma

2)  Atama Operatörleri (=):

a=10+b;    // Atama operatörü =
a=a+10;     // a+=10; kısa yazılımı
a=a-10;      // a-=10; kısa yazılımı
a/=7;
a%=8;
a=a+1;       //a++; kısa yazılımı
a=a-1;        //a--; kısa yazılımı

3)  Karşılaştırma Operatörleri:
==   eşittir.
 !=   eşit değildir.
> 
< 
>=
<=


4)  Mantık Operatörleri:
      &&   and (ve)
        &   and (ve)  Java’da her ikisi de and operatörüdür, C/C++’da & operatörü bitwise (bit seviyesinde
                             işlem) operatörüdür.
        ||    or (veya)
         |    or (veya)
         ^    xor
          !    not  


&&
||
^
true
true
true
true
false
true
false
false
true
true
false
true
false
true
true
false
false
false
false
false
^ (xor) operatöründe aynı olan ifadeler false, farklı olan ifadeler true değeri almaktadır.







5)  Bit Seviyesinde İşlem Operatörleri:
      IO paketinde kullanımı yaygındır.
        &     and (ve)
         |      or (veya)
         ^     xor
         ~     not
        >>    Sağa öteleme(2’ye bölme)    
        <<    Sola öteleme(2 ile çarpma)   
        >>>  Sağa öteleme(işaret bitine bakılmaksızın)

İF ELSE KULLANIMI


İF-ELSE kullanılarak yaş gruplama işlemini gerçekleştirelim.
(0-2) yaş grubuna "bebek"
(3-12) yaş grubuna "çocuk"
(13-18) yaş grubuna "ergen"
(19-25) yaş grubuna "genç"
(26-40) yaş grubuna " yetişkin"
41 den büyük yaş grubuna ise yaşlı
negatif ve 200 sayıları girildiğinde ise geçersiz sayı uyarısını versin.

Bu işlemi gerçekleştirecek kod :

public class  YasGrup{
public static void main(String [] args){
Scanner sc=new Scanner(System.in);
System.out.println("YAŞ GİRİNİZ");
int yas=sc.nextInt();
if(yas<0 || yas>200)  System.out.println("geçersiz yaş");
else if(yas<=2)  System.out.println("bebek");
else if(yas<=12)  System.out.println("çocuk");
else if(yas<=18)  System.out.println("ergen");
else if(yas<=25)  System.out.println("genç");
else if(yas<=40)  System.out.println("yetişkin);
else if(yas>=41)  System.out.println("yaşlı");
}
}

FOR DÖNGÜSÜ



For döngüsünü kullanarak rastgele harf üretme uygulamasını yazalım şimdide :


public class RasgeleHarfUretme {

public static void main(String[] args) {
for (int i = 1; i <= 20; i++) {
             char ch = (char)(Math.random()*26+'A');
             System.out.println(ch);
}

}

}


17 Mayıs 2015 Pazar

HESAP MAKİNESİ


   
      Merhaba arkadaşlar bugün sizlere Switch Case kullanılarak kullanıcıdan veri girişi yapmasını isteyip girilen veri doğrultusunda  basit bir hesaplama  işlemini yapmaya çalışıcağım. Daha önce de bahsettiğim gibi veri girişi işlemini Scanner sınıfını kullanarak gerçekleştiriyoruz. Kodu yazıcak olursak :

import java.util.Scanner;


public class HesapMakinesi {

public static void main(String[] args) {
// TODO Auto-generated method stub
   

Scanner sc=new Scanner(System.in);
System.out.println("ilk sayiyi giriniz:");
int a=sc.nextInt();
System.out.println("ikinci sayiyi giriniz:");
int b=sc.nextInt();
System.out.println("Yapılacak işlemi seçiniz:(1,2,3,4)");
int sec=sc.nextInt();
switch(sec)
{
case(1):{System.out.println("iki sayının toplamı="+(a+b));} break;
case(2):{System.out.println("iki sayinin farkı="+(a-b));} break;
case(3):{System.out.println("iki sayının çarpımı="+(a*b));} break;
case(4):{System.out.println("iki sayinin bölümü="+(a/b));} break;


default: {System.out.println("geçersiz işlem yaptınız");} break;
}
}

}



 

HELLO WORLD


   

    Hemen hemen her programlama dilinde ilk ders olarak HELLO WORLD yazılımını anlatılır. Şimdi  bu uygulamanın java ' da nasıl yazıldığını görelim :



         public class ilkUygulama {

public static void main(String[] args) {

       System.out.println("HELLO WORLD");
}

}

16 Mayıs 2015 Cumartesi

SCANNER KULLANIMI


   Merhaba arkadaşlar bu yazımda  sizlere kullanıcının  nasıl veri girişi yapabileceği hakkında bilgi vermeye çalışacağım. Kullanıcı veri girişini yapabilmesi için Scanner sınıfını kullanır. Örnek olarak kullanıcıdan yaş bilgisini alarak bu bilgiye göre yaş gruplaması yapalım.  Bunun için öncelikle  import java.util.Scanner  kütüphanesini eklemiz gerekicek.
     
   Bu işlemi gerçekleştirdikten sonra kod kısmına geçebiriz :

   public class YasGruplama {

public static void main(String[] args) {
// Klavyeden yas girme
Scanner sc = new Scanner(System.in);
System.out.print("Yas girin:");
int yas = sc.nextInt();

// 0-2 bebek
// 3-12 cocuk
// 13-18 ergen
// 19-25 genc
// 26-40 yetiskin
// 41'den buyuk yasli

// negatif ve 200 gecersiz yas

if (yas < 0)
System.out.println("gecersiz yas");
else if (yas <= 2)
System.out.println("bebek");
else if (yas <= 12)
System.out.println("cocuk");
else if (yas <= 18)
System.out.println("ergen");
else if (yas <= 25)
System.out.println("genc");
else if (yas <= 40)
System.out.println("yetiskin");
else if (yas < 200)
System.out.println("yasli");
else
System.out.println("gecersiz");

}

}

SAYININ ASAL SAYI OLUP OLMADIĞINI BULMA






Asal sayılar sadece kendisi ve 1 sayısına bölünebilen 1'den büyük pozitif tam sayılar biçiminde
tanımlanır.Asal sayıların 1 ve kendisinden başka tam böleni yoktur.

Şimdi gelelim Java koduna :


public class AsalSayi {

public static void main(String[] args) {
// 1000000'a kadarki tüm asal sayilari bulunuz

int n = 1000_000;

for (int i = 2; i <= n; i++) {
for (int j = 2; j < i; j++) {
if (i % j == 0)
break;
else if (j == i - 1)
System.out.println(i);
}// for

}// for
}

}