Temel bilgiler: Java'daki temel veri türlerinin açıklaması (sayısal, karakter, Boole)

veri türü

Tamsayı

Önlemler:

Kaplanan bayt sayısı ne kadar büyükse, değer aralığı o kadar büyük ve depolanan veriler o kadar büyük

Gerçek geliştirmede, uygun veri türünü seçmeli ve veri türünün değer aralığını aşmamayı unutmamalıyız Ek: Geliştirme sırasında, genellikle kısa ve bayt türü kod ekranı yerine int türü kullanılır:

public class Test {

// Ana yöntemi yazın, yazma yöntemi sabittir, programın girişi sanal makine tarafından kullanılabilir

public static void mian (String args) {

int yaş = 12;

System.out.println ("yaş" + yaş);

// çıktı yaşı 12

}

}

Tamsayı sabit değer sabiti; ondalık, onaltılık ve sekizlik içerebilir, ancak ikili değil

Kod ekranı

public class ConstantTest {

public static void main (String args) {

// sekizlik sabit değer sabiti

int num = 017;

System.out.println (num); // Çıktı 15

// Onaltılık sabit değer sabiti

int num2 = 0xFF;

System.out.println (num2); // Çıktı 255

}

}

Tamsayı sabit değer sabitinin varsayılan değeri int tipidir. İnt türünün değer aralığı -231 ~ 231-1 olup, yaklaşık artı veya eksi 2,1 milyar'dır. Değiştirmek için tamsayı sabit değer sabitinin sonuna küçük harf "l" veya büyük harf "L" ekleyin Uzun tip sabiti için

Öneri: Büyük "L" harfini kullanın, çünkü küçük l harfi 1 ile kolayca karıştırılır

public class ConstantDemo {

// Ana yöntemi yazın, yazma yöntemi sabittir, programın girişidir, ana yöntemde değiştirilebilecek tek şey sanal makine tarafından tanınabilen ve çalıştırılabilen "args" adıdır.

public static void main (String args) {

int num = 10000000000;

System.out.println (num); // derleme hatası, çok büyük tamsayı

}

}

Ekran görüntüsünü çalıştır:

Not: Tamsayı sabit değer sabitleri kullanırken, int türünün değer aralığını aşmayın

public class ConstantTest {

public static void main (String args) {

uzun num = 10000000000L;

// Doğru 10000000000L, uzun tipte sabit bir değer sabitidir

System.out.println (sayı);

}

}

public class ConstantTest {

public static void main (String args) {

uzun num = 10000000000;

System.out.println (num); // Bir derleme hatası oluştu

}

}

public class ConstantTest {

public static void main (String args) {

int num = 100000 * 100000;

System.out.println (num); // Tahmini: 10.000.000.000 Gerçek: 1410065408

}

}

Beklenen sonuç ile gerçek sonuç arasındaki tutarsızlığın nedenleri:

Derleme sırasında, iki girişle çarpılan 100000 * 100000 sayısı int türünün değer aralığını aşmaz, bu nedenle derleme ve çalıştırma sırasında iki int türü çalıştırılır ve döndürülen sonuç hala int türündedir

Tam sayılara bellekte nasıl erişilir?

Depolama: Bir tamsayıyı ikiliye dönüştürün ve ardından bellek alanında saklayın

Oku: Bellekteki ikiliyi ondalık sayıya çevir ve sonra çıkar

Çizim talimatları:

Kod ekranı:

public class IntDemo {

public static void main (String args) {

int yaş = 7;

System.out.println ("yaş" + yaş);

}

}

Kayan nokta

Not:

Kayan nokta türünün kapladığı bayt sayısı ne kadar büyükse, temsilin doğruluğu o kadar yüksek olur

İşgal edilen bayt sayısı ne kadar büyükse, değer aralığı o kadar geniş olduğu anlamına gelmez

Çift, daha yüksek ondalık anlamına gelir. Gerçek geliştirmede, çift genellikle daha fazla kullanılır

Ondalık sayılar farklı şekillerde saklandığından, ondalık sayılar için özellikle kesin hesaplamalar yapmamaya çalışın.

public class DoubleTest {

public static void main (String args) {

// Beklenen çıktı 0.0003 Gerçek çıktı 3.0000000000000003E-4

System.out.println (0.0001 + 0.0002);

}

}

Ondalık sabit değer sabiti varsayılan olarak çift tiptir ve ondalık sabit değer sabitinin sonuna küçük harfli "f" | büyük harfli "F" eklenir, ardından sabit float türünün sabiti olur

Kod ekranı:

public class DoubleTest {

public static void main (String args) {

float f = 3.14; // derleme hatası

System.out.println (f);

}

}

Ekran görüntüsü:

Nedeni: 3.14 varsayılan çift tiptir

Kod ekranı:

public class DoubleTest1 {

public static void main (String args) {

float f = 3.14f; // başarıyla derlendi

System.out.println ("f =" + f); // çıktı f = 3.14

}

}

Ekran görüntüsü:

Sebep: Ondalık sabit değerin sonuna küçük harf "f" eklendiğinden, sabit bir kayan tip olur

Ondalık sabit değer sabitleri nelerdir?

Ondalık ondalık sabit değer sabiti, örneğin: 3.14, 123.45, vb.

Bilimsel gösterimle ifade edilen sabitler, örneğin: 3.14E3, 3.14E-3, vb.

Kod ekranı:

public class Test {

public static void main (String args) {

float f = 3.14e3f;

System.out.println ("F =" + f);

çift d = 3.14E-3;

System.out.println ("D =" + d);

}

}

Ekran görüntüsünü çalıştır:

3.14e3, ondalık noktayı üç basamak sağa kaydırmaya eşdeğerdir, sonuç 3140.0 olur

3.14E-3, ondalık noktayı üç basamak sola kaydırmaya eşdeğerdir, sonuç 0,00314'tür

Not: Bilimsel gösterimdeki "E", küçük "e" harfi veya büyük "E" harfi olabilir

Boole (boole)

Durumları kullanın: genellikle koşul yargısı için kullanılır, koşul doğrudur, doğru döndürür, koşul doğru değildir, yanlış döndürür

public class BooleanTest {

public static void main (String args) {

boole bayrağı = true;

System.out.println (flag); // çıktı true

bayrak = yanlış;

System.out.println (flag); // Yanlış çıktı

bayrak = 3 > 5;

System.out.println (bayrak); // yanlış çıktı

bayrak = 3 < 5;

System.out.println (flag); // çıktı true

}

}

Ekran görüntüsünü çalıştır:

Soru: Boole türü kaç bayt kaplar?

Cevap: Java spesifikasyonunda, boolean türünün bayt sayısı açıkça belirtilmemiştir.Bence 1 bit, çünkü 1 bit doğru veya yanlış olmak üzere iki olasılığı ifade edebilir. Ayrıca dosya depolandığı için 1 bayt kapladığını düşünüyorum. En küçük birim bayttır

Karakter türü (karakter)

İşaretsiz bir değeri temsil eden 2 bayt kaplar ve değer aralığı 0 ~ 65535'tir.

Karakter sabit değer sabiti: bir çift tek tırnak içine sarılmış bir karakter, karakter sabiti olarak adlandırılır

public class CharTest {

public static void main (String args) {

char c = 'a'; // doğru

char c1 = 'Merhaba'; // hata

char c2 = 'sayı'; // doğru

char c3 = '11'; // hata

char c4 = '9'; // doğru

char c5 = ''; // doğru

char c6 = ''; // hata

}

}

1

2

3

4

5

6

7

8

9

10

11

Not:

char, 2 bayt kaplar, 65536 karakter saklayabilir, bir İngilizce | Çince karakter bellekte iki bayt yer alır

Karakterler ve dizeler arasındaki ilişki:

Karakterler ve dizgiler yakından ilişkilidir.Sizeler, koyun eti ve koyun eti şişleri arasındaki ilişkiye benzer şekilde birden fazla rastgele karakterden oluşur.

Dize

Java'da, Dize türü (dize türü) bir başvuru veri türüdür

Dize sabit değer sabiti: bir çift çift tırnak "" ile sarılmış içerik (herhangi bir sayıda karakter), biz buna bir dizge sabiti diyoruz

Kod ekranı:

public class StringDemo {

public static void main (String args) {

Dize adı = "Java";

String hobby = "Basketbol oyna";

String nullStr = "";

String eng = "merhaba Dünya";

System.out.println ("Adım" + ad); // Adım Java

System.out.println ("Hobim" + hobi); // Hobim basketbol oynamak

System.out.println (nullStr); // boş dizge

System.out.println (eng); // merhaba Dünya

}

}

1

2

3

4

5

6

7

8

9

10

11

12

operasyon sonucu:

Dizelerin özellikleri:

Dizeler ve diğer veri türleri, aslında bağlayıcı işlemi (ekleme işlemi) olan "+" işlemini yapar ve döndürülen sonuç Dize türündedir (dize türü)

Analiz: String str = "Merhaba" + 10;

Açıklama: Önce int türünün örtük tür dönüştürmesinden 10'u String türüne dönüştürün ve ardından dönüştürülen "10" ve "Merhaba" değerlerini birleştirin

public class StringDemo {

public static void main (String args) {

String str = "Merhaba" + 10;

System.out.println (str); // Hello10 çıktı

Dize str1 = 20 + "Merhaba" + 10;

System.out.println (str1); // "20Hello10" çıktı

// Genellikle aşağıdaki benzer durumlarda "+" kullanılır

int yaş = 15;

System.out.println ("yaş" + yaş); // Çıktı yaşı 15

}

}

1

2

3

4

5

6

7

8

9

10

11

Ekran görüntüsünü çalıştır:

Karakterler bellekte nasıl saklanır?

Fikir: Kodlama tablosuna göre, karaktere (sayı, harf) karşılık gelen pozitif tamsayıyı bulun

Depolama: Kodlama tablosunda depolanacak karakteri karşılaştırın, ardından karaktere karşılık gelen pozitif tamsayıyı bulun ve son olarak pozitif tamsayıyı ikiliye dönüştürün ve belleğe karşılık gelen depolama alanında saklayın > kodlama

Oku: Değişken adı aracılığıyla ilgili depolama alanındaki değeri bulun, ardından değeri ikiliden ondalık sayıya dönüştürün ve ardından ondalık değeri, karşılık gelen karakteri almak için kod tablosuyla karşılaştırın - > kod çözme

Çizim analizi:

Kod ekranı:

public class CharDemo {

public static void main (String args) {

char c = 'a';

System.out.println (c);

}

}

Not: Karakterler doğrudan ikiliye dönüştürülemez, yalnızca sayısal değerler

Çıktı ifadesi ne çıkarabilir?

System.out.println (değer)

System.out.print (değer)

Çıktı Değeri, sabit | değişken verilere atıfta bulunan verilerdir

Ortak kodlama tablosu

ASCII: Modern İngilizce ve Batı Avrupa dillerini görüntülemek için kullanılan bir kodlama tablosu

GBK: Çince'de kullanılan kodlamayı temsil etmek için kullanılır

Unicode: Evrensel Kod, Unicode

Çekirdek: Unicode kod tablosu dünyadaki hemen hemen tüm dilleri içerir

Not:

Java, Unicode kodlama tablosunu kullanır, bu da Java'nın dünyadaki hemen hemen tüm dilleri kullanabileceği anlamına gelir, örneğin: tanımlayıcılar Çince olarak ifade edilebilir, ancak Çince önerilmez

public class haha {

public static void main (String args) {

System.out.println ("Merhaba Dünya");

}

}

Ekran görüntüsünü çalıştır:

ASCII ve Unicode kod tablosu

ASCII kod tablosunun ilk 128 biti, Unicode kod tablosunun ilk 128 bitiyle tamamen aynıdır.

'0' - Karşılık gelen pozitif tam sayı - > 48

'a' - Karşılık gelen pozitif tamsayı - > 97

'A' - Karşılık gelen pozitif tamsayı: > 65

Ezberlemeye yardımcı olun:

İngilizce harfler (AZ, az): Büyük harfler (az) ile küçük harfler (AZ) arasındaki fark 32'dir, ortalama 97'dir, A 65 anlamına gelir ve her seferinde 1 artar

Pozitif tamsayı (0 ~ 9): 0, 48 anlamına gelir; 1, 49 anlamına gelir, her seferinde 1 artırın

Kod ekranı:

public class CharTest {

public static void main (String args) {

System.out.println ((int) 'a'); // 97

System.out.println ((int) 'b'); // 98

System.out.println ((int) 'B'); // 66

System.out.println ((int) 'A'); // 65

System.out.println ((int) '1'); // 49

System.out.println ((int) '0'); // 48

}

}

Ekran görüntüsünü çalıştır:

Karakter türü karakterlere karşılık gelen pozitif tam sayı nasıl kontrol edilir?

Zorlama kullanın

Kod ekranı

public class CharTest {

public static void main (String args) {

System.out.println ((int) 'a'); // 97

}

}

Kabul etmek için int türü değişkenleri kullanın

Kod ekranı:

public class CharTest {

public static void main (String args) {

int charInt = 'a';

System.out.println (charInt); // 97

}

}

Int türü ve Char türü arasındaki fark

Ortak nokta: int türü ve karakter türü, bellekte depolanan tüm tam sayılardır

Bu ortak özellik nedeniyle, int türünün ve char türünün birbiriyle değiştirilebileceği anlamına gelir.

int türüne dönüştürülmüş > karakter türü

Gereksinimler: int türü, pozitif bir tamsayı olmalı ve char türünün değer aralığını (0 ~ 65535) aşmamalıdır. Char türü işaretsiz vurgular

karakter-to- > int türü

Gereksinimler: Gerekli değildir, tüm karakter türü karakterler int türüne dönüştürülebilir

Kod ekranı:

// karakter - dönüştürülür - > int türü

public class CharIntDemo {

public static void main (String args) {

System.out.println ((int) 'a');

int charInt = '0';

System.out.println (charInt);

}

}

Kod ekranı:

// int --turn-- > karakter türü

public class CharIntDemo {

public static void main (String args) {

System.out.println ((char) 75); // K

System.out.println ((char) 48); // 0

char c = 78;

System.out.println (c); // N

char c1 = 49;

System.out.println (c1); // 1

}

}

Ekran görüntüsünü çalıştır:

fark:

İnt türü 4 bayt, char türü 2 bayt, int türü char türünden daha büyük bir değer aralığına sahiptir

Karakter türü işaretsiz, int türü işaretli, int türü bellekte pozitif | negatif tamsayılar depolayabilir, char türü yalnızca pozitif tamsayıları bellekte saklayabilir, negatif tam sayıları değil

Orijinal bağlantı: https://blog.csdn.net/qq_41473905/article/details/103175239

Guangzhou Auto Show Great Wall Motors ve Dört Büyük Araç Markası çıkış
önceki
22 Kasım'da Önemli Hong Kong Haberleri
Sonraki
Tazminatsız kan bağışı yapmak kişisel bir kredi bonusu, destekliyor musunuz?
Resmi web sitesi ve Uygulama kapatıldı! Baofeng Yingyin "Ani Ölüm": Patron tutuklandı ve tüm yöneticiler istifa etti! Bir neslin gençlik anısıydı ...
"Tarihsel Kayıtları" Yeniden Okumak: Sima'nın Tarihsel Dünyasına Girmek Qian21 Okuma
Wang Sicong ve Panda Live kime kaybetti?
İnsanları dondurun! En soğuk sabah! Bu hafta soğukluk ana tema haline geldi; gelecek yıl sağlık sigortası ödemesi başlayacak ve öğrenci 155 yuan'a ayarlanacak
Alibaba'nın Hong Kong'daki listesinin ardındaki niyet nedir?
Bu küçük Şangay kasabasında binlerce fotoğraf meraklısı var ve bir çiftçi fotoğraf sergisi düzenlemek için ilk yurtdışına çıkan şehirdi.
Bir 1.68 milyon, bu inek "cennete gitmek" istiyor! Japon Wagyu'daki "Hermes" nerede?
Trump'ı yendiğin sürece, o kadar para harcayabilirsin! Resmi olarak seçilen Bloomberg, Trump'ın net değerinin% 1'ini haftada harcadı
Li Qiang, güzel vatanseverlik ve din sevgisi geleneğini ilerletmeyi ve genel durum etrafında daha iyi bir rol oynamayı talep ederek bugün araştırmak için bazı dini yerlere gitti.
Parti binası, mega şehirlerde sosyal yönetişim sistemlerinin ve yönetişim yeteneklerinin modernizasyonu için "ortak yapım, ortak yönetişim ve paylaşım" - "Chengdu Keşfi" liderliğinde
Çin ekonomisi 2020'de hangi üç gizemle yüzleşecek?
To Top