Advertisement
  1. Code
  2. Coding Fundamentals

Belajar Java untuk Membangun Android: Sintaksis Java

Scroll to top
Read Time: 13 min
This post is part of a series called Learn Java for Android Development.
Learn Java for Android Development: Introduction to Java
Learn Java for Android Development: Checking Object Type with Instanceof

() translation by (you can also view the original English article)

Dalam seri tutorial ini, anda akan lebih akrab dengan java, bahasa pemprograman digunakan untuk membangun aplikasi Android. Tujuan kami adalah untuk mempersiapkan mereka yang sudah akrab dengan bahasa pemrograman yang satu, seperti PHP atau Objective-C, untuk menjadi nyaman bekerja dengan pemrograman bahasa dan menyelam ke dalam aplikasi Android pengembangan Java. Dalam tutorial ini tertentu, Anda akan mempelajari dasar-dasar sintaks Java, termasuk cara membuat komentar, mendefiniskan variabel, kondisional statement dan iterate menggunakan loop. Jika Anda baru untuk Java, atau hanya mencari penyelesaian pada rincian, maka ini adalah seri tutorial untuk Anda!

Persiapan

Sejauh persyaratan nanti, kita tidak akan membuat banyak asumsi tentang pengalaman pemrograman. Kita akan mengasumsikan Anda memahami bagaimana program (mungkin dalam PHP, atau Visual Basic atau C++), tetapi bahwa Anda tidak terbiasa dengan spesifikasi pemrograman dalam bahasa Java. Kami tidak akan masuk ke rincian mengapa Anda ingin lakukan for-loop versus while-loop, tapi kami akan menunjukkan Anda, di Java, sintaks dari kedua jenis loop. Kata lain, kami tidak akan mengajarkan Anda untuk program; kami akan menyediakan Anda dengan contoh-contoh yang jelas konstruksi bahasa Java yang sering digunakan dan prinsip-prinsip, sementara menunjukkan beberapa Android-spesifik tips dan trik.

Apa yang Anda Butuhkan

Secara teknis, Anda tidak perlu alat untuk menyelesaikan tutorial ini, tetapi Anda pasti akan membutuhkan mereka untuk mengembangkan aplikasi Android.

Untuk mengembangkan aplikasi Android (atau aplikasi Java, hal ini), Anda memerlukan sebuah enviroment pengembangan untuk menulis dan membangun aplikasi. Eclipse adalah sebuah lingkungan pengembangan sangat populer (IDE) untuk Java dan IDE lebih disukai untuk Android pengembangan. Ini tersedia secara gratis untuk sistem operasi Windows, Mac, dan Linux.

Untuk instruksi lengkap tentang cara menginstal Eclipse (termasuk versi yang didukung) dan Android SDK, lihat situs web pengembang Android.

Sekarang mari kita lihat beberapa sintaks Java lebih bermanfaat.

Komentar

Hampir semua bahasa pemprograman menyediakan komentar dan Java pun tidak berbeda. Anda dapat merangkum jumlah baris teks oleh awal komentar Anda dengan /* dan mengakhiri komentar Anda dengan */. Contohnya:

1
/*    MULTILINE
2
COMMENT  */

anda juga dapat memberikan komentar setelah menggunakan kode tunggal //. Contohnya:

1
int x = 7;        // First variable called x equals seven
2
int y = 8;    // Second variable called y equals eight
3
int result = x + y;    // The result variable value should equal 15

Java juga memiliki tipe standar untuk komentar yang disebut Javadoc tidak hanya dapat  menggunakan kode komentar, tetapi juga menciptakan kode dokumentasi yang lebih mudah. Topik ini agak besar pada itu sendiri, namun berikut adalah contoh dari komentar Javadoc:

1
/** This method does something interesting
2
 *
3
 * @param someValue processed and returned
4
 * @param option changes the type of processing done to someValue
5
 * @return The result of someValue being processed
6
 */
7
public int sampleMethod(int someValue, boolean option) {
8
    //…
9
}

Variabel

Variabel ini hanya sepotong data. Variabel Java umumnya terbagi dalam dua Kategori:

  • Jenis data primitif, seperti int, float, double, char, dll.
  • Java object (seperti yang ditentukan oleh definisi kelas)

