Apakah ada perbedaan antara tanda kutip tunggal dan ganda di Jawa?


101

Apakah ada perbedaan antara tanda kutip tunggal dan ganda di Jawa?

Jawaban:


146

Gunakan tanda kutip tunggal untuk literal char, tanda kutip ganda untuk literal String, seperti ini:

char c = 'a';
String s = "hello";

Mereka tidak dapat digunakan dengan cara lain (seperti di Python, misalnya).


10
Dan, tentu saja, perilaku ini dipinjam dari C (yang mungkin didapat di tempat lain, saya kira).
JesperE

Bagi saya, apostrof literal secara otomatis dimasukkan ke intdalam konteks seperti itu. Jadi tidak perlu begitu char. Pantas mendapat beberapa suara negatif ... sederhana.
Hydroper

36

Karakter adalah karakter UTF-16 tunggal, yaitu huruf, angka, tanda baca, tab, spasi, atau yang serupa.

Sebuah karakter literal adalah salah satu karakter tunggal yang diapit oleh tanda kutip tunggal seperti ini

char myCharacter = 'g'; 

atau urutan escape, atau bahkan urutan escape unicode:

char a = '\t';    // Escape sequence: tab
char b = '\177'   // Escape sequence, octal.
char c = '\u03a9' // Unicode escape sequence. 

Perlu dicatat bahwa urutan escape Unicode diproses sangat awal selama kompilasi dan karenanya menggunakan '\ u00A' akan menyebabkan kesalahan kompilator. Untuk simbol khusus, lebih baik menggunakan urutan escape sebagai gantinya, yaitu '\ n' daripada '\ u00A'.

Untuk tanda kutip ganda String, Anda harus menggunakan "urutan pelolosan tanda kutip ganda" ( \") di dalam string di mana ia akan menghentikan string.
Misalnya:

System.out.println("And then Jim said, \"Who's at the door?\"");

Tanda petik ganda tidak perlu keluar dari tanda petik tunggal.
Baris berikut legal di Jawa:

char doublequote = '"';

12

Mari pertimbangkan baris kode ini (Java):

System.out.println("H"+"A"); //HA
System.out.println('H'+'a'); //169

1) Baris pertama adalah rangkaian dari Hdan Aitu akan menghasilkan HA(String literal)

2) Kedua kita menjumlahkan nilai dua char yang sesuai dengan Tabel ASCII H= 72 dan a= 97 itu artinya kita menjumlahkan 72+97like ('H'+'a').

3) Mari pertimbangkan kasus lain di mana kita akan memiliki:

System.out.println("A"+'N');//AN

Dalam hal ini kita berurusan dengan penggabungan String Adan char Nyang akan menghasilkan AN.


4

Kutipan tunggal menunjukkan karakter dan tanda kutip ganda menunjukkan string ..

char c = 'c';

'c' -----> c adalah karakter

String s = "stackoverflow";

"stackoverflow" ------> stackoverflow adalah string (yaitu kumpulan jika karakter)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.