|
|
Birden fazla veri sıralı olarak saklanmak istenirse diziler kullanılır. Dizilerin declaration'u
Type[] name=new Type[Length];
biçiminde olur. Örneğin 10 elemanlı bir int dizisi
int[] a=new int[10];
şeklinde tanımlanır
Dizinin bir elemanına erişim de
name[i]
biçiminde gerçekleşir. Örneğin yukarıdaki dizinin 3. elemanının değerini 7 yapmak için.
a[3]=7;
yazmak yeterlidir.
Dizinin 5'inci elemanının değerine erişim de
int x=a[5];
biçiminde olur. Bir array'in değerlerini daha tanımlarken belirlemek mümkündür
int[] a=new int[10]{10,9,8,7,6,5,4,3,2,1 };
Bir array'in elemanlarını toplayan bir uygulama yazalım.
Göster Gizle Kopar Satır Gizle Satır Göster |
1 public class ArraySum{ 2 public static void main(String[] args){ 3 int[] a=new int[]{10,9,8,7,6,5,4,3,2,1 }; 4 int sum=0; 5 for(int i=0;i<a.length;i++){ 6 sum+=a[i]; 7 } 8 System.out.println("Sum of Array : "+ sum); 9 } 10 11 }
Array'ler de aslında bir nesnedir. Loop'ta kullanılan a.length ifadesinde a array'inin, array'in boyunu veren length adlı property'si kullanılmıştır.
Java'da herşey class'dır. Ancak class olarak kullanılmayan primitive type'lar da bulunur. Her primitive type'ın bir de class karşılığı bulunur ki bu type'la ilgili yapılabilecek işler bu class aracılığıyla yapılabilsin. Bu class'lara wrapper denir. İçlerinde bir primitive type tutma özellikleri vardır. Örneğin int tipine karşılık Integer class'ı vardır. Bu class'ın içinde int tipiyle ilgili çeşitli property ve methodlar bulunur. Bir String'in int'e veya bir int'in String'e dönüştürülmesi için birer method bulunur. Örneğin, kesirli bir sayı gösteren bir String'i kesirli bir sayı haline getirmek için
String s="1.5f"; float f=Float.parseFloat(s);
şeklinde bir işlem gereklidir. Bir integer'i String'e çevirmek için
int i2=2; String s2=Integer.toString(i2);
şeklinde bir kod yazılır.
Bir primitive tip yerine, wrapper'ı kullanılabilir.
Integer w=new Integer(2);
Daha sonra ilkel hali
int i=w.intValue();
şeklinde alınabilir. Dışardan argument olarak integer bir sayı alan program yapalım
Göster Gizle Kopar Satır Gizle Satır Göster |
1 public class IntegerSum{ 2 public static void main(String[] args){ 3 String a=args[0]; 4 int i=Integer.parseInt(a); 5 String b=args[1]; 6 int j=Integer.parseInt(b); 7 int sum=i+j; 8 System.out.println("Sum : "+sum); 9 } 10 }
Yazı veya metin denilen verileri saklamak için iki yol vardır. Ya char array'i kullanmak.
char[] c=new char[]{'J','a','v','a'};
veya String class'ını kullanmak
String s="Java"; String s=new String("Java");
String class'ı da aslında içerisinde bir character array taşır.
char[] c=new char[]{'J','a','v','a'}; String s=new String(c);
diyerek bir character dizisinde String üretebiliriz. Bir string'in character'lerine
char[] a=s.toCharArray();
şeklinde erişilebilir. String class'ı bu tip veri üzerinde ihtiyaç duyulabilecek bir çok method içermektedir. İçerisinde "JAVA 1.2" ifadesini içeren bir cumleyi, "Java 1.3" ile değiştirme uygulaması yapalım.
Göster Gizle Kopar Satır Gizle Satır Göster |
1 public class VersionUpgrader{ 2 public static void main(String[] args){ 3 String string="We use JAVA 1.2 in application development"; 4 String older="JAVA 1.2"; 5 String newer="Java 1.3"; 6 int start=string.indexOf(older); 7 String before=string.substring(0,start); 8 int finish=start+older.length(); 9 int end=string.length(); 10 String after=string.substring(finish,end); 11 String result=before+newer+after; 12 System.out.println("Result : "+result); 13 } 14 }
String.indexOf() methodu' belirtilen verilen String'in asıl String'in içinde hangi sırada basladığını gösteriyor. String.substring() bir String'in bir parçasını almak için, String.length() de character sayısını bulmak için kullanılır.
|
|