Variabel yang digunakan untuk tujuan yang berbeda. Kadang-kadang variabel yang digunakan untuk menyimpan nilai-nilai yang dapat mengubah atau dapat diubah, dari waktu ke waktu. Sebagai contoh, variabel disebut counter mungkin bertambah pada kesempatan. Variabel-variabel lainnya, terutama variabel kelas yang tetap sama untuk semua contoh dari kelas tertentu, harus didefinisikan dengan menggunakan kata kunci yang statis. Kali variabel lain mungkin mewakili konstanta-variabel ini harus menggunakan kata kunci final untuk menunjukkan mereka tidak berubah dari waktu ke waktu.

Variabel ini hanya berlaku dalam wilayahnya, atau scope. Variable scope sering di kontrol oleh kurung kurawal { }. Ketika variabel didefinisikan, hal ini berlaku dalam kurung kurawal itu. Jika Anda mencoba untuk mengakses variabel di luar tanda kurung, ini akan menjadi undefined. Variabel anggota kelas dalam bahasa berorientasi objek sering disebut atribut. Mereka dapat juga disebut field atau properti.

Seperti bahasa pemrograman lain umum, Anda sudah punya operator tugas Anda, sama dengan tanda:

1
int i = 5;

Anda juga punya operator Anda aritmatika seperti +, -, *, /. Ingatlah untuk menggunakan kurung untuk memaksa Orde operasi yang diperlukan:

1
int result = (a + b) / c;

Akhirnya, Anda memiliki operator unari khas Anda, yang memungkinkan Anda untuk memodifikasi sebuah variabel dengan pernyataan sederhana:

1
iPositive++;    // increment by one; equivalent to iPositive = iPositive + 1;
2
iPositive --; // decrement by one; equivalent to iPositive = iPositive - 1;

Perhatikan bahwa increment (++) dan decrement(--) operator dapat awalan atau postfix, berarti bahwa increment dapat dieksekusi sebelum atau setelah setiap conditional ditentukan, jika item ini digunakan dalam perulangan. Umumnya, kita ingin menempel postfix pernyataan, sehingga kode lebih mudah dibaca.

Tipe primitif Data

Mari kita lihat beberapa tipe primitif data tersedia di Java bahasa pemrograman:

  • byte
    • Variabel byte adalah bilangan bulat 8-bit nilai antara -128 dan 127. Sering digunakan untuk array.
  • short
    • Variabel pendek adalah 16-bit integer antara-32,768 dan 32,767. Sekali lagi, sering digunakan untuk array.
  • Int
    • Variabel int adalah 32-bit integer antara -2,147,483,648 dan 2,147,483,647. Ini adalah variabel "number" yang paling sering digunakan.
  • long
    • Variabel panjang adalah 64-bit integer antara-9,223,372,036,854,775,808 dan 9,223,372,036,854,775,807. Digunakan ketika tipe data int tidak cukup besar.
  • float
    • Variabel float adalah nomor titik 32-bit single presisi.
  • double
    • Variabel dobule adalah  double-presisi 64-bit floating point. Menggunakan tipe data ini untuk nilai-nilai desimal.
  • Boolean
    • Variabel boolean memiliki hanya dua nilai yang mungkin: true dan false. Menggunakan tipe data ini untuk conditional statement.
  • char
    • Char variabel adalah 16-bit Unicode karakter tunggal.

Variabel tipe primitif dapat didefinisikan dengan menentukan datatype, diikuti oleh nama variabel, maka tanda sama dengan, dan awal nilai. Semua Java statement diakhiri dengan semicolon. Misalnya, pernyataan Java berikut mendefinisikan sebuah variabel yang disebut iVal, dengan nilai awal 1:

1
int iVal = 1;

Seperti banyak bahasa lain, Anda dapat menentukan sebuah array nol berbasis jenis data tertentu. Sebagai contoh, berikut mendefinisikan sebuah array dari tiga nilai bilangan bulat (empat kekuatan 2):

1
int[] aiPowersOfTwo;
2
aiPowersOfTwo = new int[4];
3
aiPowersOfTwo [0] = 1;    //  2^0=1
4
aiPowersOfTwo [1] = 2;    //  2^1=2
5
aiPowersOfTwo [2] = 4;    //  2^2=4
6
aiPowersOfTwo [3] = 8;    //  2^3=8

Objek yang biasa digunakan di Java

