1. Variabel ( Variable)
Pada penjelasan “Apa itu objek ( Object)?” kita diperkenakan juga apa itu field, tetapi kita mungkin masih memiliki beberapa pertanyaan, seperti apa aturan dan konvensi untuk penamaanfield? Selain int, apa jenis data lainnya yang ada? Apakah field harusdiinisialisasikanpada saat dideklarasikan? Apakah field diberi nilai default jika mereka tidak secara eksplisit diinisialisasikan? Bagian penjelasan dibawah ini akan memberikan jawaban atas pertanyaan-pertanyaan di atas, tetapi sebelum kita melakukannya, ada beberapa perbedaan teknis yang harus kita pahami terlebih dahulu. Dalam bahasa pemrograman Java, istilah "field" dan "variabel" digunakan kedua-duanya, ini merupakan sumberumum dari kebingungan di kalanganpengembang ( programmer) baru, karena keduanya sering tampak merujuk pada hal yang sama.
Bahasa pemrograman Java mendefinisikan jenis-jenis variabelyang ada sebagai berikut:
a. Instance Variables (Non-Static Fields).Secara teknis, object menyimpan state atau kondisi dalam "Non-Static Fields", yaitu fieldyang dideklarasikan tanpa kata kunci static. Non-Static Fields juga dikenal sebagai instance variabel karena nilai-nilainya yang unik untuk setiap instance Class.
Contoh :
public roadBike ( int speedUp ) {
//statement
}
Nilai speedUp independen terhadap nilai speedUp di Class lain.
b. Class Variables (Static Fields). Sebuah Class Variable adalah semua yang dideklarasikan pada field dengan Variabel Static, hal ini memberitahu compiler ( kompilator ) bahwa ada salinan dari variabel ini yang jumlahnya tepat satu, terlepas dari berapa kali Classmenggunakan variabel ini. Secara sederhana, sebuah field mendefinisikan jumlah gearuntuk sepeda jenis tertentu dapat ditandai sebagai statis ( static ) karena secara konseptual jumlah yang sama dari semua gear akan berlaku untuk semua kasus. Dalam penerapannya misalkan ditulis kode static int numGears = 6;akan menciptakan suatu field static. Selain itu, penggunaan kata kunci finaldapat ditambahkan untuk menunjukkan bahwa jumlah gigi tidak akan pernah berubah.
c. Local Variables mirip dengan bagaimana suatu object menyimpan state atau suatu kondisi dalam field, sebuah method akan sering menyimpan statesementara dengan menggunakan variabel lokal. Sintaks untuk mendeklarasikan variabel lokal mirip dengan mendeklarasikan field (misalnya, int count = 0 ;). Tidak ada kata kunci khusus yang menunjukkan variabel tersebut sebagai variabel lokal, penggunaanya secara menetap di metode mana variabel itu dinyatakan. Secara sederhana penggunaanya hanya dalam satu blok metode saja ( antara { dengan }. Dengan demikian variabel lokal tidak dapat diakses dari seluruh Class.
d. Parameters. Kita sudah melihat contoh-contoh dari parameter, baik di class Bike dan
dalam metode utama dari aplikasi "Hello World!".
public static void main(String[] args) {
System.out.println("Hello World");
}
Mengingat kembali kode metode utama public static void main (String [] args). Di sini, variabel args adalah parameter untuk metode ini. Yang penting untuk diingat adalah bahwa parameter selalu diklasifikasikan sebagai "variabel" bukan "field". Hal ini berlaku untuk konstruksi parameter lain ( seperti konstruktor dan penangan pengecualian/ exception ).
Jika kita berbicara tentang "Field secara umum" (termasuk variabel lokal dan parameter), kita bisa menggunakan"Field". Jika pembahasanberlaku untuk "semua jenis variabel diatas", kita harus menggunakan "Variabel". Namun, jika pembahasan suatu konteks untuk menyatakan perbedaan, kita harus menggunakan istilah yang lebih spesifik (misalnya static field, Local Varibel, dll).
2. Tipe Data Primitif ( Primitf Data Type )
a. Tipe-tipe Data Primitif
Bahasa pemrograman Java adalah bertipe statis, yang berarti bahwa semua variabel harus terlebih dahulu dideklarasikan sebelum mereka dapat digunakan. Ini melibatkan bagaimana cara menyatakan jenis dan nama suatu variabel. Seperti yang sudah kita lihat sebelumnya int gear = 1; memberitahukan program kita bahwa field yang bernama "gear" ada, menyimpan data numerik, dan memiliki nilai awal "1". Sebuah variabel tipe data ini menentukan nilai-nilai yang mungkin disimpan, ditambah operasi yang dapat dilakukan terhadapnya. Selain int, bahasa pemrograman Java mendukung delapan jenis tipe data primitif lainnya. Sebuah standart tipe data primitif yang ditetapkan oleh bahasa pemrograman dinamai dengan kata kunci cadangan. Nilai-nilai tipe data primitif tidak berbagi state atau kondisi dengan nilai-nilai tipe data primitif lainnya. Delapan tipe data primitif yang didukung oleh bahasa pemrograman Java adalah sebagai berikut :
1) byte: Tipe data byte adalah bilangan bulat sebanyak 8-bit yang memiliki 2 penanda yaitu positif dan negatif. Tipe data ini memiliki nilai minimum -128 dan nilai maksimum 127 (inklusif).
2) short: Tipe data shortadalah bilangan bulat sebanyak 16-bityang memiliki 2 penanda yaitu positif dan negatif. Tipe data ini memiliki nilai minimal -32.768 dan nilai maksimum dari 32.767 (inklusif).
3) int: Tipe data intadalah bilangan bulat sebanyak 32-bityang memiliki 2 penanda yaitu positif dan negatif. Tipe data ini memiliki nilai minimal -2147483648 dan nilai maksimum 2147483647 (inklusif).
4) long: Tipe data longadalah bilangan bulat sebanyak 64-bityang memiliki 2 penanda yaitu positif dan negatif. Tipe data ini memiliki nilai minimal -9.223.372.036.854.775.808 dan nilai maksimum dari 9.223.372.036.854.775.807 (inklusif).
5) float: Tipe data floatmerupakan bilangan bulat desimal sebanyak 32-bityang memiliki 2 penanda yaitu positif dan negatif. Tipe data ini memiliki ketelitian desimalnya hingga 7 digit serta memiliki nilai minimal -2147483648.0 dan nilai maksimum 2147483647.0 (inklusif).
6) double: Tipe data doublemerupakan bilangan bulat desimal sebanyak 64-bityang memiliki 2 penanda yaitu positif dan negatif. Tipe data ini memiliki ketelitian desimalnya hingga 16 digit serta memiliki nilai minimal -9.223.372.036.854.775.808.0 dan nilai maksimum dari 9.223.372.036.854.775.807.0 (inklusif).
7) boolean: Tipe data boolean hanya memiliki dua kemungkinan nilai yaitu truedan false. Tipe data ini biasanya digunakan untuk menyatakan suatu kondisi, yaitu kondisi benar atau salah. Selain itu, tipe data ini merupakan tipe data satu bitinformasi, tetapi "size" nya bukanlah sesuatu yang tepat untuk didefinisikan.
8) char: Tipe data char adalah karakter 16-bit Unicode. Ini memiliki nilai minimal '\ u0000' (atau 0) dan nilai maksimum '\ uffff' (atau 65.535 inklusif).
Selaindelapan tipedata primitifyang tercantum di atas, bahasapemrogramanJavajuga menyediakan dukungankhusus untukStringkaraktermelaluiClass java.lang.String. Dengan melampirkanString karakterkita di dalamapitan tanda kutip ganda, makasecara otomatisakanmembuat object String baru, misalnya String s = "ini adalah string";. Object String yang telah berubah, berartisetelahdibuatnilai-nilai merekatidak dapat diubah lagiatau dengan kata lain nilainya sudah menetap. Class String secara teknis tidak termasuk tipe data primitif, tetapi mengingat dukungan khusus yang diberikan kepadanya oleh bahasaJava, kitamungkin akancenderung berpikirseperti itu.
b. Nilai default ( Default Value )
Dalam penerapannya, nilai sebuah variabel tidak selalu perlu diinisialisasikan pada sebuah field yang dideklarasikan. Field yang dideklarasikan tetapi tidak diinisialisasi akan diatur ke default yang sesuai dengan standart oleh kompilator. Secara umum, standart ini akan menjadi nol atau null, tergantung pada jenis tipe data itu sendiri. Namun, mengandalkan nilai default seperti itu, bagaimanapun, umumnya dianggap gaya pemrograman yang buruk.Tabel berikut merangkum nilai default untuk tipe-tipe data di atas.
| Data Type | Default Values ( For Fields ) |
| byte | 0 |
| short | 0 |
| int | 0 |
| long | 0 |
| float | 0.0 |
| double | 0.0 |
| char | '\u0000' |
| String ( or any object ) | null |
| boolean | false |
Variabel lokal sedikit berbeda, kompilatortidak pernahmemberikannilai default kevariabel lokalyang tidak terinisialisasi. Jikakitatidak menginisialisasikanvariabel lokaldimana ia dinyatakan, pastikan untukmenetapkannilainyasebelum kitamencoba untuk menggunakannyaatau mengaksesnya. Hal itu dikarenakan mengaksesvariabellokalyang belum terinisialisasiakanmengakibatkankesalahansaat kompilasi.
3. Operator
Sekarangkita telah mengetahuibagaimana cara mendeklarasikandanmenginisialisasivariabel. Kita mungkiningin tahubagaimana “melakukan sesuatu” dengan mereka. Memahami operator-operator yang ada pada bahasapemrogramanJavaadalah langkah yang tepatuntuk memulainya. Operatoradalah simbolkhusus yangmelakukan operasitertentu pada satu, dua, atau tigaoperan, dankemudian mengembalikanhasilnya.
Seperti yang ingin kitaeksplorasi,kita mungkin ingin mengetahui operator mana yang memiliki hak lebih tinggi dalam perbandingan antara beberapa operator. Operator-operatordi tabelberikut ini tercantumsesuai denganurutan hak-nya. Semakin dekatke puncaktabel operator itu muncul,opertator itu memiliki hak yang lebih tinggi. Operatordenganyang lebih tinggi hak-nya didahulukanuntuk dievaluasisebelum operatordenganhakyang lebih rendah. Operatorpada baris yang samamemiliki hak yang sama. Ketika operator dengan hakyang samamuncul dalamekspresiyang sama, sebuah kuasa harus menentukanoperator mana yangdievaluasi terlebih dahulu. Semua operator kecualioperator penugasandievaluasi dari kiri ke kanan, operator penugasasandievaluasi dari kanan ke kiri ( dalam ekspresi yang sama ).
| Operator | Precedence |
| Postfix | expr ++ expr-- |
| Unary | ++expr --expr +expr -expr ~ ! |
| Multiplicative | * / % |
| Additive | + - |
| Shift | << >> >>> |
| Relational | < > <= >= instanceof |
| Equality | == != |
| Bitwise AND | & |
| Bitwise Exclusive OR | ^ |
| Bitwise Inclusive OR | | |
| Logical AND | && |
| Logical OR | || |
| Ternary | ?: |
| Assignment | = += -= *= /= %= &= ^= |= <<= >>= >>>= |



0 komentar:
Posting Komentar