JavaRush /Blog Jawa /Random-JV /karakter uwal

karakter uwal

Diterbitake ing grup
Hello! Ing pawiyatan sadurunge, kita wis akrab karo senar, sing diwakili dening kelas ing basa Jawa String. Kaya sing sampeyan ngerteni, senar minangka urutan karakter. Simbol kasebut bisa apa wae - aksara, angka, tandha wacan, lan liya-liyane. Ingkang utama yaiku nalika nggawe senar, kabeh urutan kasebut dilampirake ing kuotasi:
public class Main {
   public static void main(String[] args) {
       String sasha = new String ("Меня зовут Саша, мне 20 лет!");
   }
}
Nanging apa sing kedadeyan yen kita kudu nggawe senar sing uga nduweni kuotasi? Contone, kita pengin ngandhani jagad babagan buku favorit kita:
public class Main {
   public static void main(String[] args) {
       String myFavoriteBook = new String ("Моя любимая книга - "Сумерки" Стефани Майер");
   }
}
Compiler kayane ora seneng karo apa wae! Apa sampeyan mikir bisa dadi alesan kanggo kesalahan, lan apa iku kedaden khusus karo kuotasi? Kasunyatane manawa kompiler ngerteni kuotasi kanthi cara sing ditetepake kanthi ketat, yaiku, mbungkus senar kasebut. Lan saben-saben dheweke ndeleng karakter ", dheweke ngarepake yen karakter sing padha bakal ngetutake, lan ing antarane dheweke bakal ana teks baris sing dheweke, kompiler, kudu nggawe. Ing kasus kita, tandha petik ing saubengé tembung "Twilight" ana ing njero tandha petik liyane . Lan nalika compiler teka ing potongan teks iki, mung ora ngerti apa sing dikarepake. Kayane ana kutipan, tegese kudu nggawe senar. Nanging dheweke wis nindakake! Iki sabenere alesan. Cukup, ing titik iki compiler misunderstands apa padha arep saka iku. "Kutipan liyane? Apa iki sawetara kesalahan? Aku wis nggawe senar! Utawa aku kudu nggawe liyane? Uhhh ...: /" Kita kudu nerangake kanggo compiler nalika kutipan iku prentah (" nggawe senar!"), Lan nalika iku simbol prasaja ("tampilake tembung "Twilight" bebarengan karo tandha petik!"). Kanggo nggayuh iki, Jawa nggunakake karakter escaping . Iki ditindakake kanthi nggunakake karakter khusus. Kaya iki: \. Ing urip biasa diarani "garis miring", nanging ing Jawa (digabungake karo karakter sing bakal diusir) diarani urutan uwal . Contone, \"ing kene - urutan kontrol kanggo nampilake kuotasi ing layar. Sawise nemoni konstruksi kasebut ing kode sampeyan, kompiler bakal ngerti manawa iki mung karakter "kutipan" sing kudu ditampilake ing layar. Ayo nyoba ngganti kode nganggo buku:
public static void main(String[] args) {
       String myFavoriteBook = new String ("Моя любимая книга - \"Сумерки\" Стефани Майер");
       System.out.println(myFavoriteBook);
   }
}
Kita uwal saka rong kuotasi "batin" kanthi \. Ayo nyoba mbukak metode main()... Output konsol:

Моя любимая книга - "Сумерки" Стефани Майер
Apik banget, kode kasebut bisa digunakake kaya sing dibutuhake! Kutipan adoh saka siji-sijine kasus sing mbutuhake karakter uwal. Contone, kita pengin ngandhani wong liya babagan karya kita:
public class Main {
   public static void main(String[] args) {
       String workFiles= new String ("Мои рабочие файлы лежат в папке D:\Work Projects\java");
       System.out.println(workFiles);
   }
}
Lan maneh kesalahan! Apa sampeyan wis bisa ngira apa sebabe? Compiler maneh ora ngerti apa sing kudu dilakoni. Sawise kabeh, simbol \kanggo dheweke ora luwih saka urutan kontrol ! Dikarepake yen sawise garis miring kudu ana sawetara karakter sing kudu diinterpretasikake kanthi cara khusus (contone, tandha petik). Nanging, ing kene \huruf biasa. Dadi penyusun bingung maneh. Apa sing kudu ditindakake? Persis padha karo pungkasan: mung nambah \siji maneh kanggo kita \!
public class Main {

   public static void main(String[] args) {

       String workFiles= new String ("Мои рабочие файлы лежат в папке D:\\Work Projects\\java");
       System.out.println(workFiles);

   }
}
Ayo ndeleng apa sing metu saka iki: Output konsol:

