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

31 Mart 2017 Cuma

JAVA DIARY - 2

Class kodlarının içersinde ana fonksiyonumuzu public static void main olarak tanımlıyoruz. Parantezler içersinde görüldüğü gibi String[] args yazıyor. Yani ana fonksiyonumuz input olarak bir string alıyor. Terminal içersinde kod çalıştırılırken programa gerekli argümanlar gönderilebiliyoruz. Aşağıdaki örneği terminalde derledikten sonra , java ArgExample tr  şeklinde çalıştırırsak args dizisinin ilk elemanu tr olduğu için program ekrana turkce yazdıracaktır.

public class ArgExample{
  public static void main(String[] args){
 switch(args[0]){
 case "tr":
 System.out.println("turkce");
 break;
 case "en":
 System.out.println("english");
 break;
 case "it":
 System.out.println("italiano");
 break;
 }
  }
}

                                          

Değişkenler 

Değişkenler ikiye ayrılıyor. Primitive types ve reference types olmak üzere. Referens tipleri biz tanımlayabildiğimiz için sonsuz sayıda referans tipi vardır. String bir referans tipidir. Onun dışında 8 adet primitive tip vardır. Bunlar byte , short , int , long , float , double , char , boolean

public class Variables{
public static void main(String[] args)
{
// ***** primitive types ****
// tam sayı değişkenler
byte b=10;   // 1 byte
short s=12;  // 2 byte
int i = 1445; // 4 byte
long l = 123456; // 8 byte

System.out.println("byte:"+b);
System.out.println("short:"+s);
System.out.println("int:"+i);
System.out.println("long:"+l);

// kayar noktalı sayılar
float pi = 3.14f; // 4byte,f koymazsak çalışmaz.
// otomatik olarak double yapıyor.
double d = 3.14d; // 8byte
System.out.println("float:"+pi);
System.out.println("double:"+d);
// Character
char gender = 'm';
System.out.println("character:"+gender);
// Bool
boolean bool = false; // true // 1byte
System.out.println("boolean:"+bool);

// String
String firstName="Ali";
String lastName="Veli";
System.out.println(firstName+" "+lastName);
System.out.println("Bana dedi ki \n \"sen buraya gel\"");

               /*int x = 10;
{
int x = 0;
System.out.println(x);
}
{
int x = 20;
System.out.println(x);
}
*/

/*
int x = 10;
int y = 20;
System.out.println(x+y);
*/

// TYPE CASTING

          Türler arasında dönüştürme yapılması işlemine type casting deniliyor. Bunun için hafızada                   kapladığı alanı daha küçük olan değişken , daha büyük bir değişken türüne dönüştürülmelidir.              Aksi takdirde veri kaybı olması ihtimali vardır. 

// IMPLICITLY CASTING
                // implicitly = kesin olarak , tam olarak
/*
byte bNumber = 12;
int iNumber = bNumber;
System.out.println(iNumber);
*/


// EXPLICITLY CASTING

//Veri kaybı olma ihtimali olan durumlarda
//compiler kodu derlemiyor. Derlemesi için casting
//operatörünün kullanılması gerekiyor.

int iks = 1034;
// 00000000 00000000 00000100 00001010
byte be = (byte)iks;
System.out.println(be);

int posX = 12;
float posY = posX;
System.out.println(posY);

System.out.println((int) pi);

}
}


OPERATÖRLER

public class Operators{
public static void main(String[] args)
{
  // Aritmetic operators
  int x = 10;
  int y = 3;
  System.out.println(x+y);
  System.out.println(x-y);
  System.out.println(x*y);
  System.out.println(x/y);
  System.out.println(x%y);
  System.out.println(++x); // prefix postfix
           /* ++ operatörü x değişkeninin önüne geldiği için ilk önce x'i bir arttırır , sonra x ile ilgili bir                işlem yapılacaksa onu yapar. */
  System.out.println(x--);
           /* Burada x ile ilgili işlem yapılır daha sonra x bir azaltılır.

  x=x+1;
  x+=5; // x 5 arttırılır , yine x değişkenine atanır.
  x-=5;  // x 5 azaltılır , yine x değişkenine atanır.
  x*=5; // x 5 ile çarpılır , yine x değişkenine atanır.
  x/=5;  // x 5'e bölünür , yine x değişkenine atanır.

  // Bitwise operators
   byte k = 10 ;
  // 0000 1010
  // 1111 0101
  System.out.println(~k); // bitwise unary NOT

  byte a = 10; // 0000 1010
  byte b = 20; // 0001 0110
               // 0000 0010 &
//
  System.out.println(a&b); // binary AND
  System.out.println(a|b); // binary OR
  System.out.println(a^b); // binary XOR
     
  byte q = 16;
  System.out.println(q>>2);
  System.out.println(q<<2);

  // Relational Operators{
  int a1 = 10;
  int b1 = 20;
  System.out.println(a1==b1);
  System.out.println(a1!=b1);
  System.out.println(a1>b1);
  System.out.println(a1<b1);
  System.out.println(a1>=b1);
  System.out.println(a1<=b1);

// Logical Operators
System.out.println(true & false);
System.out.println(true | false);
System.out.println(true ^ false);
System.out.println(!true);
System.out.println(false && false);
System.out.println(true || false);

System.out.println(true? "true":"false"); // ternary if
                /* Ternary if ifadesi yazım kolaylığı sağlamaktadır. iften pek farkı yoktur. Eğer iki koşullu                  bir durum varsa , kullanılması tavsiye edilebilinir. Soru işaretinden önceki ifade doğru ise                    true değilse false geri döndürür.  
}
}

public class Boxing{

/* Object diye bir değişken var. Bu değişkenin
özelliği içersinde her türlü tipte bilgiyi tutabiliyor.
Aşağıdaki örnekte önce int tipte bir değişken ataması 
yaptık , daha sonra aynı değişkene float bir değer ve 
    string ataması yaptık. Her seferinde değişken değeri 
    ekrana verildi. Program sıkıntısız çalışıyor ve bu verdiğimiz
    değerleri ekrana yazıyor. Bu işleme boxing deniyor. */

public static void main(String[] args)
{
  int x = 10;
  Object obj = x;
  System.out.println(obj);
  obj = 3.14;
  System.out.println(obj);
  obj = "Koray Kara";
  System.out.println(obj);
}
}

JAVA DIARY - 2

Class kodlarının içersinde ana fonksiyonumuzu public static void main olarak tanımlıyoruz. Parantezler içersinde görüldüğü gibi String[] ar...