JavaRush /Java Blog /Random-ID /Melarikan diri dari karakter di Java
Oleksandr Klymenko
Level 13
Харків

Melarikan diri dari karakter di Java

Dipublikasikan di grup Random-ID
Ada yang salah! Artikel ini ditulis sebagai tugas ujian untuk posisi di tim JavaRush. Dan itu ditulis sebagai ceramah penuh. Oleh karena itu, saya jamin kualitas dan kuantitas ilmu bermanfaat yang terkumpul dalam postingan ini. Selain informasi praktis dan teoretis, artikel ini juga memuat fakta menarik yang mungkin belum Anda ketahui! Melarikan diri dari karakter di Java - 1Halo Dunia! Pelarian karakter adalah solusi teknis yang sangat menarik dan perlu. Kebutuhan akan pelolosan karakter telah memainkan peran penting dalam sejarah seluruh industri pemrograman. Pada artikel ini, kita akan membahas tentang apa itu pelolosan karakter, mengapa perlu pelolosan karakter, dan bagaimana pelolosan karakter diterapkan di Java. Artikel ini akan memberikan contoh dan fakta menarik terkait topik character escape. Selamat membaca! Semua informasi dalam sistem komputer direpresentasikan dalam bentuk teks, yang pada tingkat lebih rendah diwakili oleh byte. Saat kita menulis surat atau pesan, kita mengetik teks yang dapat dimengerti seseorang. Saat kita menulis kode di IDE, kita mengetikkan teks yang dapat diurai oleh kompiler. Di Java, teks dapat direpresentasikan sebagai tipe Stringyang datanya diwakili oleh karakter kontrol - tanda kutip berpasangan.
String str = "Hello World!";
Dengan teks “Halo Dunia!” tidak ada masalah yang muncul, tetapi bagaimana jika teks yang sama perlu ditonjolkan dalam pidato langsung? Dengan menggunakan kaidah tata bahasa, menjadi jelas bahwa teks “Hello World!”, selain karakter kontrol dari tipe String, harus ditempatkan dalam kutipan pidato langsung.
String str = "Java said, "Hello World!"";
Opsi ini tidak akan berhasil, karena kompiler tidak akan mengerti pada titik mana inisialisasi variabel berakhir str. Untuk mengatasi masalah ini dan masalah serupa, diciptakan karakter escape , yaitu mengubah karakter kontrol menjadi apa yang disebut rangkaian kontrol, yang juga dikenal sebagai rangkaian escape . Di bawah ini adalah daftar urutan escape java yang valid untuk digunakan dalam string. \t — Karakter tab (di java – setara dengan empat spasi); \b— Karakter yang kembali dalam teks satu langkah mundur atau menghapus satu karakter dalam satu baris (backspace); \n— Simbol garis baru; \r— Simbol pengangkutan kembali; \f— Lewati halaman ke awal halaman berikutnya; \'— Karakter kutipan tunggal; \"— Karakter kutipan ganda; \\— Karakter garis miring terbalik ( \). Sekarang mari kita soroti ucapan langsung dalam frasa kita sehingga penyusun dapat dengan mudah mengurai apa yang tertulis.
String str = "Java said, \"Hello World!\"";
Dengan demikian, teks tertulis dapat dimengerti oleh kompiler dan seseorang jika isi variabel strditampilkan di layar. Kami menemukan apa itu pelolosan karakter dan mengapa itu diperlukan. Dan mereka bahkan lolos dari karakter kutipan ganda! Mari lanjutkan ke penguraian urutan escape yang tersisa. Karakter tab dalam satu baris ditandai dengan escape sequence \tdan dianalogikan dengan empat spasi. Namun jika panjang string yang terdiri dari empat spasi sama dengan panjang empat karakter, maka panjang string dengan karakter tab akan sama dengan satu. Karakter tab sering digunakan untuk membuat tabel atau elemen antarmuka grafis semu , karena... Ini lebih nyaman daripada menulis empat spasi. Di bawah ini adalah contoh antarmuka grafis semu. Melarikan diri dari karakter di Java - 2Di antara semua rangkaian escape, simbol \bmungkin yang paling menarik, karena memungkinkan kita menghapus karakter terakhir pada baris keluaran, serupa dengan jika kita menghapusnya dengan menekan tombol spasi mundur .
System.out.print("2 + 2 = 5"); // Screen displays 2 + 2 = 5
System.out.print("\b");// Screen displays 2 + 2 =
System.out.print("4");// Screen displays 2 + 2 = 4
Simbol \nmemiliki \rsejarah yang sama - mari kita lihat bersama. Anda mungkin pernah menjumpai karakter pemisah baris \nsebelumnya. Misalnya, jika suatu metode println()mengeluarkan informasi sehingga keluaran berikutnya berada pada baris baru, maka metode tersebut print()tidak melakukan jeda baris setelah keluaran, tetapi jika Anda menambahkan karakter di akhir keluaran \n, maka jeda baris akan dilakukan.
System.out.print("Next output will be on a new line\n");
System.out.println("Next output will be on a new line");
Karakter carriage return \rmemungkinkan kita mengembalikan kursor ke awal baris keluaran dan menampilkan informasi baru seolah-olah sebelumnya tidak ada apa pun di baris tersebut.
System.out.print("Text to be rewritten.");//The screen displays "Text to be rewritten."
System.out.print('\r');//The screen is blank
System.out.print("New text.");//The screen displays "New text."
Faktanya, pengangkutan kembali sudah ada sejak hari-hari ketika teks dicetak pada mesin tik. Untuk melakukan pengumpanan saluran, perlu menggerakkan kereta dan menurunkan tuas (bagian dari mekanisme mesin tik), setelah itu pengumpanan saluran akan dilakukan. Jika tuasnya tidak diturunkan, maka seseorang dapat terus mencetak pada baris yang sama. Inilah yang kita amati saat kita menampilkan simbolnya \r. Dalam hal ini, ketika pemrogram ingin melakukan jeda baris, dia, karena kebiasaan, mengeksekusi serangkaian karakter di akhir keluaran \r\n. Ketika era mesin tik berakhir, ada generasi programmer yang masih menggunakan urutan ini, meskipun mereka sendiri belum pernah bekerja di mesin tik. Mereka sering lupa urutan apa yang mereka perlukan untuk menyelesaikan urutan tertentu - \r\natau \n\r. Kemudian kata uji datang membantu mereka return, di mana urutan tampilan simbol-simbol ini terlihat jelas. Namun, kemudian, ketika mengembangkan perangkat lunak untuk versi pertama Windows, setelah MS-DOS, pemrogram terpaksa menggunakan urutan tersebut \r\n. Sekarang Anda tidak perlu khawatir tentang hal ini dan hanya menggunakan karakter untuk memutus garis \n. Karakter Melarikan Diri di Java - 3Mari kita kembali ke masa lalu, sekitar tahun 80an. Saat itulah simbol halaman maju \fke awal halaman berikutnya menjadi populer. Pada saat itu, terdapat printer lini besar, yang untuk pengerjaannya perlu menulis kode program yang berisi apa dan bagaimana printer harus mencetak. Dan untuk menunjukkan bahwa teks harus dimulai dari halaman baru, digunakan simbol \f. Di zaman kita, simbol ini telah lama kehilangan relevansinya, dan kecil kemungkinan Anda akan menemukannya. Dimensi printer linier cukup mengesankan. Melarikan diri dari karakter di Java - 4Dengan simbol \’dan \\semuanya sama persis dengan lolos dari tanda kutip ganda, ada contohnya di awal artikel. Anda harus keluar dari satu tanda kutip, misalnya, untuk menginisialisasi tipe char dengan satu tanda kutip.
char ch = '\'';
Escape karakter backslash untuk menunjukkan bahwa karakter berikut tidak akan menjadi bagian dari escape sequence.
System.out.println("\\n - line break escape sequence");
// Output: \n - line break escape sequence
Dalam praktiknya, Anda sering kali harus menghindari garis miring terbalik saat bekerja dengan jalur:
System.out.println("It's Java string: \"C:\\Program Files\\Java\\jdk1.7.0\\bin\"");
// Output: It's Java string: "C:\Program Files\Java\jdk1.7.0\bin"
Saya tekankan bahwa escape sequence ini digunakan dalam string (string literal), karena sisanya digunakan untuk mendeskripsikan ekspresi reguler kelas Patterndan tidak relevan dengan topik artikel ini. Di sini Anda dapat melihat daftar semua urutan escape untuk kelas tersebut Pattern. Namun perlu dicatat bahwa ekspresi reguler dalam bentuk yang ada sekarang tidak dapat dibayangkan tanpa menggunakan escape sequence, tidak hanya di java, tetapi juga dalam bahasa pemrograman populer lainnya, misalnya PHP. Di java, pelolosan karakter juga digunakan dalam pemformatan string. Misalnya, saat menentukan format string untuk menampilkan simbol persen, Anda harus menduplikasi simbol persen - %%, jika tidak, kita akan mendapatkan kesalahan, dan IDE akan meminta Anda menambahkan persen.
System.out.printf("Milk fat percentage : %d%%", 10);
// Milk fat percentage : 10%
Ini menyimpulkan artikelnya. Saya harap Anda belajar banyak tentang pelarian karakter dan cara mempraktikkannya. Pelarian karakter melekat dalam banyak bahasa pemrograman. Di Java, seperti dalam bahasa mirip C lainnya, teknologi ini diterapkan hampir sama. Oleh karena itu, ilmu yang Anda peroleh dari artikel ini semoga bermanfaat tidak hanya di java. Terima kasih atas perhatian Anda dan semoga sukses dengan studi Anda!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION