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 penamaan
field? Selain int,
apa jenis data lainnya yang ada? Apakah field harus
diinisialisasikan
pada 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 sumber
umum dari kebingungan di kalangan
pengembang ( programmer
) baru, karena keduanya sering
tampak merujuk pada hal yang sama.
Bahasa pemrograman Java mendefinisikan jenis-jenis variabel
yang ada sebagai berikut:
a. Instance Variables (Non-Static Fields).
Secara teknis, object menyimpan state atau kondisi
dalam "Non-Static Fields", yaitu field
yang 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 Class
menggunakan variabel ini. Secara sederhana, sebuah field mendefinisikan jumlah gear
untuk 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 final
dapat 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 state
sementara 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 pembahasan
berlaku untuk "semua jenis variabel di
atas", 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 short
adalah bilangan bulat sebanyak 16-bit
yang 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 int
adalah bilangan bulat sebanyak 32-bit
yang memiliki 2 penanda yaitu positif dan negatif. Tipe data ini memiliki nilai
minimal -2147483648 dan nilai maksimum 2147483647 (inklusif).
4)
long:
Tipe data long
adalah bilangan bulat sebanyak 64-bit
yang 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 float
merupakan bilangan bulat desimal sebanyak 32-bit
yang 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 double
merupakan bilangan bulat desimal sebanyak 64-bit
yang 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 true
dan false.
Tipe data ini biasanya digunakan untuk menyatakan suatu kondisi, yaitu kondisi
benar atau salah. Selain itu, tipe data ini merupakan tipe data satu bit
informasi, 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).
Selain
delapan tipe
data primitif
yang tercantum di atas,
bahasa
pemrograman
Java
juga menyediakan dukungan
khusus untuk
String
karakter
melalui
Class java.lang.String.
Dengan melampirkan
String karakter
kita di dalam
apitan tanda kutip ganda, maka
secara otomatis
akan
membuat object String baru,
misalnya String s = "ini adalah
string";. Object
String yang
telah berubah,
berarti
setelah
dibuat
nilai-nilai mereka
tidak dapat diubah lagi
atau dengan kata lain nilainya sudah menetap. Class
String secara teknis tidak
termasuk tipe
data primitif, tetapi
mengingat dukungan
khusus yang
diberikan kepadanya
oleh bahasa
Java,
kita
mungkin akan
cenderung berpikir
seperti 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, kompilator
tidak pernah
memberikan
nilai default ke
variabel lokal
yang tidak terinisialisasi.
Jika
kita
tidak menginisialisasikan
variabel lokal
dimana ia dinyatakan,
pastikan untuk
menetapkan
nilainya
sebelum kita
mencoba untuk menggunakannya
atau mengaksesnya. Hal itu dikarenakan mengakses
variabel
lokal
yang belum terinisialisasi
akan
mengakibatkan
kesalahan
saat kompilasi.
3.
Operator
Sekarang
kita telah mengetahui
bagaimana cara mendeklarasikan
dan
menginisialisasi
variabel.
Kita mungkin
ingin tahu
bagaimana “melakukan
sesuatu” dengan
mereka. Memahami operator-operator
yang ada pada bahasa
pemrograman
Java
adalah langkah yang tepat
untuk memulainya.
Operator
adalah simbol
khusus yang
melakukan operasi
tertentu pada satu,
dua,
atau tiga
operan,
dan
kemudian mengembalikan
hasilnya.
Seperti
yang ingin kita
eksplorasi,
kita mungkin ingin mengetahui operator mana yang
memiliki hak lebih tinggi dalam perbandingan antara beberapa operator.
Operator-operator
di tabel
berikut ini tercantum
sesuai dengan
urutan hak-nya.
Semakin dekat
ke puncak
tabel operator itu muncul,
opertator itu memiliki hak yang lebih tinggi.
Operator
dengan
yang lebih tinggi hak-nya didahulukan
untuk dievaluasi
sebelum operator
dengan
hak
yang lebih rendah. Operator
pada baris yang sama
memiliki hak yang
sama. Ketika
operator dengan hak
yang sama
muncul dalam
ekspresi
yang sama, sebuah kuasa harus menentukan
operator mana yang
dievaluasi terlebih dahulu.
Semua operator kecuali
operator penugasan
dievaluasi dari kiri
ke kanan, operator penugasasan
dievaluasi 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