Skip to content

Commit ae5b895

Browse files
author
Necmiye Soylu
committed
.
1 parent 5376c8e commit ae5b895

File tree

7 files changed

+81
-27
lines changed

7 files changed

+81
-27
lines changed

array.class

299 Bytes
Binary file not shown.

array.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
public class array
2+
{
3+
public static void main(String [] Soylu)
4+
{
5+
int[] a=new int[5];
6+
int[] aa={1,2,3};
7+
int[] aaa=new int[]{1,2};
8+
}
9+
}

arrayLength.class

988 Bytes
Binary file not shown.

arrayLength.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
public class arrayLength
2+
{
3+
public static void main(String[] Soylu)
4+
{
5+
int[][] aa={{1,2},{3,4}};
6+
7+
for(int i=0;i<aa.length;i++)
8+
for(int j=0;j<aa[0].length;j++)
9+
System.out.print(aa[i][j]+" ");
10+
}
11+
}

array_length.class

939 Bytes
Binary file not shown.

array_length.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
public class array_length
2+
{
3+
public static void main(String[] Soylu)
4+
{
5+
int a[]=new int[]{1,2,3,4,5};
6+
for(int i=0;i<a.length;i++)
7+
System.out.print(a[i]+" ");
8+
}
9+
}

javaSyntax.md

Lines changed: 52 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -74,21 +74,30 @@ Genel mantık bu şkeilde. charAt() fonksiyonununa gelince buarada paremetre ola
7474
tipik char, int, float, double, char var. C'den farklı olarak boolean ve String var. boolean c++'dakı bool. true, false iki şekilde olabiliyor. String ise adı üstünde string oluşturmamız sağlıyor. boyle ayrı bir değişken tipinin olması bize C'den farklı ozellikler kazandırıyor. String herhangi bir fonksiyon kullanılmadan değiştiribiliyor. ancak char dizisini string gibi kullanamıyoruz vb. buna string başlılığı altında detaylı değiniyorum. değişken tipler [örenk](https://github.com/NecmiyeSoylu/java_examples/blob/master/veriTipleri.java)
7575

7676
### Döngüler
77-
bunun üzerinde durmeyeacağım for, while, do while, break. continue, switch hatta if else C'dekinin aynısı syntax 'ta dahil olmak üzere hiçbir fark yok. [örnek](https://github.com/NecmiyeSoylu/java_examples/blob/master/loops.java) [örnek](https://github.com/NecmiyeSoylu/java_examples/blob/master/loops2.java)
77+
bunun üzerinde durmayacağım for, while, do while, break, continue, switch hatta if else C'dekinin aynısı syntax 'da dahil olmak üzere hiçbir fark yok. [örnek](https://github.com/NecmiyeSoylu/java_examples/blob/master/loops.java) [örnek](https://github.com/NecmiyeSoylu/java_examples/blob/master/loops2.java)
7878

7979
### Diziler
80-
C'de olduğu her tipten dizi oluşturabiliriz. yine [] parantezini kullanırız C'den farklı olarak []'in içine boyutu yazmayız:)
81-
82-
int[] a;
83-
float[] b;
84-
char[] c;
85-
86-
gibi. int a[]; yazımıda doğrudur. hata almayız. özellikleri C'deki ile aynı. sadece char dis
87-
disinde farklılık var.C'de string diye bir değişken tipi yoktu. O yüzden Char dizisi aynı zamanda string olaark kullanılıyordu. Char dizisi hem kendi özelliklerine hem string'in özelliklerine sahşpti diyebşliriz. Java'da ise String özelliklerine String sahiptir. char dizisi isse sadece char dizisine ait özelliklere sahip, stringin özelliklerini taşımaz.
80+
degisken_tipi [] dizi_adı; şeklinde oluşturulur. Her değişken tipinde oluşturulabilir. dizi mantığı kullanımı, C ile aynı sadece initialing kısmında bir farklılık var.
81+
int[] a;// dikkat edelim [indis değeri yazmadık]
82+
int[] a={1,2,3};
83+
int[] a=new int[2];// new kullanırken boyut belirttik
84+
int[] a=new int[]{1,2,3};// initialize edeceksek new kullansakta boyut yazmadık
85+
Şahsen aklımda şöyle kalıyor initilize edeceğimiz yerde java ben zaten kaç tane olduğunu görüyorum daha niye yazıyosun diyor :)) int a[]; yazımıda doğrudur. hata almayız. özellikleri C'deki ile aynı. sadece char dizisinde ufak farklılıklar var.
86+
C'de string diye bir değişken tipi yoktu. O yüzden Char dizisi aynı zamanda string olarak kullanılıyordu. Char dizisi hem kendi özelliklerine hem string'in özelliklerine sahipti diyebşliriz. Java'da ise String özelliklerine String sahiptir. char dizisi isse sadece char dizisine ait özelliklere sahip, stringin özelliklerini taşımaz.
8887

