A snippet kuliah karo mentor minangka bagéan saka kursus Universitas Codegym. Ndaftar kanggo kursus lengkap.


"Salam, Amigo. Biyen, sampeyan sinau yen kanggo nulis senar karakter ing kode, sampeyan kudu mbungkus nganggo kuotasi ganda."

"Ya, lan sing menehi kita string literal . Ora suwe banget aku ngerti babagan iki."

"Ing profesi kita, sing wis dangu kepungkur. Nanging saiki dudu titik kasebut. Nanging, tulung apa sing kudu ditindakake yen kita butuh tanda petik ing string literal?"

"Hmm... String sing ngemot kuotasi - apa sing bisa luwih gampang. Aku yakin ana sawetara cara ..."

"Ya. Ayo kita ngomong yen kita pengin nampilake teks kasebut "Friends" was nominated for an "Oscar". Kepiye carane?"

"Sajujure, aku ora ngerti. Aku ora bisa mikir apa-apa."

"Sampeyan ora bakal bisa nemokake solusi liwat logika, aku mung nuduhake apa sing kudu ditindakake.

Kode Cathetan
String s = ""Friends" was nominated for an "Oscar"";
Opsi iki ora bakal bisa digunakake!"

"Opsi iki ora bakal bisa digunakake, amarga compiler nerangake iki minangka kode sing beda banget:

Kode Cathetan
String s = ""Friends" was nominated for an "Oscar"";
Opsi iki ora bakal bisa digunakake!"

"Sawise compiler ketemu kuotasi pindho ing kode, nganggep apa nderek minangka awal string literal. Tanda petik pindho sabanjuré nuduhake pungkasan string literal."

"Dadi carane sampeyan nulis kuotasi dobel ing njero literal?"

"Ana cara. Iki diarani karakter lolos . Sampeyan mung nulis tanda petik ing senar teks. Lan sadurunge kuotasi, sampeyan nambah simbol \ ( backslash ).

"Iki kaya string literal nalika ditulis kanthi bener:

Kode Cathetan
String s = "\"Friends\" was nominated for an \"Oscar\"";
Iki bakal bisa!

"Kompiler bakal napsirake kabeh kanthi bener lan ora bakal nganggep tandha petik sawise garis miring minangka tandha kutip normal.

"Apa maneh, yen sampeyan nampilake string iki menyang layar, kuotasi kanthi garis miring mundur bakal diproses kanthi bener, lan teks bakal ditampilake tanpa garis miring:"Friends" was nominated for an "Oscar"

"Wah, aku ora bakal ngomong yen iki pancen trep banget ... "

"Nanging apa sampeyan bisa nindakake, iku aturan. Titik penting liyane. Tanda kutip sing didhisiki dening backslash nggambarake karakter siji: kita mung nggunakake notasi lunyu sing ora ngganggu kemampuan kompiler kanggo ngenali literal string ing kita. kode. Sampeyan bisa nemtokake kuotasi kanggo charvariabel:

Kode Cathetan
char c = '\"';
\"iku siji karakter, ora loro
char c = '"';
Iki uga bisa uga: tandha petik pindho ing kuotasi siji

Kahanan umum sing kedadeyan nalika uwal karakter

"Saliyane kuotasi kaping pindho, ana akeh karakter liyane sing ditangani dening compiler kanthi cara khusus. Contone, break line.

"Kepiye carane kita nambahake break baris menyang literal? Ana uga kombinasi khusus kanggo iki:

\n
Karakter line break

"Yen sampeyan perlu kanggo nambah baris break menyang string literal, sampeyan mung nambah saperangan karakter" \n.

Tuladha:

Kode Output konsol
System.out.println("Best regards, \n Anonymous");
             
Best regards,
Anonymous

"Ana total 8 kombinasi khusus kaya iki, sing uga disebut urutan uwal . Iki minangka:

Kode Katrangan
\t Lebokake karakter tab
\b Lebokake karakter backspace
\n Lebokake karakter baris anyar
\r Lebokake karakter bali kreta
\f Lebokake karakter feed kaca
\' Lebokake tandha petik siji
\" Lebokake tandha petik pindho
\\ Pasang garis miring mundur

"Sampeyan wis nuduhake aku loro. Apa tegese 6 liyane?"

“Aku bakal nerangake kabeh saiki.

\tiku karakter tab

Nalika teks iki katon ing teks, iku padha karo mencet Tabtombol nalika ngetik. Iki ngowahi teks sing ngetutake lan ndadekake bisa nyelarasake teks.

Tuladha:

Kode Output konsol
System.out.println("0\t1\t2\t3");
System.out.println("0\t10\t20\t30");
System.out.println("0\t100\t200\t300");
0       1        2        3
0       10       20       30
0       100      200      300

\btegese 'mundur siji karakter'

Urutan ing senar iki padha karo mencet Backspacetombol ing keyboard. Iki mbusak karakter sing ndhisiki:

Kode Output konsol
System.out.println("Hello\b\b World");
Hel World

\ryaiku watak bali kreta

Karakter iki mindhah kursor menyang wiwitan baris saiki tanpa ngganti teks (gumantung versi JDK). Apa wae sing ditampilake sabanjure bakal nimpa senar sing ana.

Tuladha:

Kode Output konsol
System.out.println("Greetings\r World!"); 
World!ngs

\fminangka karakter feed kaca

Simbol iki teka mudhun kanggo kita saka dina pisanan dot matrix printer. Outputing urutan iki menyang printer bakal nimbulaké printer mung feed metu sheet saiki, tanpa nyetak teks sembarang, nganti kaca anyar diwiwiti.

Saiki kita bakal ngarani kaca break utawa kaca anyar .

\\yaiku backslash

Kabeh iku langsung ing kene. Yen kita nggunakake backslash kanggo uwal karakter ing teks kita, banjur carane kita nulis karakter backslash dhewe ing senar?

Iku prasaja: nambah backslash kanggo teks — sampeyan kudu nulis loro ing saurutan.

Tuladha:

Kode Output konsol
System.out.println("c:\projects\my\first");
Compiler bakal nguwuh sampeyan amarga karakter sing ora dingerteni.
System.out.println("c:\\projects\\my\\first");
Mangkono uga ditindakake kanthi bener!

"Nganggo garis miring kaping pindho ana akal. Nanging aku ora langsung bisa ngapalake kabeh liyane. Aku kudu ngandelake pitunjuk sampeyan."

"Mboko sithik, sampeyan bakal ngelingi apa sing sampeyan butuhake. Aja kuwatir. Lan kanggo kabeh liyane, ana Google.

Encoding Unicode

"Sampeyan wis ngerti yen saben karakter sing ditampilake ing layar cocog karo kode numerik tartamtu. Sawijining set standar saka kode kasebut diarani encoding .

"Biyen, nalika komputer anyar diciptakake, pitung bit (kurang saka siji bait) cukup kanggo ngodhe saben karakter. Encoding pisanan mung ana 128 karakter. Encoding iki diarani ASCII . "

"Iku jeneng aneh."

"Ora ana sing aneh. Iku singkatan. ASCII stands for American Standard Code for Information Interchange - tabel kode standar Amerika kanggo karakter sing bisa dicithak lan sawetara kode khusus."

"Kasedhiya 33 karakter kontrol sing ora bisa dicithak (sing mengaruhi cara teks lan spasi diproses) lan 95 karakter sing bisa dicithak, kalebu angka, huruf Latin gedhe lan cilik, lan sawetara tandha wacan.

"Nalika komputer saya populer, saben negara wiwit ngeculake enkoding dhewe. Biasane, dheweke njupuk ASCII minangka titik wiwitan lan ngganti karakter ASCII sing arang digunakake kanthi simbol saka aksara masing-masing.

"Suwene wektu, ide muncul: nggawe enkoding siji sing ngemot kabeh karakter saben enkoding ing donya.

Encoding Unicode

"Mangkono, ing taun 1993, encoding Unicode digawe, lan basa Jawa dadi basa pamrograman pisanan sing nggunakake encoding iki minangka standar kanggo nyimpen teks. Saiki Unicode minangka standar kanggo kabeh industri IT.

"Sanajan Unicode dhewe minangka standar, ana sawetara perwakilan utawa format transformasi Unicode (UTF): UTF-8, UTF-16 lan UTF-32, lsp.

"Jawa nggunakake enkoding Unicode versi majeng — UTF-16: saben karakter dienkode ing 16 bit (2 bita). Bisa nampung nganti 65.536 karakter! Sampeyan bisa nemokake meh saben karakter saben aksara ing donya ing enkoding iki. "

"Muga-muga aku ora perlu ngerti kanthi ati?"

"Yen sampeyan pengin, pindhah menyang!"

"Oke, apik. Aku bakal nggunakake aturan iki: sampeyan ora bisa ngerti kabeh, nanging sampeyan bisa Google kabeh."

"Ngadopsi pendekatan rasional iku kabeh. Dadi, kanggo nulis karakter Unicode ing program sampeyan nggunakake kode, sampeyan kudu nulis \u+ kode ing heksadesimal . Contone,\u00A9

Kode Output konsol
 System.out.println("\u00A9 CodeGym");
© CodeGym

Unicode: titik kode

"640 kilobyte kudu cukup kanggo kabeh wong! Utawa ora". Bill Gates tau ngomong kuwi. Utawa ora. Paling ora kutipan iki digandhengake karo dheweke."

"Haha. 640 kilobyte malah ora cukup kanggo mbukak otak robot pembersih."

"Urip iku atos, lan liwat wektu, enkoding UTF-16 wiwit ora nyukupi. Pranyata ana akeh basa Asia, lan padha duwe akeh glyphs. Lan kabeh glyphs iki mung ora bisa crammed menyang 2 byte. ."

"Dadi apa sing kudu kita lakoni?"

"Gunakake luwih akeh bita ! Nanging jinis char mung 2 bita lan ngganti dadi 4 ora gampang banget: milyaran baris kode Jawa wis ditulis ing saindenging jagad, sing bakal rusak yen jinis char dumadakan dadi 4 bita Jawa. Dadi kita ora bisa ngganti jinis char!

"Ana pendekatan liyane. Elinga carane kita uwal karakter dening sijine backslash ing ngarepe. Sejatine, kita encode karakter siji nggunakake sawetara karakter. pangripta Jawa mutusaké kanggo nggunakake pendekatan padha.

"Sawetara karakter sing katon kanthi visual minangka karakter tunggal dikode minangka rong chars ing senar:

Kode Output konsol
System.out.println("\uD83D\uDD0A");
🔊

"Saiki program Java sampeyan malah bisa ngasilake emojis menyang konsol 😎"

"Aku mesthi bakal nggunakake kanggo seneng-seneng!"