"Amigo, sana gıpta ediyorum. Yeni şeyler öğrenmek harika! Ve bugün seni yeni ve ilginç bir konu bekliyor - edebiyat."

"Görünüşe göre gezegendeki en mutlu robo-öğrenci olduğumu söylemeliyim, Rishi. Pekala, yeni bilgiyi özümsemeye hazırım!"

"O zaman hemen başlayalım. Değişmez değerler, doğrudan bir programın koduna yazılan belirli verilerdir. Herhangi bir veriden bahsetmiyoruz. Yalnızca ilkel türlerden ve Dizelerden bahsediyoruz.

Örneğin, şu 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, 5 sayısı, 10 sayısı ve ' Sum = ' dizesidir .

tamsayı değişmezleri

"Java'da, hazır değerler dahil her şeyin bir türü vardır. Koddaki tüm tamsayı değişmezleri (tamsayılar) ints'dir . int türü, standart Java tamsayı türüdür."

"Bu tipi biliyorum. Kullandım."

"İnt dışında başka tamsayı türlerini hatırlıyor musun? Bazıları bellekte daha az yer kaplıyor?"

"Elbette! Bayt ve kısa."

"Bunlar. Yani, kodunuzda bayt veya kısa türündeki bir değişkene bir tamsayı hazır değeri atamaya karar verirseniz, hiçbir sorun olmayacaktır. Asıl mesele, değişmez değerin değer aralığı içinde olmasıdır. Java derleyicisi, bir bayt değişkenine 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.

" Uzun tip ne olacak ?"

"Kodumuza bu tür değişmezleri de yazabiliriz. Bunun 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?

"Evet, robovision'unuzu etkinleştirmediyseniz, o zaman 3 milyardan mı yoksa 30'dan mı bahsettiğimiz hemen anlaşılmayacaktır."

"Kodu daha okunabilir hale getirmek için (ve bu önemlidir!) Java, sayısal sabit 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.

"Bunu okumak çok daha uygun, ancak alt çizgi yerine virgül daha tanıdık gelebilir!"

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

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 belirtebileceğinizi muhtemelen zaten tahmin etmişsinizdir."

"Hem çiftler hem de yüzer?"

"Evet. Aslında, kural oldukça basit: koddaki bir sayının içinde ondalık nokta varsa, o zaman sayı bir kayan nokta değişmezidir. Ve yalnızca herhangi bir değişmez değil, çift değişmez. Kayan bir değişmez değer oluşturmak 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, 'F' ( float için ) veya D ( double için ) son ekini ekleyerek bir tamsayı değişmezini açıkça bir float veya double değişmezine dönüştürebilirsiniz . Örnekler:

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 noktalı hazır değerler bilimsel gösterimi 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.23 Ç 2 1,23*10 2 123.0
1.23 D 3 1,23*103 1230.0
1.23 D -6 1,23*10 -6 0,00000123
1Ç 6 _ 1.0 *10 6 1000000.0
1 S -10 1,0*10 -10 0,0000000001

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 sabit değer) 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. Sonraki, değişmezin sonunu gösterir. Ondan sonraki bir kez daha yeni bir değişmezin başlangıcı ve sonraki ikinci değişmezin sonunu işaretler ve böyle devam eder.

"Bu tür değişmezlerin her biri bir String'dir .

örnekler

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

"Bir dizgi 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!

Karakter değişmezleri

"Dize yerine tek karakterden oluşan bir hazır bilgiye ihtiyacım olursa ne olur? Tek bir karakterden oluşan bir dize oluşturmalı mıyım?"

"Hayır, bu durumda türü olan bir değişmeze ihtiyacınız var char. Böyle bir değişmezin başı ve sonunun nasıl belirlendiğini tahmin edebiliyor musunuz?"

"Tek tırnak mı?"

"Evet ve 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 derslerde bununla ilgili daha fazla bilgi edineceksiniz."