8988
- char a[]="soylu"; yanlış "" bu tırnak string için kullanılır
90-
- char a[]='soylu'; yanlış çünkü uzun tek karakter olmalı
89+
- char a[]='soylu'; yanlış çünkü uzun. Tek karakter olmalı
9190
- char a[]={'s','o','y','l','u'}; doğru :)) işte böyle yola gel 😁
91+
Yazdırmaya alakalıda bize kolaylık sağlaycak bir fonksiyonıumuz var *length*
92+
public class array_length
93+
{
94+
public static void main(String[] Soylu)
95+
{
96+
int a[]=new int[]{1,2,3,4,5};
97+
for(int i=0;i < a.length;i++)
98+
System.out.print(a[i]+" ");
99+
}
100+
}
92101

93102
Çok boyutlu dizilere gelirsek. Burasıda aynı.
94103
int[][] aa;
@@ -105,19 +114,33 @@ char[][] aa;
105114
int[][] matris1={{1,2},{3,4}};
106115
int[][] matris2=new int[2][2];
107116
int[][] matris3=new int[row][column];
117+
int[][] matris4=new int[][]{{1,2},{3,4}};
108118
int[][] matris5;
119+
109120
matris5=new int [3][3];
110121
}
111-
//sanırımm syntax anlaşılır oldu. Dikkat edeceğimiz new kullandığımız yerde initializing yapamayız
122+
//sanırımm syntax anlaşılır oldu. Dikkat edeceğimiz new kullandığımız yerde initializing yapacaksak boyut yazmayız
112123
// c'den net farkı
113124
// *)int a[2][2]; şklinde tanımlama yapamayız!
114-
// *)new malloc gibi olduğu için new ile yer alarak değişken size/ı kadar yer alınabilir.
115-
// *)int[][]m; şeklinde pekte gözümüzün alışkın olmadığı bir tanımlama doğru :)) ki anladığım kadarıyla yaygın olanda bu :)
125+
// *)new malloc gibi olduğu için new ile yer değişken kadar yer alınabilir.
126+
// *)int[][] m; şeklinde pekte gözümüzün alışkın olmadığı bir tanımlama doğru :)) ki anladığım kadarıyla yaygın olanda bu :)
127+
C'de atama yapmazsak rastgele sayılar atar. Ancak Java'da atma yapmadığımızda 0 atar. *length* fonksiyonunu burada da kullanabiliriz
128+
public class arrayLength
129+
{
130+
public static void main(String[] Soylu)
131+
{
132+
int[][] aa={{1,2},{3,4}};
133+
134+
for(int i=0;i<aa.length;i++)
135+
for(int j=0;j<aa[0].length;j++)
136+
System.out.print(aa[i][j]+" ");
137+
}
138+
}//dikkat edelim aa.length bize satır sayısını, aa[0].length bize sutun sayısını verir.
116139

117140
### String
118141
Geldi gönlümün efendisi :)
119-
C'de normal string yapacağımız zaman char[] yapıyorduk. char str[]="necmiye"; gibi. Bu sabit oluyordu ve daha sonra değiştirileiyordu. İstediğimiz zaman %s ile direkt yazdırabiliyor yada istediğimiz elemana str[2] diyerek ulaşbiliyorduk. ayrıca elmanlı bir char dizisi değimiz zaman hem char a[2]=('n','s'); hem char a[2]=("necmiye","soylu"); mümkündü.
120-
Burada ise String tanımladığımız zaman en önemli farkı isteğimiz zaman değiştirebiliyor. atamayı istediğimiz zaman yapabiliyoruz.[örenk](https://github.com/NecmiyeSoylu/java_examples/blob/master/initialize_.java) [örnek2](https://github.com/NecmiyeSoylu/java_examples/blob/master/stringArray.java)ikinci örnek daha iyi :))
142+
C'de normal string yapacağımız zaman char[] yapıyorduk. char str[]="necmiye"; gibi. Bu sabit oluyordu ve daha sonra değiştirilemiyordu. İstediğimiz zaman %s ile direkt yazdırabiliyor yada istediğimiz elemana str [2] diyerek ulaşbiliyorduk. ayrıca 2 elmanlı bir char dizisi değimiz zaman hem char a[2]=('n','s'); hem char a[2]=("necmiye","soylu"); mümkündü.
143+
Burada ise String tanımladığımız zaman en önemli farkı isteğimiz zaman değiştirebiliyor, atamayı istediğimiz zaman yapabiliyoruz.[örenk](https://github.com/NecmiyeSoylu/java_examples/blob/master/initialize_.java) [örnek2](https://github.com/NecmiyeSoylu/java_examples/blob/master/stringArray.java)ikinci örnek daha iyi :))
121144
public class initialize_
122145
{
123146
public static void main(String[] args)
@@ -134,7 +157,8 @@ Burada ise String tanımladığımız zaman en önemli farkı isteğimiz zaman d
134157
str1="KBU";
135158
}
136159
}//aklıma gelen tüm atama şekillerini yazdım :))
137-
Stringin tek bir elamanına ulaşmak istersiek charAt() fonksiyonunu kullanırız. paremetre olarak ulaşmak istediğimiz elmanın indexini göndeririz. orneğin tek bir elemanını yazdırmak için System.out.println(str1.charAt(0)); CharAt() fonkisiyonu bizden indexi alır ve ulaştığı char'ı dödürür. bu yüzden bu fonksiyonla Stringin bir belirli elemanını değiştiremeyiz. Bunun için dolaylı yöntemler kullanıcaz. setCharAt(index,'yeni_karakter') fonksiyonu. ancak bu fonksiyon StringBuilder tipinde kullanılabilir. o zaman bu tipte yeni bir string oluturur sonra stringini buna atar ve değiştirirsin. aşşağıda incelerseniz daha net olur.
160+
Stringin tek bir elamanına ulaşmak istersiek charAt() fonksiyonunu kullanırız. paremetre olarak ulaşmak istediğimiz elmanın indexini göndeririz. orneğin tek bir elemanını yazdırmak için System.out.println(str1.charAt(0)); şeklinde yazabiliriz.
161+
CharAt() fonkisiyonu bizden indexi alır ve ulaştığı char'ı döndürür. bu yüzden bu fonksiyonla Stringin belirli bir elemanını değiştiremeyiz. Bunun için dolaylı yöntemler kullanıcaz. setCharAt(index,'yeni_karakter') fonksiyonu bunlardan biri. ancak bu fonksiyon StringBuilder tipinde kullanılabilir. O zaman bu tipte yeni bir string oluturur sonra stringini buna atar ve değiştirirsin. aşşağıdaki öreneği incelerseniz daha net olur.
138162
public class string_eleman
139163
{
140164
public static void main(String[] args)
@@ -147,8 +171,8 @@ Stringin tek bir elamanına ulaşmak istersiek charAt() fonksiyonunu kullanırı
147171
str=str_new;
148172
}
149173
}
150-
uzatma yahu direkt str=str2; yap dersen, malesef tipleri farklı olduğu bu şekilde bir atama yapamıyoruz. bole new kullanarak dolaylı yoldan kopyalıyoruz :))
151-
gelelim string dizisine. ops! string zaten dizi değil miydi?😳 hayır dostum değil. string bir değişken tipi bu yüzden tek bir elemanına ulaşırken karnımız çatlıyo. bak şimdi string dizisinin bir elmanına ulaşırken hiç sorun yaşamıyıcaz çünkü normal bir dizi :))
174+
uzatma yahu direkt str=str2; yap dersen, malesef tipleri farklı olduğu için bu şekilde bir atama yapamıyoruz. boyle new kullanarak dolaylı yoldan kopyalıyoruz :))
175+
gelelim string dizisine. ops! string zaten dizi değil miydi?😳 Hayır dostum değil. string bir değişken tipi. Zaten bu yüzden tek bir karaketerine ulaşmak istediğimizde karnımız çatlıyo. Bak, şimdi string dizisinin bir elmanına ulaşırken hiç sorun yaşamıyıcaz çünkü normal bir dizi :))
152176
public static void main(String[] Soylu)
153177
{
154178
String[] dizi={"atama","sekli"};
@@ -160,8 +184,8 @@ gelelim string dizisine. ops! string zaten dizi değil miydi?😳 hayır dostum
160184

161185
dizi2[1]="ata"; //değiştirdim işte :))
162186
}
163-
nasıl yazdırıcaz dersen C'de yaptığımız gibi döngüye sokup elemanları tek tek yazdırabilirsin. yada Arrays.toString() fonksiyonunu kullanabilirsin. ancak direkt print(str) şeklinde yazdıramzsın. inceleyelim
164-
import java.util.Arrays;// fonksiyon için kütüphanemizi dahil ediyoruz :))
187+
nasıl yazdırıcaz dersen C'de yaptığımız gibi döngüye sokup elemanları tek tek yazdırabilirsin. Yada *Arrays.toString()* fonksiyonunu kullanabilirsin. ancak direkt print(str) şeklinde yazdıramzsın. İnceleyelim.
188+
import java.util.Arrays; // fonksiyon için kütüphanemizi dahil ediyoruz :))
165189
public class stringPrint
166190
{
167191
public static void main(String[] Soylu)
@@ -180,8 +204,8 @@ nasıl yazdırıcaz dersen C'de yaptığımız gibi döngüye sokup elemanları
180204
* [Ljava.lang.String;@251a69d7
181205
* [necmiye, soylu, kbu]
182206
*/
183-
çok boyutlu String dizi. String[][] str; şeklinde oluşturulur. Yine parantezlerin içine sayı yazılmaz.
184-
String[][] str={{"necmiye",soylu"},{"kbu","mühendislik"},{"bligisayar","mühendisligi"}}; şeklinde initilize edebililriz. yazdırmaya gelince deepToString() fonksiyonunu kullanıcaz
207+
Çok boyutlu String dizi. String[][] str; şeklinde oluşturulur. Yine parantezlerin içine sayı yazılmaz.
208+
String[][] str={{"necmiye",soylu"},{"kbu","mühendislik"},{"bligisayar","mühendisligi"}}; şeklinde initilize edebililriz. yazdırmaya gelince *deepToString()* fonksiyonunu kullanıcaz
185209
import java.util.Arrays;
186210
public class stringPrintMulti
187211
{
@@ -194,13 +218,13 @@ String[][] str={{"necmiye",soylu"},{"kbu","mühendislik"},{"bligisayar","mühend
194218
/* Output
195219
* [[necmiye, soylu], [kbu, muhendislik], [bilgisayar, mühendislik]]
196220
*/
197-
şşş sakince [örneğe](https://github.com/NecmiyeSoylu/java_examples/blob/master/tryForString.java) tıkla.
221+
şşş sakince [örneğe](https://github.com/NecmiyeSoylu/java_examples/blob/master/tryForString.java) tıklayınız.
198222

199223
### Fonksiyonlar
200224
C'deki fonksiyonları biliyorsun. Burada da aynı *return_tipi Fonksiyon_adi(paremetre_listesi)* bu tipi yine kullanıyoruz bunaek olarak. Dikkat edersen main'in başına static yazmıştık, bir metodun da mainden çağırılabilmesi için static olması gerekiyor. (başına static yazıyoruz yani :)) Birde erişim belirteçleri var. yine main üzerinden bakacak olursak public static void main diyoruz buaraki public erişim belirtecidir. Diğer sınıflardan da erişilebilir olduğunu gösterir. metodlarını yazarklen bunu belirtmek zorunda değilsin bu aşamada bu önemli değil. oop kısmına geçince bundan detaylı bahsederiz.
201225
public static void main()
202226
{
203-
int a=10, b=20, c;
227+
int a=10, b=20, c;s
204228
c=addition(a,b);
205229
}
206230
static int addition(int x, int y)
@@ -234,8 +258,8 @@ call by refarence aynı. Değişkeni direkt gönderirsen kopyalar. değişken ü
234258
call by refarance yapmak için dizinin direkt ismiyle gönderebiliriz. yada aynı class içindeyse fonksiyon direkt değişkenşn kendisine ulaşabiliyor ya öyle değiştirebiliriz. Yani burada pointer mantığını kullanamayız OOP yeteneğini konuştur diyor :)
235259
[örenk](https://github.com/NecmiyeSoylu/java_examples/blob/master/callByRefarence.java)
236260

237-
kolay geldi galiba biraz :) o zaman beyinleri yakalım🔥 konumuz generic metod. Normalde generic class faln dah çok oop kısmında kullanıcaz ancak burada da bir giriş yapalım.
238-
tipsiz fonksiyon oluştutucaz. yukarıda farklı tipte paremetrelere sahip fonksiyonlar yazdık burada ise kod partı ismi her şeyi aynı sadece paremetrelerin/retur'un tipi farklı olan metod yazmak istiyoruz. yahu adamların her şeyi aynı bir tek tip farklı bunun için farklı farklı fonksiyonlar mı yazalım? hayır yazmayalıımm:)) <> bu şekil ile tipini bizim belirleyeceğimiz metodlar yazılabliriz
261+
kolay geldi galiba biraz :) o zaman beyinleri yakalım🔥 konumuz generic metod. Normalde generic class falan daha çok oop kısmında kullanıcaz ancak burada da bir giriş yapalım.
262+
tipsiz fonksiyon oluşturucaz. yukarıda farklı tipte paremetrelere sahip fonksiyonlar yazdık burada ise kod partı ismi her şeyi aynı sadece paremetrelerin/retur'un tipi farklı olan metod yazmak istiyoruz. yahu adamların her şeyi aynı bir tek tip farklı bunun için farklı farklı fonksiyonlar mı yazalım? hayır yazmayalıımm:)) <> bu şekil ile tipini bizim belirleyeceğimiz metodlar yazılabliriz
239263
public class genericMethod
240264
{
241265
public static void main(String[] Soylu)
@@ -265,7 +289,7 @@ tipsiz fonksiyon oluştutucaz. yukarıda farklı tipte paremetrelere sahip fonks
265289
burada < tipsiz > diye bir genel tip belirledik. Fonksiyonda bu tipin kullanılacağını belirtmek için static'ten önce bunu yazdık C++'da < template > yazıyorduk ya o mantık. sonra normla int der gibi bu değişken tipini rahatlıla kullandık. < tipsiz > dediğimizde belli bir tip yoktu. biz bu fonksiyona int gönderdiğimizde artık o tipsiz den kasıt int oldu ve ona göre işleme devam etti. C++'taki template'den biraz farklı. C++'da template tipindeki değişkenlerle işlem yapabiliyordu. burada ise tipin n eolduğu belli olmadığı işlem yapamazsın diyor. Sadece aynı tipteki başka değişkene atama yapabliyoruz. işte buda daha çok class ve list kullanımı için.
266290
public class genericMethod3
267291
{
268-
static <generic, generic2> void fonk(generic a, generic2 b)
292+
static < generic, generic2 > void fonk(generic a, generic2 b)
269293
{
270294
System.out.println(a);
271295
System.out.print(b);
@@ -279,3 +303,4 @@ burada < tipsiz > diye bir genel tip belirledik. Fonksiyonda bu tipin kullanıla
279303
}
280304

281305
### Liste
306+

0 commit comments

Comments
 (0)