JavaRush /Блоги Java /Random-TG /Фирор кардани аломатҳо дар Java
Oleksandr Klymenko
Сатҳи
Харків

Фирор кардани аломатҳо дар Java

Дар гурӯҳ нашр шудааст
Чизе хато кард! Ин мақола ҳамчун як супориши санҷишӣ барои вазифа дар дастаи JavaRush навишта шудааст. Ва он хамчун лекцияи мукаммал навишта шуда буд. Аз ин рӯ, ман ба шумо сифат ва миқдори донишҳои муфидеро, ки дар ин мақола ҷамъ оварда шудаанд, кафолат медиҳам. Илова ба маълумоти амалӣ ва назариявӣ, мақола дорои далелҳои ҷолибест, ки шумо ҳатто дар бораи онҳо намедонед! Аломатҳои фирорӣ дар Java - 1Салом Ҷаҳон! Фирор аз аломатҳо як ҳалли хеле ҷолиб ва зарурии техникӣ аст. Зарурати фирор аз аломатҳо дар таърихи тамоми саноати барномасозӣ нақши муҳим бозидааст. Дар ин мақола мо дар бораи он ки фирор кардани аломат чист, барои чӣ зарурати гурехтан аз онҳо ва чӣ гуна фирор кардани аломат дар Java амалӣ карда мешавад. Дар мақола мисолҳо ва далелҳои ҷолиби марбут ба мавзӯи фирор аз характер оварда мешаванд. Аз хондан лаззат баред! Ҳама маълумот дар системаи компютерӣ дар шакли матн, ки дар сатҳи поёнтар бо byteҳо ифода карда мешавад, ифода карда мешаванд. Вақте ки мо мактуб ё паём менависем, мо матнеро менависем, ки ба одам фаҳмо бошад. Вақте ки мо дар IDE code менависем, мо матнеро менависем, ки компилятор онро таҳлил карда метавонад. Дар Java, матнро метавон ҳамчун намуде муаррифӣ кард String, ки маълумоташ бо аломатҳои назоратӣ - нохунакҳои ҷуфтшуда ифода карда мешавад.
String str = "Hello World!";
Бо матни «Салом ҷаҳон!» ҳеҷ мушкиле ба миён намеояд, аммо чӣ мешавад, агар ҳамон матн дар суханронии мустақим таъкид карда шавад? Бо истифода аз қоидаҳои грамматика маълум мешавад, ки матни "Салом ҷаҳон!", ба ғайр аз аломатҳои назоратӣ аз навъи String, бояд дар нохунакҳои мустақими нутқ ҷойгир карда шавад.
String str = "Java said, "Hello World!"";
Ин вариант кор намекунад, зеро Компилятор танҳо намефаҳмад, ки ибтидосозии тағирёбанда дар кадом лаҳза ба охир мерасад str. Барои ҳалли ин ва мушкилоти шабеҳ он барои фирор кардани аломатҳо , яъне иваз кардани аломатҳои идоракунӣ ба истилоҳ пайдарпайии идоракунӣ, ки бо номи пайдарпайии фирор низ маълум аст , ихтироъ шудааст . Дар зер феҳристи пайдарпаии фирори Java барои истифода дар сатрҳо оварда шудааст. \t — Аломати ҷадвал (дар java – муодor чаҳор фосила); \b— Аломати баргардонидани матн як қадам ба ақиб ё нест кардани як аломат дар сатр (backspace); \n— аломати хати нав; \r— рамзи баргардонидани вагон; \f— Гузаронидани саҳифа ба аввали саҳифаи оянда; \'— Аломати як иқтибос; \"— Аломати иқтибос дукарата; \\— Аломати баръакси хат ( \). Акнун биёед нутки бевоситаро дар ибораи худ таъкид кунем, то ки мураттиб он чи навишта шудааст, ба осонй тахлил кунад.
String str = "Java said, \"Hello World!\"";
Ҳамин тариқ, матни хаттӣ ҳам барои таҳиякунанда ва ҳам барои шахс фаҳмо аст, агар мундариҷаи тағирёбанда strдар экран нишон дода шавад. Мо фаҳмидем, ки фирор чӣ гуна аст ва чаро он лозим аст. Ва онҳо ҳатто аз аломати иқтибоси дукарата раҳо шуданд! Биёед ба таҳлor пайдарпайҳои боқимондаи фирор идома диҳем. Аломати ҷадвал дар сатр бо пайдарпаии фирор нишон дода мешавад \tва ба чаҳор фосила шабеҳ аст. Аммо агар дарозии сатри иборат аз чор фосила ба дарозии чор аломат баробар бошад, он гоҳ дарозии сатри дорои аломати ҷадвал ба як баробар мешавад. Аломати ҷадвал аксар вақт барои сохтани ҷадвалҳо ё унсурҳои интерфейси псевдографӣ истифода мешавад, зеро... Ин назар ба навиштани чор фосила қулайтар аст. Дар зер намунаи интерфейси псевдографикӣ оварда шудааст. Аломатҳои фирорӣ дар Java - 2Дар байни ҳама пайдарпаии фирор, рамз \bшояд ҷолибтарин бошад, зеро он ба мо имкон медиҳад, ки аломати охирини хати баромадро нест кунем, ба монанди он ки агар мо онро бо пахш кардани тугмаи backspace тоза кунем .
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
Рамзҳо таърихи умумӣ \nдоранд \r- биёед онҳоро якҷоя дида бароем. Шумо шояд қаблан бо аломати шикастани сатр дучор шуда бошед \n. Масалан, агар усул println()маълумотро барорад, то баромади навбатӣ дар хати нав бошад, пас усул print()пас аз баромад танаффуси сатрро иҷро намекунад, аммо агар шумо ба охири баромад аломат илова кунед \n, пас танаффуси сатр иҷро карда мешавад.
System.out.print("Next output will be on a new line\n");
System.out.println("Next output will be on a new line");
Аломати баргардонидани вагон \rба мо имкон медиҳад, ки курсорро ба аввали хати баромад баргардонем ва маълумоти навро тавре нишон диҳем, ки гӯё қаблан дар ин сатр ҳеҷ чиз набуд.
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."
Дарвоқеъ, бозгашти вагон ба рӯзҳое рост меояд, ки матн дар мошинаҳои чопӣ чоп мешуд. Барои ба кор андохтани хати хатӣ вагонро ба ҳаракат даровардан ва фишангро (қисми механизми чопкуниро) паст кардан лозим буд, ки баъд аз он интиқоли хат иҷро мешавад. Агар фишанг паст карда нашавад, пас метавон дар ҳамон сатр чоп карданро идома дод. Ин аст он чизе ки мо ҳангоми нишон додани рамз мушоҳида мекунем \r. Дар робита ба ин, вақте ки барномасоз мехост танаффусро иҷро кунад, вай аз рӯи одат пайдарпайии аломатҳоро дар охири баромад иҷро кард \r\n. Вақте ки давраи мошини чопӣ ба охир расид, як насли барномасозон пайдо шуданд, ки то ҳол аз ин пайдарпай истифода мекарданд, гарчанде ки худашон ҳеҷ гоҳ дар мошини чопӣ кор накардаанд. Онҳо аксар вақт фаромӯш мекунанд, ки бо кадом тартиб барои анҷом додани пайдарпайии додашуда лозим буданд - \r\nё \n\r. Пас аз он калимаи санҷишӣ ба кӯмаки онҳо омад return, ки дар он тартиби нишон додани ин рамзҳо ба таври равшан намоён буд. Аммо, баъдтар, ҳангоми таҳияи нармафзор барои versionҳои аввалини Windows, пас аз MS-DOS, барномасозон маҷбур шуданд, ки пайдарпаии \r\n. Акнун ба шумо лозим нест, ки дар ин бора хавотир шавед ва танҳо аломатро барои шикастани сатр истифода баред \n. Аломатҳои фирорӣ дар Java - 3Биёед боз ба замон баргардем, тақрибан ба солҳои 80-ум. Ин буд, ки рамзи саҳифа \fба оғози саҳифаи оянда маъмул шуд. Дар он ваќт чопгарњои сатри калон вуљуд доштанд, ки барои кор бо онњо codeи барномаеро навиштан лозим буд, ки дар он чопгар чї ва чї тавр бояд чоп кунад. Ва барои нишон додани он, ки матн бояд аз саҳифаи нав оғоз шавад, аломат истифода шуд \f. Дар замони мо, ин рамз аҳамияти худро кайҳо гум кардааст ва гумон аст, ки шумо ҳеҷ гоҳ бо он дучор нашавед. Андозаҳои чопгари хатӣ хеле таъсирбахшанд. Аломатҳои фирорӣ дар Java - 4Бо рамзҳо \’ва \\ҳама чиз маҳз ҳамон тавре ки фирор аз иқтибоси дукарата аст, дар аввали мақола як мисол буд. Шумо бояд аз як иқтибос гурезед, масалан, барои оғоз кардани навъи аломат бо як иқтибос.
char ch = '\'';
Барои нишон додани он, ки аломати зерин қисми пайдарпаии фирор нахоҳад буд, аз аломати хати хати қаҳва гурезед.
System.out.println("\\n - line break escape sequence");
// Output: \n - line break escape sequence
Дар амал, ба шумо лозим меояд, ки ҳангоми кор бо роҳҳо аз хатҳои баръакс гурезед:
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"
Ман таъкид кардам, ки ин пайдарпаии фирор дар сатр истифода мешавад (хатти literals), зеро қисми боқимондаи онҳо барои тавсифи ибораҳои муқаррарии синфӣ истифода мешаванд Patternва ба мавзӯи ин мақола дахл надоранд. Дар ин ҷо шумо метавонед рӯйхати ҳамаи пайдарпаии фирор барои синфро бинед Pattern. Аммо бояд гуфт, ки иборањои муќаррариро дар шакле, ки њоло дар он мављуд аст, бе истифодаи пайдарпайии гурезї на танњо дар java, балки дар дигар забонњои маъмули барномасозї, масалан, РНР тасаввур кардан мумкин нест. Дар Java, фирор кардани аломатҳо дар форматкунии сатр низ истифода мешавад. Масалан, ҳангоми муайян кардани формати сатр барои намоиши аломати фоиз, шумо бояд рамзи фоиз - -ро такрор кунед %%, дар акси ҳол мо хато мегирем ва IDE аз шумо хоҳиш мекунад, ки фоизро илова кунед.
System.out.printf("Milk fat percentage : %d%%", 10);
// Milk fat percentage : 10%
Ин мақоларо ба итмом мерасонад. Умедворам, ки шумо дар бораи фирор кардани хислат ва чӣ гуна дар амал татбиқ кардани он бисёр чизҳоро омӯхтед. Фирор аз аломатҳо ба бисёр забонҳои барномасозӣ хос аст. Дар java, мисли дигар забонҳои ба C монанд, ин технология тақрибан якхела амалӣ карда мешавад. Аз ин рӯ, донише, ки шумо аз ин мақола мегиред, метавонад на танҳо дар Java муфид бошад. Ташаккур барои таваҷҷуҳ ва дар таҳсилатон барори кор!
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION