1. Tamsayı değişmezleri

Ve şimdi yeni ve ilginç bir konu için - değişmezler. Doğrudan program kodunda yazılan verilere hazır değerler denir . Herhangi bir eski veriden bahsetmiyoruz, ancak ilkel türlerin ve türün değerlerinden bahsediyoruz String.

Örneğin, aşağıdaki koda sahip olduğunuzu varsayalım:

kod değişmezler
int a = 5;
int b = a + 10;
String s = "Sum=" + (a + b);
5
10
"Sum="

Bu koddaki hazır değerler sayı , 5sayı 10ve '' dizesidir Sum = .

Java'da değişmez değerler dahil her şeyin bir türü vardır. Varsayılan olarak, koddaki tüm tamsayı sabit değerleri (tam sayılar) şeklindedir ints. int türü, standart Java tamsayı türüdür.

Dahası, kodunuzdaki bir bayt değişkenine veya bir kısa değişkene tamsayı sabit değeri atamaya karar verirseniz, sorun olmaz. Sadece değişmez değerin, değişken türünün saklayabileceği değerler aralığında olduğundan emin olmanız gerekir.

byteJava derleyicisi, bir değişkene sorun yaratmadan 100 tamsayısının atanabileceğini anlayacak kadar akıllıdır .

Örnekler:

kod Tanım
int a = 300;
Bu gayet iyi derlenecek.
byte a = 100; 
Bu gayet iyi derlenecek.
byte a = 300;
Maksimum bayt değeri 127 olduğu için bir derleme hatası olacaktır.

longAyrıca kodunuza hazır değerler de yazabilirsiniz . Bunu yapmak için, tamsayının sonuna Latince 'L' veya 'l' harfini ekleyin.

Örnekler:

kod Tanım
long a = 3000000000L; 
Bu gayet iyi derlenecek.
long a = 3000000000; 
Derleme hatası: 3 milyar, bir int hazır değeri için çok büyük.
int a = 3000000000L; 
Derleme hatası: hazır bilgi uzun, ancak değişken bir int. Ek olarak, 3 milyar maksimum int değerinden daha fazladır.

10 veya daha fazla basamaklı büyük sayıları okumanın ne kadar zor olduğunu fark ettiniz mi? Kodun 3 milyar mı yoksa 30 milyar mı yazdığını hemen anlayamazsınız. Java, kodu daha okunabilir hale getirmek için (ve bu önemlidir!) sayısal hazır değerlere alt çizgi eklenmesine izin verir (sayının değerini etkilemezler).

Yukarıdaki örnek, biraz daha anlaşılır olması için alt çizgilerle yeniden yazılabilir:

kod Tanım
long a = 3_000_000_000L; 
Bu gayet iyi derlenecek.
long a = 3_000_000_000; 
Derleme hatası: 3 milyar, bir int hazır değeri için çok büyük.
int a = 3_000_000_000L; 
Derleme hatası: hazır bilgi uzun, ancak değişken bir int. Ek olarak, 3 milyar maksimum int değerinden daha fazladır.

Ancak sayısal değişmezlerde virgül kullanamayız çünkü zaten başka bir amaç için kullanılıyorlar. Örneğin, bir metot çağrılırken argümanları birbirinden ayırmak için.



2. Gerçek sayı değişmezleri

Kodunuzda yalnızca tamsayıları değil, aynı zamanda kayan nokta değişmezlerini (gerçek sayılar) da belirleyebilirsiniz.

Aslında, kural oldukça basittir: koddaki bir sayının içinde bir ondalık nokta varsa, sayı bir kayan nokta değişmezidir. Ve sadece herhangi bir gerçek değil, aynı zamanda bir doublegerçek.

Bir kayan yazı oluşturabilirsiniz, ancak bunu yapmak için sayının sonuna 'F' (veya 'f') harfini koymanız gerekir .

Örnekler:

kod Tanım
double a = 100.0; 
Bu gayet iyi derlenecek.
double a = 100.;
Bu gayet iyi derlenecek.
double a = .0;
Bu gayet iyi derlenecek.
float a = 100.0f; 
Bu gayet iyi derlenecek.
float a = 100.0; 
Bir derleme hatası olacaktır: değişken bir kayan noktadır, ancak değişmez değer bir çifttir.

Bu arada, bir tamsayı değişmezini, basitçe ) ile açıkça bir kayan nokta veya çift değişmeze dönüştürebilirsiniz . Örnekler: appending the suffix 'F' (for float) or D (for double)

kod Tanım
double a = 100D;
Bu gayet iyi derlenecek.
float a = 100F; 
Bu gayet iyi derlenecek.
int a = 300D; 
Bir derleme hatası olacak: değişken bir int, ancak hazır bilgi bir double.

Kayan nokta değişmezleri bilimsel gösterim kullanabilir : sayının işaretli kısmına ek olarak on'un katını da belirtebilirsiniz. Örnek:

değişmez matematiksel gösterim Nihai değer
1.23E2
1.23 * 102
123.0
1.23E3
1.23 * 103
1230.0
1.23E-6
1.23 * 10-6
0.00000123
1E6
1.0 * 106
1000000.0
1E-10
1.0 * 10-10
0.0000000001


3. Dize değişmezleri

Kodunuzda tüm metin satırlarını da belirtebilirsiniz. Derleyiciye bir dizeyi kodun bir parçası olarak değil de veri (bir hazır bilgi) olarak ele almasını söylemek için, tüm dize her iki tarafta çift tırnak içine alınır.

Tek bir kod satırında birkaç çift tırnak varsa, bunlar çiftlere bölünür. İlk çift tırnak işareti, değişmezin başlangıcını gösterir. Bir sonraki, değişmezin sonunu gösterir. Bundan sonraki, bir kez daha yeni bir değişmezin başlangıcını işaret ediyor. Ve bir sonraki, ikinci değişmezin sonunu işaret eder. Ve benzeri.

Bu tür her değişmez değer bir String.

örnekler

kod Açıklama
"+" + "+" + "+" + "+" + "+"
Bir satırda 5 harf vardır. Her biri tek bir  +karakterden oluşur
""
Bu hazır bilgi boş bir dizedir. Karakter içermeyen bir dize.
"2+3" + "-5"
Burada iki değişmez var. Sonuç, 2+3-5bir sayı değil, ' ' dizesi olacaktır.
"return" + ";"
Burada da iki değişmez var. Burada iade bildirimi yok.

Bir dize sabit değeri çok uzunsa, birkaç satıra bölünebilir ve "artı işleci" ile birbirine yapıştırılabilir:

kod Açıklama
String s = "I hold it true, whate'er befall, "
         + "I feel it when I sorrow most; "
         + "'Tis better to have loved and lost "
         + "Than never to have loved at all.";
Bu satırı ekrana çıkarırsanız, tüm metin tek bir satırda görüntülenecektir!


4. Karakter değişmezleri

Kodunuzda yalnızca dize değişmezlerini değil, aynı zamanda tek tek karakterlerden oluşan değişmez değerleri de belirleyebilirsiniz. Tek bir karakterden oluşan bir dizeden değil, türü olan sabit değerlerden bahsettiğimize dikkat edin char.

Bir dizeden farklı olarak, bir karakter değişmezi tek tırnak içine alınır . Tek tırnak içinde bir karakter ve sadece bir karakter olmalıdır. Boş tek tırnak kullanamazsınız.

Örnekler:

kod Açıklama
'A'
Türü char olan bir hazır bilgi. Latince 'A' harfini içerir.
'@' 
Türü char olan bir hazır bilgi. '@' sembolünü içerir
'' 
Türü char olan bir hazır bilgi. Japonca bir karakter içerir. Ve bu da mümkündür.
'\u1f3a'
Türü char olan bir hazır bilgi. Numarasıyla belirtilen bir Unicode karakteri içerir.

Son örnek, özel bir gösterim kullanarak bir Unicode karakteri atar: önce ön ekimiz \\u, ardından 4 onaltılık karakter gelir. Sonraki dersler bununla ilgili ayrıntılı bilgiler içermektedir.