JavaRush /Java блогу /Random-KY /Java тилиндеги качуучу каармандар
Oleksandr Klymenko
Деңгээл
Харків

Java тилиндеги качуучу каармандар

Группада жарыяланган
Бир жерден ката кетти! Бул макала JavaRush командасындагы кызматка тесттик тапшырма катары жазылган. Ал эми толук кандуу лекция катары жазылган. Ушундан улам, мен сизге бул постто топтолгон пайдалуу бorмдердин сапатына жана санына кепилдик берем. Практикалык жана теориялык маалыматтардан тышкары, макалада сиз билбеген кызыктуу фактылар камтылган! Java тorндеги качуучу символдор - 1салам дүйнө Мүнөздөн качуу - бул абдан кызыктуу жана керектүү техникалык чечим. Мүнөздөн качуу зарылчылыгы бүтүндөй программалоо индустриясынын тарыхында маанилүү роль ойногон. Бул макалада каармандардан качуу деген эмне, эмне үчүн алардан качуу зарылчылыгы бар жана Javaда символдон качуу кантип ишке ашары жөнүндө сүйлөшөбүз. Макалада каармандардын качуу темасына байланыштуу мисалдар жана кызыктуу фактылар келтирилет. Окуудан ырахат алыңыз! Компьютердик системадагы бардык маалымат текст түрүндө берилет, ал төмөнкү деңгээлде byte менен көрсөтүлөт. Кат же билдирүү жазганда адамга түшүнүктүү болгон текстти теребиз. IDEге code жазганда, компилятор талдай ала турган текстти теребиз. StringJava тorнде текст маалыматтары башкаруу символдору - жупташкан тырмакчалар менен берилген тип катары көрсөтүлүшү мүмкүн .
String str = "Hello World!";
"Салам дүйнө!" тексти менен эч кандай көйгөйлөр жаралbyte, бирок ошол эле текстти түздөн-түз сөздө бөлүп көрсөтүү керек болсочы? Грамматиканын эрежелерин колдонуу менен, “Салам дүйнө!” тексти түрдөгү башкаруу символдорунан тышкары String, тике тырмакчага салынышы керек экени айкын болот.
String str = "Java said, "Hello World!"";
Бул параметр иштебейт, анткени компилятор өзгөрмөнүн инициализациясы кайсы учурда бүтөөрүн түшүнбөйт str. Ушул жана ушуга окшош маселелерди чечүү үчүн, ал символдордон качуу үчүн ойлоп табылган , башкача айтканда, башкаруу символдорун башкаруу ырааттуулугу деп аталган, ошондой эле качуу ырааттуулугу деп аталат . Төмөндө саптарда колдонуу үчүн жарактуу Java Escape ырааттуулугунун тизмеси келтирилген. \t — Табылды символу (javaда – төрт боштуктун эквиваленти); \b— Текстте бир кадам артка кайтаруучу же саптагы бир символду өчүрүү (backspace); \n— жаңы сызык белгиси; \r— арабаны кайтаруу белгиси; \f— Баракты кийинки беттин башына өтүү; \'— Жалгыз цитата белгиси; \"— кош тырмакча белгиси; \\— Арткы сызык белгиси ( \). Эми компилятор жазылганды оңой талдай алышы үчүн сөз айкашыбыздагы түз сөздү бөлүп көрөлү.
String str = "Java said, \"Hello World!\"";
Ошентип, эгер өзгөрмөнүн мазмуну strэкранда көрсөтүлсө, жазылган текст компиляторго да, адамга да түшүнүктүү. Качып кетүү деген эмне экенин жана ал эмне үчүн керек экенин түшүндүк. Жана алар атүгүл кош цитатадан да кутулуп кетишти! Калган качуу ырааттуулугун талдоону уланталы.
Дагы эмнени окуу керек:

Java Developer Group:

Саптагы өтмөк белгиси качуу ырааттуулугу менен көрсөтүлөт \tжана төрт боштукка окшош. Бирок, төрт боштуктан турган саптын узундугу төрт символдун узундугуна барабар болсо, анда кошумча белгиси бар саптын узундугу бирге барабар болот. Таблица символу көбүнчө tableларды же псевдографикалык интерфейс элементтерин куруу үчүн колдонулат , анткени... Бул төрт боштук жазууга караганда ыңгайлуу. Төмөндө псевдографикалык интерфейстин мисалы келтирилген. Java тorндеги качуучу символдор - 2Бардык качуу ырааттуулугунун арасында символ, \bбалким, эң кызыктуусу, анткени ал бизге чыгаруу сапындагы акыркы символду өчүрүүгө мүмкүндүк берет, мисалы, биз аны артка баскычын басуу менен өчүрүп салсак .
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()чыгаруудан кийин сап үзүлүшүн аткарbyte, бирок чыгаруунун аягына символ кошсоңуз \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, анда бул символдорду көрсөтүү тартиби даана көрүнүп турду. Бирок, кийинчерээк, Windowsтун биринчи versionлары үчүн программалык камсыздоону иштеп чыгууда, 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"
Мен бул качуу ырааттуулугу саптарда (сап литералдарында) колдонуларын баса белгиледим, анткени алардын калган бөлүгү класстык туруктуу сөз айкаштарын сүрөттөө үчүн колдонулат Patternжана бул макаланын темасына тиешеси жок. Бул жерден сиз класс үчүн бардык качуу ырааттуулугунун тизмесин көрө аласыз Pattern. Бирок белгилей кетүүчү нерсе, азыр алар турган формадагы туруктуу сөз айкаштарын бир гана javaда эмес, башка популярдуу программалоо тилдеринде да, мисалы, PHPде, качуу ырааттуулугун колдонбой элестетүү мүмкүн эмес. Java тorнде символдон качуу сап форматтоодо да колдонулат. Мисалы, пайыздык символду көрсөтүү үчүн сап форматын көрсөтүүдө, пайыздык символду кайталашыңыз керек - %%, антпесе биз ката алабыз жана IDE пайызды кошууну сунуштайт.
System.out.printf("Milk fat percentage : %d%%", 10);
// Milk fat percentage : 10%
Бул макаланы жыйынтыктайт. Сиз каармандардан качуу жана аны кантип иш жүзүндө колдонуу керектиги жөнүндө көп нерсени үйрөндүңүз деп үмүттөнөм. Символдон качуу көптөгөн программалоо тилдерине мүнөздүү. Java тorнде, башка C сыяктуу тилдердей эле, бул технология дээрлик бирдей ишке ашырылат. Ошондуктан, бул макаладан алган бorмиңиз Java тorнде гана эмес, пайдалуу болушу мүмкүн. Көңүл бурганыңыздар үчүн рахмат жана окууңарга ийгorк!
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION