Reklamlar

Programming with Java Operators and Strings(Java Operatorleri ve String mothodlari)

Etiketler: JAVA SE
Programming with Java Operators and Strings(Java Operatorleri ve String mothodlari)
programming-with-java-operators-and-stringsjava-operatorleri-ve-string-mothodlari

Programming with Java Operators and Strings(Java Operatorleri ve String mothodlari)

Fundamental Operators 
  1.   Assignment operators (Atama Operatorler)
  2.  Arithmetic operators (Aritmatik Operatorler)
  3. Relational operators (Iliskisel Operatorler)
  4. Logical operators (Mantiksal Operatorler)
1 .  Assignment Operators(Atama Operatorleri)
  • =
  • +=
  • -=
Degiskenelere degere atamak icin kullanilir.
boolean isA = true;
byte b = 20;
HelloWord  hw = new HelloWord();
 - Compound Assignment Operations(Birlesik Atama Operatoru) : 
  •   +=
  •   -=
a = a + 5 
a= a - 5 
  - Other Java Assigment Operators Such As : >>= , <<= , += , -= , *= , /= , %= , ^= , |= , &= , >>>=
 
2 .  Arithmetic operators (Aritmatik Operatorler) : 
- Basic Arithmetic Operators 
  • + addition (sum) operator
  • - subtraction (difference) operator
  • * multiplication (product) operator
  • / division (quotient) operator
  • % modulus (remainder) operator
int a = 50;
int b = 25;
int c;
c = a + b; //addition (sum) operator
c = a - b; //subtraction (difference) operator
c = a * b;// multiplication (product) operator
c = a / b;  /// division (quotient) operator
c = a % b; //   modulus (remainder) operator

 - Prefix Increment, Postfix Increment, Prefix Decrement, and Postfix Decrement Operators 
  • ++x prefix increment operator
  • --x prefix decrement operator
  • x++ postfix increment operator
  • x-- postfix decrement operator
int x = 10;
int y = ++x ;
System.out.println("x=" + x + ", y=" + y); // x= 11, y= 11


int x = 10;
int y = x++ ;
System.out.println("x=" + x + ", y=" + y); // x= 11, y= 10



int x = 10;
int y = --x ;
System.out.println("x=" + x + ", y=" + y); // x= 9, y= 9



int x = 10;
int y = x-- ;
System.out.println("x=" + x + ", y=" + y); // x= 9, y= 10
Relational Operators



3 .  Relational operators (Iliskisel Operator) : Bu operator geriye Boolean tipinde degerler dondurur bu operatorlar 4 kisimdan olusur.
  •  <  “less than” operator
  • <= “less than or equal to” operator
  • > “greater than” operator
  • >= “greater than or equal to” operator
- Equality Opertors : Esitlenebilecek primitif tipler number , character , boolean
  • ==
  • !=
==   operatoru sag ve solundaki veri tipleri ayni tipte ve birbirine esitse true diger durumda ise false dondurur.
!= operatoru sag ve so;undaki degerler esit degil ise true diger durumda false dondurur. 

int value = 12;
/* boolean comparison, prints true */
System.out.println(true == true);
/* char comparison, prints false */
System.out.println('a' != 'a');
/* byte comparison, prints true */
System.out.println((byte)value == (byte)value);
/* short comparison, prints false */
System.out.println((short)value != (short)value);
/* integer comparison, prints true */
System.out.println(value == value);
/* float comparison, prints true */
System.out.println(12F == 12f);
/* double comparison, prints false */
System.out.println(12D != 12d);


4 . Logical operators (Mantiksal Operatorler) : Bu operator geriye Boolean tipinde degerler dondurur 
  •  && logical AND (conditional-AND) operator
  • || logical OR (conditional-OR) operator 
&& = Ve
/* Assigns true */
boolean and1 = true && true;
/* Assigns false */
boolean and2 = true && false;
/* Assigns false, right operand not evaluated */
boolean and3 = false && true;
/* Assigns false, right operand not evaluated */
boolean and4 = false && false; 




 || = Veya
/* Assigns true, right operand not evaluated */
boolean or1 = true || true;
/* Assigns true, right operand not evaluated */
boolean or2 = true || false;
/* Assigns true */
boolean or3 = false || true;
/* Assigns false */
boolean or4 = false || false; 


-Logical Negation Operator : ! bu operator degil demektir bir boolean degerin degilini olusturur. yani boolean a = true ; burada a true degeridir ama su sekilde olursa !a o zaman true olan degeri false olur. 

System.out.println(!false); // Prints true
System.out.println(!true); // Prints false
System.out.println(!!true); // Prints true
System.out.println(!!!true); // Prints false
System.out.println(!!!!true); // Prints true 


Developing with String Objects and Their Methods(String classinin methodlari) : Java dilinde en cok kullanilan ifade String ifadesidir. Biz bu bolumde String ifadesinin nasil kullanildigini hangi methodlara sahip oldugunu ve bu methodlarin ne ise yaradigi konusunu inceliyecez.
  • Strings
  • String concatenation operator
  • Methods of the String class
Strings : string veri tipi  "" isareti icinde verileri alan bir veri tipidir  bir cok tanimlama sekli var 
String name1 = "Abdulkadir Selcukoglu";
String name2 = new String("Abdulkadir Selcukoglu");
String name3 = new String();
name3 = "Abdulkadir Selcukoglu";

String ifadesi bu intefaceleri implement eder
  • java.io.Serializable
  • Comparable
  • CharSequence
CharSequence intefacesinin super intarfaceleri
  • String 
  • StringBuffer
  • StringBuilder
String concatenation operator(Stringleri birbirine baglama) : Iki string ifadeyi birbirine baglamak icin kullanilir. + isareti ile iki String birbirine baglar
String name = "Abdulkadir";
String surname = "Selcukoglu";
System.out.println(name+surname);
//Ekranda "Abdulkadir Selcukoglu" yazar.

- Methods of the String Class(String sinifinin methodlari) : 
  • chatAt
  • indexOf
  • length
  • replace
  • startWith
  • endWith
  • substring
  • trim
  • concat
  • copyValueOf
  • toCharArray
  • toLowerCase
  • toUpperCase
  • split
  • compareTo
  • contains
  • getBytes
  • isEmpty
  • format
- chatAt : Bu method geriye char tipinde bir deger yollar bu methodun bir parametresi var bu parametre init tipindedir ve girilen degerin String karekterimizde kacinci sirada oldugunu geriye cevirir
String name ="Abdulkadir";
System.out.println(name.charAt(0));

System.out.println(name.charAt(2));

System.out.println(name.charAt(7));
System.out.println(name.charAt(9));

 Ekranda A , d , d , r  gorunecek
-indexOf :Bu methot girilen ASIC degerini yada String ifadenin bizim string degiskenimizde kacinci yerde oldugunu gosterir.  Bu method asiri yuklenmus bir methottur.
public int indexOf(int ch) 
public int indexOf(int ch , int fromIndex)
public int indexOf(String srt)
public int indexOf(String srt , int fromIndex)  

Bu asiri yuklenmis methotlarin ikinci parametresi su manaya geliyor benim String degiskenimin n. harfinden sonra aramaya basla
String name = "Abdulkadir";
System.out.println(name.indexOf(65));

System.out.println(name.indexOf("b"));

System.out.println(name.indexOf(65,5));

System.out.println(name.indexOf("dul"));

System.out.println(name.indexOf("dul" 6));
Ekranda cevap olarak 2 , 3 , -1 , 4 , -1 olacak
 - length : Geriye int bir deger donderir. Bu methot bizim String degiskenimizde kactane karekte oldugunu dondurur. String degiskenimizdeki bosluklar dahil tum karekterlerin sayisini verir.
 String name = "Abdulkadir Selcukoglu";
System.out.println(name.length());
Ekranda sonuc 21 oluString name = "Abdulkadir Selcukoglu";

  String name = "  Abdulkadir Selcukoglu  ";
System.out.println(name.length());
Ekranda sonuc 25 olur cunku iki tane basinda iki tane sonunda birtanede ortasinda toplam 5 bosluk var

- replace : Bu method String degiskenimizde istenilen harfi yada Stringi istenilen harf yada sozcuk degistirmek icin kullanilir. iki parametresi var birinci String degiskenimizde degtirmek istedigimiz harf yada sozcuk ikincisi ise bu degistirmek istedigimiz yerine gelecek harf yada sozcuk
public String replace(char  oldChar , char newChar)
public String replace(CharSequence  target, CharSequence replacement)

String s = "aaabbbccc"




System.out.println(s.replace("b","t"));


System.out.println(s.replace("bbb","d"));
 - startsWith :  Istanilen bir karekterin yada kelimenin String degiskenimiz ilk karekterinden itibaren var olup olmadigin ogrenmek icin kullanilir. Geriye boolean tipinde bir deger dondurur. Eyer varsa true eyer yoksa false dondurur. 
public boolean startsWith(String prefix)
public boolean startsWith(String prefix , int toffset)
String name ="Abdulkadir Selcukoglu";
        System.out.println(name.startsWith("Sel"));        // 1
        System.out.println(name.startsWith("Ab"));      
// 2
        System.out.println(name.startsWith("Bir"));       // 3
        System.out.println(name.startsWith("Abdul"));  // 4
        System.out.println(name.startsWith("kadir"));   // 5
        System.out.println(name.startsWith("Abe"));    //6

//CONSOLE
false    // 1
true     // 2
false    // 3
true     // 4
false    // 5
false    // 6

  - endsWith : Verilen String degiskeninde sonra en son harften geriye dogru istenilen kelimenin veya harfin var olup olmadigini ogrenmek icin kullanilir. Geriye boolean tipinde deger dondurur. eyer varsa true yoksa false dondurur. 
public boolean endsWith(String prefix)
public boolean endsWith(String prefix , int toffset)
  String name = "Abdulkadir Selcukoglu";
        System.out.println(name.endsWith("u"));              // 1
        System.out.println(name.endsWith("lu"));             // 2
        System.out.println(name.endsWith("oglu"));         // 3
        System.out.println(name.endsWith("dir"));           // 4
        System.out.println(name.endsWith("kadir"));       // 5
        System.out.println(name.endsWith("Abdul"));     // 6
        System.out.println(name.endsWith("Sel"));         // 7

//CONSOLE
true    // 1
true   
// 2
true    // 3
false   // 4
false   // 5
false   // 6
false   // 7

Burada dikkat edilmesi gerekenString degiskenimizin en son harfinden sonra var olup olmadigin bakiyor.


- substring : String degiskenimizi istenilen indexten sonra yada istenilen araliktaki karekterleri okumak icin kullanilir.
String name = "Abdulkadir Selcukoglu";
        System.out.println(name.substring(2));     
        System.out.println(name.substring(2,7));
        System.out.println(name.substring(3,13));
        System.out.println(name.substring(0,11));
        System.out.println(name.substring(0));
        System.out.println(name.substring(11));
 
//CONSOLE
dulkadir Selcukoglu
dulka
ulkadir Se
Abdulkadir
Abdulkadir Selcukoglu
Selcukoglu

Not : Bu methotta iki parametre var ve bu araliktaki String degereleri alirken birinci deger istenilen index'teki deger dahildir ama iki parametredeki deger dahil degildir yani substring(2,7) yazilmis ise 2. index teki deger ekranda gosterilir ama 7 indesteki ekranda gosterilmez 6 indexteki gosterilir 


- trim :   String degiskenimizin basindaki ve sonundaki bosluklari kaldirmak icin kullanilir.
String name = "     Abdulkadir Selcukoglu      ";
        System.out.println(name);
        System.out.println(name.trim());
// CONSOLE
      Abdulkadir Selcukoglu      //ilk halinde trim kullanilmadigi icin bosluklar ile beraber ekranda yazildi
Abdulkadir Selcukoglu           // Ikinci halinde ise trim kullanilinca bastaki ve sondaki bosluklar kaldirirldi

- concat : Bir String ifadenin sonuna istenilen String ifadeyi eklemek icin kullanilir. 
String name = "Abdulkadir";
        System.out.println(name);
        System.out.println(name.concat(" Selcukoglu"));


// CONSOLE 
 Abdulkadir
Abdulkadir Selcukoglu


- copyValueOf :  Bu method istenilen String bir ifadeye  char dizisi tipinde bir degeri  kopyalamk icin kullanilir
String name = "Abdulkadir";
        String c = null;
        System.out.println("Sonuic : "+c);
        System.out.println("Sonuic : "+c.copyValueOf(name.toCharArray()));


 // CONSOLE
Sonuic : null
Sonuic : Abdulkadir


- toCharArray : Bu method bir String ifadeyi char dizinine cevirmek icin kullanilir.
String name = "Abdulkadir";
for(char c : name.toCharArray()){
   System.out.println(c);
}

//CONSOLE 
A
b
d
u
l
k
a
d
i
r

- toLowerCase :  Bir String ifadenin butun harflerini kucuk harfe cevirir.

String name = "Abdulkadir Selcukoglu";
System.out.println(name.toLowerCase()); 

//CONSOLE
abdulkadir selcukoglu

- toUpperCase :  Bir String ifadenin butun harflerini buyuk harfe cevirir.
 
String name = "Abdulkadir Selcukoglu";
System.out.println(name.toUpperCase());