Мои рабочие файлы лежат в папке D:\Work Projects\java
Super! Compiler kasebut langsung nemtokake manawa iki \minangka simbol biasa sing kudu dadi output menyang konsol bebarengan karo liyane. Ana sawetara urutan uwal ing Jawa. Punika daftar lengkapipun:
  • \t karakter tab.
  • \b karakter bali ing teks siji langkah mundur utawa mbusak siji karakter ing baris (backspace).
  • \n karakter baris anyar.
  • \r karakter bali gerbong.
  • \f kaca mbukak.
  • \' karakter kutipan tunggal.
  • \" karakter kutipan pindho.
  • \\aksara miring terbalik (\).
Mangkono, yen compiler ketemu simbol ing teks \n, iku bakal ngerti sing iki ora mung simbol lan huruf sing kudu output kanggo console, nanging prentah khusus kanggo iku - "make a line break!" Contone, iki bisa uga migunani kanggo kita yen kita pengin ngasilake potongan puisi menyang konsol:
public class Main {
   public static void main(String[] args) {
       String borodino = new String ("Скажи-ка, дядя, \nВедь не даром \nМосква, спаленная пожаром, \nФранцузу отдана?");
       System.out.println(borodino);
   }
}
Lan iki sing entuk: Output konsol:

Скажи-ка, дядя, 
Ведь не даром 
Москва, спаленная пожаром, 
Французу отдана?
Persis apa sing dibutuhake! Compiler dikenali urutan uwal lan output Piece saka ayat ing 4 baris.

Unicode

Topik penting liyane sing sampeyan kudu ngerti babagan uwal karakter yaiku Unicode . Unicode minangka standar enkoding karakter sing kalebu karakter saka meh kabeh basa tulis ing donya. Ing tembung liya, iki minangka dhaptar kode khusus, sing ana kode kanggo meh kabeh karakter saka basa apa wae! Mesthine, dhaptar iki gedhe banget lan ora ana sing sinau kanthi ati-ati :) Yen sampeyan kasengsem ing ngendi asale lan kenapa dibutuhake, waca artikel informatif babagan Habrahabr . Kabeh kode karakter ing Unicode yaiku "huruf u+ digit heksadesimal". Contone, simbol hak cipta misuwur dituduhake dening kode u00A9 . Dadi, yen sampeyan kudu nggunakake karakter iki nalika nggarap teks ing Jawa, sampeyan bisa uwal saka teks! Contone, kita pengin supaya kabeh wong ngerti yen kuliah iki duwe hak cipta dening JavaRush:
public class Main {
   public static void main(String[] args) {
       System.out.println("Лекция \"Экранирование символов\", \u00A9 2018 Javarush");
   }
}
Output konsol:

Лекция "Экранирование символов", © 2018 Javarush
Apik, kabeh wis rampung! Nanging karakter khusus ora kabeh! Nggunakake Unicode lan karakter escaping, sampeyan bisa encode teks sing ditulis ing macem-macem basa ing wektu sing padha. Lan malah ing sawetara dialek beda saka basa sing padha!
public class Main {
   public static void main(String[] args) {

       System.out.println("\u041c\u0430\u0301\u043e " +
               "\u0426\u0437\u044d\u0434\u0443\u0301\u043d " +
               "\u0028\u043a\u0438\u0442\u002e \u0442\u0440\u0430\u0434\u002e " +
               "\u6bdb\u6fa4\u6771\u002c \u0443\u043f\u0440\u002e " +
               "\u6bdb\u6cfd\u4e1c\u002c \u043f\u0438\u043d\u044c\u0438\u043d\u044c\u003a " +
               "\u004d\u00e1\u006f \u005a\u00e9\u0064\u014d\u006e\u0067\u0029 " +
               "\u2014 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0439 " +
               "\u0433\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 " +
               "\u0438 \u043f\u043e\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 " +
               "\u0434\u0435\u044f\u0442\u0435\u043b\u044c \u0058\u0058 \u0432\u0435\u043a\u0430\u002c " +
               "\u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u043a " +
               "\u043c\u0430\u043e\u0438\u0437\u043c\u0430\u002e");
   }
}
Output konsol:

Ма́о Цзэду́н (кит. трад. 毛澤東, упр. 毛泽东, пиньинь: Máo Zédōng) — китайский государственный и политический деятель XX века, главный теоретик маоизма.
Ing conto iki, ngerti kode karakter, kita wrote senar dumadi saka aksara Cyrillic lan telung (!) macem-macem jinis nulis aksara Cina - klasik, simplified lan Latin (pinyin). Sejatine iku! Saiki sampeyan cukup ngerti babagan karakter sing lolos kanggo nggunakake alat iki ing karya sampeyan :) Yen kabeh ora jelas, aku menehi saran supaya maca artikel iki : bakal dadi tambahan sing apik.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION