1. Elaborasi tipe data dasar
Bahasa Java menyediakan delapan tipe dasar. Enam tipe numerik (empat jenis integer, dua tipe titik mengambang), satu jenis karakter, dan satu jenis boolean.
【Catatan】 Java tidak memiliki tipe yang tidak ditandatangani
(1). Integer: int, pendek, byte, panjang
(2). Jenis float: float, double
(3). Karakter: Char
(4). Boolean
Ukuran tipe dasar nilai minimum nilai maksimum
ruang kosong
Boolean ----- ---------
Char 16-bit Unicode 0 Unicode 2^16-1
byte 8 -bit -128 +127
Pendek 16-bit -2^15 +2^15-1
int 32-bit -2^31 +2^31-1
Long 64-bit -2^63 +2^63-1
float 32-bit IEEE754 IEEE754
Double 64-bit IEEE754 IEEE754
Selain itu, kami sering menggunakan dua variabel kelas, yaitu string dan tanggal.
2. Konversi Data
1 Jenis Konversi Jenis Data Ada umumnya tiga jenis konversi tipe data Java, yaitu:
(1). Konversi antara tipe data dasar (2). Konversi antara string dan tipe data lainnya (3). Konversi tipe data praktis lainnya
2 Konversi Antara Jenis Data Dasar <BR /> Jenis dasar dari rendah ke tinggi adalah (byte, pendek, char)-int-long-float-double
Konversi antara tipe data sederhana dapat dibagi menjadi:
● Konversi tipe otomatis tingkat rendah ke canggih ● Konversi tipe cast lanjutan ke tingkat rendah ● Jenis transisi kelas pengemasan dapat dikonversi
2.1 Konversi Jenis Otomatis 2.1.1 Variabel tingkat rendah dapat langsung dikonversi ke variabel tingkat tinggi, yang disebut konversi tipe otomatis. Misalnya, pernyataan berikut dapat langsung disahkan di Java:
byte b; int i = b; long l = b; float f = b; Double D = B;
2.1.2 Jika tipe tingkat rendah adalah tipe char, itu akan dikonversi ke nilai kode ASCII yang sesuai saat mengonversi ke tipe tingkat tinggi (tipe integral), misalnya
char c = 'c'; int i = c; System.out.println ("Output:"+i);Output: Output: 99;
2.1.3 Untuk tiga jenis byte, pendek, dan char, mereka horizontal dan karenanya tidak dapat secara otomatis dikonversi satu sama lain. Konversi tipe pemeran berikut digunakan.
Singkat I = 99; char c = (char) i; i = (pendek) c; System.out.println ("Output:"+C); Output: Output: C;
Tetapi menurut pengalaman, byte, pendek, dan int semuanya adalah tipe integer, jadi jika Anda mengoperasikan data integer, yang terbaik adalah menggunakan tipe int secara seragam.
2.2 Saat casting mengkonversi variabel tingkat tinggi menjadi variabel tingkat rendah, situasinya akan lebih rumit, dan Anda dapat menggunakan casting. Artinya, Anda harus menggunakan format pernyataan berikut:
int i = 99; byte b = (byte) i; char c = (char) i; float f = (float) i;
Seperti yang dapat Anda bayangkan, konversi ini tentu saja dapat menyebabkan overflow atau penurunan akurasi.
2.3 Kelas Transisi Kelas Kemasan Konversi Ketika kita membahas konversi timbal balik antara jenis variabel lainnya, kita perlu memahami kelas pengemasan Java. Kelas pengemasan yang disebut berarti bahwa kita dapat secara langsung mewakili variabel tipe sederhana sebagai kelas. Saat melakukan konversi timbal balik dari jenis variabel, kami akan sering menggunakan kelas pengemasan ini. Java memiliki enam kelas pengemasan, yaitu Boolean, Karakter, Integer, Long, Float dan Double. Dari perspektif literal, kita dapat melihat bahwa mereka sesuai dengan boolean, char, int, long, float dan ganda masing -masing. Dan string dan tanggal adalah kelas sendiri. Jadi tidak ada konsep kemasan.
Saat mengonversi antar tipe data sederhana (konversi atau pemeran otomatis), kami selalu dapat menggunakan kelas pembungkus untuk transisi menengah.
Secara umum, kami pertama -tama mendeklarasikan variabel dan kemudian menghasilkan kelas pembungkus yang sesuai, dan kami dapat menggunakan berbagai metode kelas pembungkus untuk melakukan konversi jenis. Misalnya:
Contoh 1: Ketika Anda ingin mengonversi jenis float menjadi tipe ganda:
float f1 = 100.00F; Float f1 = f1; // autobox double d1 = f1.doublevalue (); // f1.doublevalue () adalah metode untuk mengembalikan jenis nilai ganda dari kelas float. Ketika Anda ingin mengonversi tipe ganda ke tipe int: d1 ganda = 100,00; Double D1 = New Double (D1); // Memanggil konstruktor int i1 = d1.intvalue ();
Konversi variabel tipe sederhana ke kelas pengemasan yang sesuai, dan dapat langsung ditetapkan menggunakan konstruktor dan pengemasan otomatis kelas pengemasan. Sekarang:
Boolean (nilai boolean), karakter (nilai char), integer (nilai int), panjang (nilai panjang), float (nilai float), ganda (nilai ganda)
Di setiap kelas pengemasan, selalu ada metode × nilai () untuk mendapatkan data tipe sederhana yang sesuai. Menggunakan metode ini, konversi antara variabel numerik yang berbeda juga dapat direalisasikan. Misalnya, untuk kelas tipe nyata presisi ganda, intvalue () dapat memperoleh variabel integer yang sesuai, dan doublevalue () dapat memperoleh variabel tipe nyata presisi ganda yang sesuai.
3 Konversi tipe string dan tipe data lainnya <BR /> dengan melihat metode anggota yang disediakan oleh setiap kelas di pustaka kelas, Anda dapat melihat bahwa hampir semua kelas yang berasal dari kelas java.lang.Object menyediakan metode ToString (), yaitu, mengubah kelas menjadi string. Sebagai contoh: Characrer, integer, float, double, boolean, pendek dan kelas lain metode tostring () digunakan untuk mengonversi karakter, bilangan bulat, angka titik mengambang, ganda, nomor logis, bilangan bulat pendek dan kelas lain menjadi string. Seperti yang ditunjukkan di bawah ini:
int i1 = 10; float f1 = 3.14f; D1 D1 = 3.1415926; Integer i1 = integer baru (i1); // menghasilkan kelas integer float f1 = f1; // Autobox Double D1 = D1; // Panggil metode ToString () dari kelas pembungkus secara terpisah untuk mengonversinya ke string string si1 = i1 + ""; // metode ini lebih umum string sf1 = f1.toString (); String sd1 = d1.toString (); Sysytem.out.println ("si1"+si1); Sysytem.out.println ("sf1"+sf1); Sysytem.out.println ("sd1"+sd1); 4. Konversi tipe karakter secara langsung sebagai nilai numerik ke tipe data lain <br /> misalnya, '1' mengacu pada nilai 1, daripada kode ASCII -nya, untuk konversi ini:
char c = '1'; // Metode GetNumericValue (char ch) int i = karakter.getNumericValue (c); // pengurangan kode ASCII i = c -'0 ';
5. Konversi antara kelas tanggal dan tipe data lainnya <BR /> Tidak ada korespondensi langsung antara integer dan kelas tanggal. Anda dapat menggunakan tipe int untuk mewakili tahun, bulan, hari, jam, menit, dan detik masing -masing, sehingga korespondensi ditetapkan di antara keduanya. Saat melakukan konversi ini, Anda dapat menggunakan tiga bentuk konstruktor kelas tanggal:
Tanggal (tahun int, bulan int, tanggal int): Tipe int mewakili tanggal tahun, bulan, dan hari (tahun int, bulan int, tanggal int, int jam, int min): jenis int mewakili tahun, bulan, hari, jam, dan tanggal menit (tahun int, bulan, jam, menit, menit, int min, int sec): jenis int mewakili tahun, bulan, jam, jam, menit, dan kedua
Ada korespondensi yang menarik antara bilangan bulat panjang dan kelas tanggal, yaitu untuk mewakili waktu sebagai jumlah milidetik dari 0:00:00 GMT pada 1 Januari 1970. Untuk korespondensi ini, kelas tanggal juga memiliki konstruktor yang sesuai: tanggal (tanggal panjang)
Dapatkan tahun, bulan, hari, jam, menit, kedua dan minggu di kelas tanggal. Anda dapat menggunakan getYear (), getMonth (), getDate (), getHours (), getminutes (), getSeconds (), getDay (), dan Anda juga dapat memahaminya sebagai mengubah kelas tanggal menjadi int.
Metode GetTime () dari kelas tanggal bisa mendapatkan nomor integer panjang yang sesuai dengan waktu yang kami sebutkan sebelumnya. Seperti kelas pembungkus, kelas tanggal juga memiliki metode tostring () yang dapat mengubahnya menjadi kelas string.
Terkadang kami ingin mendapatkan format tanggal tertentu, misalnya 20020324, kami dapat menggunakan metode berikut, pertama kali memperkenalkannya di awal file,
impor java.text.simpledateFormat; impor java.util.*; java.util.date date = java.util.date () baru; // Jika Anda ingin mendapatkan format yyyymmdd SimpleDateFormat Sy1 = new SimpleDateFormat ("yyyymmdd"); String dateFormat = sy1.format (date); // Jika Anda ingin mendapatkan tahun, bulan, hari, SimpleDateFormat sy = new SimpleDateFormat ("yyyy"); SimpleDateFormat sm = new SimpleDateFormat ("mm"); SimpleDateFormat sd = new SimpleDateFormat ("dd"); String syar = sy.format (date); String smon = sm.format (date); String sday = sd.format (tanggal);Untuk melihat lebih banyak sintaks Java, Anda dapat mengikuti: "Berpikir dalam manual Cina Java", "JDK 1.7 Manual Referensi Versi Bahasa Inggris Resmi", "JDK 1.6 API Java Manual Referensi Cina", "JDK 1.5 API Java Manual Referensi Cina". Saya juga berharap semua orang akan lebih mendukung wulin.com.