//CONSOLE
 ABDULKADIR SELCUKOGLU

 Not : toLowerCase , toUpperCase parametreli olan asiri yuklu bir methodu var bu parametre Locale tipinde bir parametre ve istenilen dili eklemek icin kullanilir


- format :Bu methot bir String' e ekranda nasil bir sekil kalipta gorunmesini saglar.

String list[] ={"Abdulkadir" , "Ertugrul"};
String s = null;
System.out.println(s.format("Hos Geldin %s and %s", list));

//CONSOLE
Hos Geldin Abdulkadir and Ertugrul

--------------------------------------------------------------------------------------------------
String date = null;
System.out.println(date.format("Yerel Saat : %tT",Calendar.getInstance() )); 

//CONSOLE
Yerel Saat : 15:32:18


-------------------------------------------------------------------------------------------------- 
Calendar c = new GregorianCalendar(1983,00,06);
String date = null;
System.out.println(date.format("Dogum Gunu : %tD",c ));

//CONSOLE
Dogum Gunu : 01/06/83

--------------------------------------------------------------------------------------------------   
 String date = null;
 long n=123;
 System.out.println(date.format("%06d%n",n ));

//CONSOLE
 000123

- split : Bu method bir string ifadede istenilen karekterden sonrakilerini bir diziye atmayi saglar misal icin bir isim listesi var  String list ="Abdulkadir , Ertugrul , Rasim , Nazim";  ve dikkat edilece olursa bu String ifadede her isim bir virgül ile ayrilmis ben split methodunu kullananrak diyecem virgulden sonraki veriyi bir String dizisine atacak ve her okuma sirasinda veriyi okuyacak ve virgül gorunce yeni bir dizi index atacak

String list ="Abdulkadir,Ertugrul,Rasim,Nazim";
for(String name : list.split(",")){
    System.out.println(name);

}


//CONSOLE
Abdulkadir
Ertugrul
Rasim
Nazim


- compareTo :  iki String ifadenin ayni olup olmadigini kontrol eder ayni ise pozitif bior deger donderir farkli ise negatif cevap dondurur. 
       String s1 ="Abdulkadir Selcukoglu";
       String s2 ="abdulkadir Selcukoglu";
       String s3 ="abdulkadir selcukoglu";
       String s4 ="Abdulkadir Selcukoglu";
       String s5 ="Selcukoglu";
       String s6 ="Abdulkadir";
       System.out.println(s1.compareTo(s2));
       System.out.println(s1.compareTo(s3));
       System.out.println(s1.compareTo(s4));
       System.out.println(s1.compareTo(s5));
       System.out.println(s1.compareTo(s6));


//CONSOLE
-32
-32
0
-18
11


- contains : Istenilen bir String ifadenin icerisinde bir harfin , bir kelimenin yada herhangi bir ifadenin var olup olmadigini ogrenmek ici kullanilir. Geriye boolean tipinde bir deger gonderir. 


       String list ="Abdulkadir,Ertugrul,Rasim,Nazim";
       System.out.println(list.contains("Ab"));
       System.out.println(list.contains("Er"));
       System.out.println(list.contains("dir"));
       System.out.println(list.contains("Ertugrul"));
       System.out.println(list.contains("Nazim"));
       System.out.println(list.contains("Rasim"));
       System.out.println(list.contains("Ra"));
       System.out.println(list.contains("Deneme"));

//CONSOLE
true
true
true
true
true
true
true
false


- getBytes : Bir String ifadeyi byte dizisine cevirir.
       String name ="Abdulkadir";
       for(byte b : name.getBytes()){
            System.out.println(b);
       }



//CONSOLE
65
98
100
117
108
107
97
100
105
114


- isEmpty : Bir String ifadenin icerdigi bir degerin var olup olmadigina bakiyor. Eger bos ise true eyer dolu ise false dondurur.
       String name ="Abdulkadir";
       String surname = "";
       System.out.println(name.isEmpty());
       System.out.println(surname.isEmpty());


// CONSOLE
false
true

 

Tartışma

Merhaba,

verilen örneklerde hemen bir hata gözüme çarptı:
String name = "Abdulkadir";
String surname = "Selcukoglu";
System.out.println(name+surname);
//Ekranda "Abdulkadir Selcukoglu" yazar. Ekrana bu çıkmaz tabii ki. "AbdulkadirSelcukoglu" çıkması gerekir.

Bu arada string operasyonları için daha iyi implemente edilmiş ve daha çok operasyon içeren apache'nin StringUtils paketini de kullanabilirsiniz.

iyi akşamlar
Babür



ya da
CAPTCHA Images