Misalnya, tulis sepotong kode seperti ini:
Copy kode kodenya sebagai berikut:
ke dalam aku;
{
ke dalam j=1;
saya=j;
}
Jika kode ini ada di area definisi kelas, maka kita tahu bahwa itu adalah blok pernyataan biasa yang digunakan untuk menginisialisasi konten atribut kelas. Kode ini akan dipanggil ketika kelas dipakai, dan beberapa metode dapat dieksekusi di dalamnya.
Dalam banyak kasus, ini akan digunakan dalam mode tunggal dan mode lainnya. Tambahkan statis sebelum menginisialisasi konten untuk kelas kompleks, yang dapat menghindari beberapa pengecualian waktu proses yang disebabkan oleh urutan pemuatan.
Tetapi bagaimana jika kode ini muncul di suatu metode?
Itu pada dasarnya tidak masuk akal sama sekali. Dalam pemikiran saya sebelumnya, itu hanya format untuk melampirkan kode, tidak ada yang lain.
Hari ini saya menulis sedikit kode yang berhubungan dengan "tag pernyataan":
Copy kode kodenya sebagai berikut:
label17: ke dalam saya;
ke dalam j;
ThreadGroup[] arrayOfThreadGroup;
jika (bendera)
merusak label17;
kembali 0;
Pengecualian "Kesalahan sintaksis pada token ":", { diharapkan setelah token ini" terjadi pada posisi ":".
Artinya, ketika kode tidak dapat ada dalam satu baris (int i harus memiliki posisi instantiasi/penugasan yang jelas di dalam badan metode), label17 perlu ditandai dengan blok pernyataan.
Format yang benar adalah:
Copy kode kodenya sebagai berikut:
label17: {
ke dalam aku;
ke dalam j;
ThreadGroup[] arrayOfThreadGroup;
jika (bendera)
merusak label17;
kembali 0;
}
atau:
label17:
ke dalam aku;
ke dalam j;
ThreadGroup[] arrayOfThreadGroup;
jika (bendera){
merusak label17;
kembali 0;}
Mari kita lihat penggunaan yang salah:
Copy kode kodenya sebagai berikut:
label13: int x = 0;
Jelas, ada blok pernyataan satu baris default setelah label. X ini tidak dapat digunakan di mana pun di masa mendatang, kesalahan. Tipsnya adalah sebagai berikut:
Banyak penanda di baris ini
- x tidak dapat diselesaikan ke suatu variabel
- Kesalahan sintaks pada token "int", hapus token ini
Ada dua format yang benar:
Copy kode kodenya sebagai berikut:
ke dalam x = 0;
label13: x = 0;
atau
label13:{ int x = 0;}
Jadi saya berspekulasi bahwa kesalahpahaman sebelumnya adalah bahwa dalam penggunaan seperti for(){} dan if(){}, logika if() dan blok pernyataan {} harus berupa dua sintaksis independen.