Jawa Perpustakaan menyediakan sejumlahobjek-objek yang berguna untuk digunakan data struktur yang umum. Semua objek-objek yang berasal dari kelas Object. Ada rekan-rekan kelas untuk semua jenis data yang primitif. Misalnya, kelas Integer merangkum nilai int dan menyediakan beberapa metode yang berguna untuk memanipulasi data nilai bilangan bulat. Sebagai contoh, kode Java berikut instantiates integer variabel disebut iVal, kemudian menciptakan objek Integer menggunakan constructor yang mengambil integer, dan kemudian menggunakan metode yang tersedia di kelas Integer untuk meng-extract float variable

1
int iVal = 1;
2
Integer integ1= new Integer(iVal);
3
float f = integ1.floatValue();

Mungkin objek yang paling umum yang akan Anda gunakan dalam aplikasi Android adalah String. Kelas String digunakan untuk merangkum karakter human-readable text, yang sering ditampilkan ke layar. Jika Anda memodifikasi atau membangun string dari bagian yang lebih kecil, Anda juga akan ingin untuk memeriksa kelas StringBuffer dan StringBuilder.

1
String strHello = new String("Hello World");

Untuk daftar jenis Java data type yang umum, referensi Android termasuk dokumentasi untuk paket java.lang. Anda juga dapat menemukan objek input/output umum dalam paket java.io.

Untuk struktur data yang lebih kompleks seperti lists, queues, stacks, dates dan times, kelas-kelas yang sesuai yang dalam paket java.util.

Akhirnya, aplikasi Android bergantung pada sejumlah kelas berguna yang mendefinisikan komponen aplikasi umum digunakan, seperti Activity, Application, Dialog, dan Service. Kelas-kelas ini dapat ditemukan dalam paket android.app.

Kelas Permission dan Access

Anda dapat mengontrol visibilitas kelas serta dengan variabel dan metode dengan menentukan item access level. Tingkat akses level: public, protected dan private. Secara umum, jika Anda ingin sesuatu yang harus dapat diakses dari luar kelas, menggunakan public. Jika metode atau variabel hanya boleh diakses dari kelas itu sendiri, menggunakan private. gunakan protected ketika kelas atau salah satu sub kelasnya memerlukan akses.

Misalnya, definisi kelas SillySensor berikut menetapkan beberapa variabel dan metode dengan tingkat akses yang berbeda:

  • Sebuah variabel kelas yang disebut sensorData, yang hanya terlihat dalam kelas
  • Publci Constructor yang dapat dipanggil di luar kelas
  • Metode private yang disebut calibrate(), yang hanya dapat disebut dari dalam kelas itu sendiri
  • Metode protected yang disebut seedCalibration(), yang dapat dipanggil dari dalam kelas itu sendiri, atau dengan sebuah subclass
  • Metode umum yang disebut getSensorData(), yang dapat dipanggil dari mana saja, memungkinkan untuk "read-only" akses ke variabel sensorData
1
    public class SillySensor
2
    {
3
        private int sensorData;
4
5
        public SillySensor()
6
        {
7
            sensorData=0;
8
        }
9
10
        private void calibrate(int iSeed)
11
        {
12
            // Do some calibration here
13
        }
14
15
        protected void seedCalibration(int iSeed)
16
        {
17
            calibrate(iSeed);
18
        }
19
20
        public int getSensorData()
21
        {
22
            // Check sensor here
23
24
            return sensorData;
25
        }
26
27
    }

Conditional

Java juga ada conditional statement , yang dapat digunakan untuk mengeksekusi potongan kode jika, dan hanya jika, kondisi tertentu terpenuhi. Biasanya, pernyataan kondisional melibatkan dua sisi. Jika kedua belah pihak setara, pernyataan benar, kalau tidak palsu.

Jawa memiliki semua khas bersyarat operator, seperti:

  • == sama, seperti (a== b).
  • != tidak sama dengan, seperti (x != y)
  • > lebih besar daripada, seperti (z > y)
  • >= lebih besar dari atau sama, seperti (q >= z)
  • < kurang dari, seperti (b < a)
  • <= kurang dari atau sama, seperti (a <= z)

Dan ketika Anda perlu untuk menggabungkan beberapa pernyataan bersyarat ke sebuah tes bersyarat lebih besar, Anda dapat menggunakan AND (&) dan OR (||):

  • ((a==b) && (a== c)) / / true jika A sama dengan B dan sama dengan C
  • ((a==b) || (a==c)) benar hanya jika sama dengan B atau sama dengan C

Jawa memiliki bitwise operator (&, |, ^), shift (>>, <<), dan melengkapi (~) operator juga, harus Anda membutuhkannya. Lihat dokumentasi Java untuk rincian lebih lanjut.

Sekarang bahwa Anda tahu bagaimana menyusun sebuah conditional statement, Anda dapat membuat segmen kode bersyarat. Bentuk yang paling sederhana dari sebuah pernyataan bersyarat kode adalah pernyataan if():

1
boolean condition = true;
2
if(condition==true)
3
{
4
    // Execute this code only if  condition variable is true
5
}

Jika Anda ingin memberikan alternatif kode untuk menjalankan jika kondisi tidak terpenuhi, maka menggunakan klausa lain dengan pernyataan if():

1
boolean condition = true;
2
if(condition==true)
3
{
4
    // Execute this code only if condition variable value is true
5
} else {
6
    // Execute this code only if condition variable value is false
7
}

Jika Anda ingin untuk menangani lebih dari dua kasus, Anda dapat menggunakan cascading pernyataan if-else-if-else, seperti ini:

1
if(iVar==0) {
2
    // variable is zero
3
} else if (iVar > 0) {
4
    // variable is a positive number
5
} else {
6
    // variable is a negative number
7
}

Switch Case Statement

Bila Anda memiliki sejumlah jalur kode berbeda mungkin bahwa cabang dari variabel nilai tunggal, Anda dapat menggunakan pernyataan switch(). Dengan switch pernyataan, Anda menyertakan variabel untuk memeriksa dan menyediakan banyak pilihan untuk melaksanakan untuk kasus-kasus tertentu. Anda juga dapat menyertakan opsi default untuk melaksanakan jika tidak lain kasus berlaku. Setiap kasus dapat diakhiri dengan pernyataan break. Jika pernyataan break tidak disertakan, kode akan terus melaksanakan ke pernyataan kasus berikutnya.

1
        char singleChar = 'z';
2
        switch(singleChar) {
3
        case 'a':
4
        case 'e':
5
        case 'i':
6
        case 'o':
7
        case 'u':
8
            // singleChar is a vowel! Execute this code!
9
            break;
10
        default:
11
             // singleChar is a consonant! Execute this code instead!
12
             break;
13
        }

Loop

Bila Anda ingin mengeksekusi kode berulang kali, atau menggunakan recursion (heh, mencari yang satu jika Anda tidak tahu apa yang sedang kita bicarakan), Java memiliki dukungan untuk beberapa jenis loop.

Untuk loop terus-menerus asalkan pernyataan benar, menggunakan while() loop:

1
int numItemsToProcess = 3;
2
while(numItemsToProcess > 0)
3
{
4
    // process an item
5
    numItemsToProcess--;
6
}

Jika Anda ingin untuk mengevaluasi ekspresi bersyarat loop setelah iterasi pertama, Anda dapat menggunakan do-while loop sebaliknya:

1
do
2
{
3
    // check for items to process, update numItemsToProcess as required
4
    // process item, updated numItemsToProcess
5
} while (numItemsToProcess > 0);

Akhirnya, jika Anda ingin untuk loop untuk jumlah tertentu iterasi, Anda dapat menggunakan for() loop. for() loop memiliki tiga parameter: nilai awal, mengakhiri nilai dan nilai incrementing. Misalnya, untuk menjalankan sebuah loop 100 kali, mencetak angka 1 sampai 100, Anda dapat menggunakan loop for() berikut:

1
for(int i = 1; i <=100; i++)
2
{
3
    // print i
4
}

Catatan: Anda juga dapat menggunakan pernyataan break untuk keluar dari loop while(), do-while() atau for() ketika diperlukan. Anda juga dapat menggunakan pernyataan continue untuk melewati sisa dari iterasi saat ini dari loop dan pindah ke iterasi berikutnya (ulang ekspresi bersyarat, tentu saja).

Passing By Values vs By Reference

Tidak ada pointer di Java OK, ok, pergi ke depan dan bernapas lega. Hidup itu cukup sulit tanpa petunjuk penyia-waktu hal-hal up, kan?

OK, sekarang saatnya untuk membayar perhatian lagi. Di Java, parameter adalah pass by value. Namun, bila parameter metode adalah suatu objek (itu adalah, apa-apa kecuali tipe primitif), hanya referensi ke objek yang dilewatkan ke metode [seperti pointer, Maaf!]. Oleh karena itu, untuk mengubah objek yang dikirimkan ke metode tertentu, Anda umumnya pass dalam reference objek, dan kemudian bertindak berdasarkan itu, yang memodifikasi data yang mendasarinya objek Anda kirim. Anda tidak bisa, bagaimanapun, swap keluar obyek itu sendiri... Berikut adalah sebuah contoh cepat:

Di sini, kami memiliki kelas yang disebut Cat:

1
public class Cat {
2
    private String mCatName;
3
4
    Cat(String name) {
5
        mCatName=name;
6
    }
7
8
    public String getName() {
9
        return mCatName;
10
    };
11
12
    public void setName(String strName) {
13
        mCatName = strName;
14
    };
15
}

Sekarang, mari kita coba untuk menggunakan kelas ini dan melewati sebuah objek kucing ke beberapa fungsi dan melihat apa yang terjadi:

1
    void messWithCat(Cat kitty) {
2
        kitty = new Cat("Han");
3
    }
4
5
    void changeKitty(Cat kitty) {
6
        kitty.setName("Wookie");
7
    }
8
9
    Cat haveKitten()
10
    {
11
        Cat kitten = new Cat("Luke");
12
        return kitten;
13
    }

Akhirnya, mari kita memanggil metode ini dan melihat bagaimana mereka bertindak atas instance objek kucing:

1
Cat cat1 = new Cat("Jabba");
2
Cat cat2 = new Cat("Leia");
3
4
cat1.getName();    // Returns Jabba
5
cat2.getName();    // Returns Leia
6
messWithCat(cat1);
7
changeKitty(cat2);
8
Cat cat3 = haveKitten();
9
cat1.getName();    // Returns Jabba – Note that object remains unchanged!
10
cat2.getName();    // Returns Wookie
11
cat3.getName();    // Returns Luke

Wrapping Up

Anda baru saja menyelesaikan crash-course pemrograman Java . Sementara Anda mungkin tidak akan siap untuk menulis aplikasi Java yang pertama Anda, Anda harus mampu bekerja melalui sampel Android aplikasi Java kelas yang paling sederhana dan menentukan apakah mereka sedang, setidaknya dalam hal sintaks Java. Kelas pertama Anda akan ingin melihat ke dalam untuk Android pengembangan adalah Activity kelas. Aplikasi Android menggunakan Actvity untuk menentukan tugas-tugas berbeda runtime, dan karena itu Anda harus mendefinisikan suatu Activity untuk bertindak sebagai entry point untuk aplikasi Anda. Sekarang bahwa Anda sudah mendapatkan pegangan pada sintaks Java, kami sangat merekomendasikan bahwa Anda bekerja melalui tutorial Android pemula.

Anda hanya menggores permukaan pembangunan Jawa untuk Android pengembangan. Periksa semua besar tutorial lain pada Mobiletuts + untuk menyelam lebih dalam ke Jawa dan Android pengembangan. Kami sangat merekomendasikan tutorial Android awal berikut: pengenalan Android pengembangan oleh Gyuri Grell dan awal Android: memulai dengan Fortune Crunch mulai berkecimpung dalam pengembangan Android. Semoga sukses!

Tentang penulis

Pengembang mobile Lauren Darcey dan Shane Conder telah menulis beberapa buku tentang Android pengembangan: buku pemrograman mendalam berjudul Android Wireless pengembangan aplikasi dan pengembangan aplikasi Android Sams TeachYourself dalam 24 jam. Ketika tidak menulis, mereka menghabiskan waktu mereka mengembangkan perangkat lunak mobile di perusahaan mereka dan menyediakan jasa konsultasi. Mereka dapat dihubungi di via email ke androidwirelessdev+mt@gmail.com, melalui blog mereka androidbook.blogspot.com, dan Twitter @androidwireless.

Perlu lebih banyak bantuan menulis aplikasi Android? Memeriksa buku-buku terbaru dan sumber daya kami!

Buy Android Wireless Application Development, 2nd Edition Buy Sam's Teach Yourself Android Application Development in 24 Hours Mamlambo code at Code Canyon


Tutorial terkait:


Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.