CodeGym /జావా బ్లాగ్ /యాదృచ్ఛికంగా /జావా ఎస్కేప్ పాత్రలు
John Squirrels
స్థాయి
San Francisco

జావా ఎస్కేప్ పాత్రలు

సమూహంలో ప్రచురించబడింది
హాయ్! మునుపటి పాఠాలలో, జావాలోని స్ట్రింగ్ క్లాస్ ద్వారా సూచించబడే టెక్స్ట్ స్ట్రింగ్‌లతో మేము ఇప్పటికే పరిచయం చేసుకున్నాము . మీకు బహుశా గుర్తున్నట్లుగా, స్ట్రింగ్ అనేది అక్షరాల క్రమం. ఈ అక్షరాలు ఏవైనా అక్షరాలు, సంఖ్యలు, విరామ చిహ్నాలు మరియు మొదలైనవి కావచ్చు. స్ట్రింగ్‌ను సృష్టించేటప్పుడు ప్రధాన విషయం ఏమిటంటే, మొత్తం సీక్వెన్స్ తప్పనిసరిగా కొటేషన్ మార్కులలో జతచేయబడాలి:

public class Main {
   public static void main(String[] args) {
       String alex = new String ("My name is Alex. I'm 20!");
   }
}
కొటేషన్ మార్కులను కలిగి ఉండే స్ట్రింగ్‌ని సృష్టించాలంటే మనం ఏమి చేయాలి? ఉదాహరణకు, మేము మీకు ఇష్టమైన పుస్తకం గురించి ప్రపంచానికి చెప్పాలనుకుంటున్నాము:

public class Main {
   public static void main(String[] args) {
       String myFavoriteBook = new String ("My favorite book is "Twilight" by Stephanie Meyer");
   }
}
కంపైలర్ ఏదో ఒక విషయంలో అసంతృప్తిగా ఉన్నట్లు కనిపిస్తోంది! సమస్య ఏమై ఉండవచ్చని మీరు అనుకుంటున్నారు? మరియు కొటేషన్ మార్కులతో దీనికి సంబంధం ఏమిటి? నిజానికి, ఇదంతా చాలా సులభం. కంపైలర్ కొటేషన్ మార్కులను చాలా నిర్దిష్టమైన రీతిలో వివరిస్తుంది, అనగా వాటిలో తీగలను చుట్టి ఉండాలని ఆశిస్తుంది. మరియు కంపైలర్ ""ని చూసిన ప్రతిసారీ, కొటేషన్ గుర్తుకు రెండవ కొటేషన్ గుర్తు వస్తుందని మరియు వాటి మధ్య ఉన్న కంటెంట్ కంపైలర్‌చే సృష్టించబడే స్ట్రింగ్ యొక్క టెక్స్ట్ అని అంచనా వేస్తుంది. మా విషయంలో, కొటేషన్ చుట్టూ గుర్తులు ఉంటాయి. "ట్విలైట్" అనే పదం ఇతర కొటేషన్ గుర్తుల లోపల ఉంది. కంపైలర్ ఈ టెక్స్ట్ భాగాన్ని చేరుకున్నప్పుడు, అది ఏమి చేయాలో అర్థం కాలేదు. కొటేషన్ గుర్తు తప్పనిసరిగా స్ట్రింగ్‌ను సృష్టించాలని సూచిస్తుంది. కానీ కంపైలర్ అంటే అదే ఇప్పటికేచేస్తున్నాను! ఇక్కడ ఎందుకు ఉంది: సరళంగా చెప్పాలంటే, కంపైలర్ ఏమి చేయాలనే దాని గురించి గందరగోళానికి గురవుతుంది. "మరొక కొటేషన్ గుర్తు? ఇది ఒక రకమైన పొరపాటునా? నేను ఇప్పటికే ఒక స్ట్రింగ్‌ను సృష్టిస్తున్నాను! లేదా నేను మరొకదాన్ని సృష్టించాలా? సరే!...:/" కొటేషన్ మార్క్ కమాండ్ అయినప్పుడు మనం కంపైలర్‌కి తెలియజేయాలి ( "ఒక స్ట్రింగ్‌ను సృష్టించు!") మరియు అది కేవలం అక్షరంగా ఉన్నప్పుడు ("ట్విలైట్" అనే పదాన్ని కొటేషన్ గుర్తులతో పాటు ప్రదర్శించండి!"). దీన్ని చేయడానికి, జావా క్యారెక్టర్ ఎస్కేపింగ్‌ని ఉపయోగిస్తుంది . ఇది ప్రత్యేక చిహ్నాన్ని ఉపయోగించి సాధించబడుతుంది: \ . ఈ చిహ్నాన్ని సాధారణంగా "బ్యాక్‌స్లాష్" అంటారు. జావాలో, "పారిపోయే" పాత్రతో కలిపి బ్యాక్‌స్లాష్‌ని కంట్రోల్ సీక్వెన్స్ అంటారు . ఉదాహరణకు, \"అనేది స్క్రీన్‌పై కొటేషన్ మార్కులను ప్రదర్శించడానికి నియంత్రణ క్రమం. మీ కోడ్‌లో ఈ నిర్మాణాన్ని ఎదుర్కొన్న తర్వాత, ఇది స్క్రీన్‌పై ప్రదర్శించబడే కొటేషన్ గుర్తు మాత్రమే అని కంపైలర్ అర్థం చేసుకుంటుంది. పుస్తకంతో మన కోడ్‌ని మార్చడానికి ప్రయత్నిద్దాం:

public static void main(String[] args) {
       String myFavoriteBook = new String ("My favorite book is \"Twilight\" by Stephanie Meyer");
       System.out.println(myFavoriteBook);
   }
}
మేము మా రెండు "అంతర్గత" కొటేషన్ గుర్తులను తప్పించుకోవడానికి \ని ఉపయోగించాము . ప్రధాన() పద్ధతిని అమలు చేయడానికి ప్రయత్నిద్దాం ... కన్సోల్ అవుట్‌పుట్:
My favorite book is "Twilight" by Stephanie Meyer
అద్భుతమైన! కోడ్ మనం కోరుకున్న విధంగానే పని చేసింది! మనం తప్పించుకోవడానికి కొటేషన్ గుర్తులు మాత్రమే అక్షరాలు కావు. మన పని గురించి మనం ఎవరికైనా చెప్పాలనుకుంటున్నామనుకోండి:

public class Main {
   public static void main(String[] args) {
       String workFiles= new String ("My work files are in D:\Work Projects\java");
       System.out.println(workFiles);
   }
}
మరో లోపం! ఎందుకు అని మీరు ఊహించగలరా? మరోసారి, కంపైలర్‌కి ఏమి చేయాలో అర్థం కాలేదు. అన్నింటికంటే, కంపైలర్‌కి \ అనేది నియంత్రణ క్రమం తప్ప మరేదైనా తెలియదు ! బ్యాక్‌స్లాష్‌ని ఒక నిర్దిష్ట అక్షరం అనుసరించాలని ఇది ఆశించింది, అది ఏదో ఒక విధంగా ప్రత్యేక పద్ధతిలో (కొటేషన్ గుర్తు వంటివి) అర్థం చేసుకోవాలి. కానీ, ఈ సందర్భంలో, \ తర్వాత సాధారణ అక్షరాలు ఉంటాయి. కాబట్టి కంపైలర్ మళ్లీ గందరగోళానికి గురవుతుంది. మనం ఏం చెయ్యాలి? సరిగ్గా మునుపు అదే విషయం: మేము మా \ కి మరొక \ !

public class Main {

   public static void main(String[] args) {

       String workFiles= new String ("My work files are in D:\\Work Projects\\java");
       System.out.println(workFiles);

   }
}
మనకు ఏమి లభిస్తుందో చూద్దాం: కన్సోల్ అవుట్‌పుట్:
My work files are in D:\Work Projects\java
సూపర్! కంపైలర్ వెంటనే \ అనేది మిగిలిన వాటితో పాటు ప్రదర్శించబడే సాధారణ అక్షరాలు అని నిర్ధారిస్తుంది. జావాలో చాలా కంట్రోల్ సీక్వెన్సులు ఉన్నాయి. పూర్తి జాబితా ఇక్కడ ఉంది:
  • \t - ట్యాబ్.
  • \b - బ్యాక్‌స్పేస్ (వచనంలో ఒక అడుగు వెనుకకు లేదా ఒకే అక్షరం యొక్క తొలగింపు).
  • \n - కొత్త లైన్.
  • \r - క్యారేజ్ రిటర్న్. ()
  • \f - ఫారమ్ ఫీడ్.
  • \' ఒకే కోట్.
  • \" డబుల్ కోట్.
  • \\ బ్యాక్ స్లాష్.
కనుక, కంపైలర్ టెక్స్ట్‌లో \nని ఎదుర్కొన్నట్లయితే, ఇది కన్సోల్‌లో ప్రదర్శించాల్సిన చిహ్నం మరియు అక్షరం మాత్రమే కాదని, "కొత్త పంక్తికి తరలించు!" అనే ప్రత్యేక ఆదేశం అని అర్థం చేసుకుంటుంది. ఉదాహరణకు, మేము పద్యంలో కొంత భాగాన్ని ప్రదర్శించాలనుకుంటే ఇది ఉపయోగకరంగా ఉండవచ్చు:

public class Main {
   public static void main(String[] args) {
       String byron = new String ("She walks in beauty, like the night, \nOf cloudless climes and starry skies\nAnd all that's best of dark and bright\nMeet in her aspect and her eyes...");
       System.out.println(byron);
   }
}
మేము పొందేది ఇక్కడ ఉంది: కన్సోల్ అవుట్‌పుట్:
She walks in beauty, like the night, 
Of cloudless climes and starry skies 
And all that's best of dark and bright 
Meet in her aspect and her eyes...
మనం కోరుకున్నది మాత్రమే! కంపైలర్ ఎస్కేప్ సీక్వెన్స్‌ని గుర్తించి, 4 లైన్లలో పద్యం యొక్క సారాంశాన్ని అవుట్‌పుట్ చేశాడు.

యూనికోడ్ అక్షరాలను తప్పించుకోండి

ఎస్కేప్ క్యారెక్టర్‌లకు సంబంధించి మీరు తెలుసుకోవలసిన మరో ముఖ్యమైన అంశం యూనికోడ్. యూనికోడ్ అనేది ప్రపంచంలోని దాదాపు ప్రతి లిఖిత భాష యొక్క చిహ్నాలను కలిగి ఉన్న ప్రామాణిక అక్షర ఎన్‌కోడింగ్. మరో మాటలో చెప్పాలంటే, ఇది ఏ భాషలోనైనా దాదాపు ప్రతి అక్షరాన్ని సూచించే ప్రత్యేక కోడ్‌ల జాబితా! సహజంగానే, ఇది చాలా పెద్ద జాబితా మరియు దీన్ని ఎవరూ హృదయపూర్వకంగా నేర్చుకోరు :) మీరు ఇది ఎక్కడ నుండి వచ్చిందో మరియు ఎందుకు అవసరం అయ్యిందో తెలుసుకోవాలనుకుంటే, ఈ సమాచార కథనాన్ని చదవండి: https://docs.oracle.com/javase/tutorial/ i18n/text/unicode.html అన్ని యూనికోడ్ అక్షర కోడ్‌లు " u" రూపాన్ని కలిగి ఉంటాయి+<హెక్సాడెసిమల్ డిజిట్>". ఉదాహరణకు, ప్రసిద్ధ కాపీరైట్ చిహ్నం u00A9 ద్వారా సూచించబడుతుంది. కాబట్టి, మీరు జావాలో టెక్స్ట్‌తో పని చేస్తున్నప్పుడు ఈ అక్షరాన్ని ఉపయోగించాల్సి వస్తే, మీరు దాన్ని మీ టెక్స్ట్‌లో తప్పించుకోవచ్చు! ఉదాహరణకు, మేము కోరుకుంటున్నాము ఈ పాఠానికి కాపీరైట్‌ని CodeGym కలిగి ఉందని అందరికీ తెలియజేయడానికి:

public class Main {
   public static void main(String[] args) {
       System.out.println("\"Escaping characters\", \u00A9 2019 CodeGym");
   }
}
కన్సోల్ అవుట్‌పుట్:
"Escaping characters", © 2019 CodeGym
బాగుంది, అంతా పని చేసింది! కానీ ఇది ప్రత్యేక చిహ్నాల గురించి మాత్రమే కాదు! మీరు వివిధ భాషలలో ఏకకాలంలో వ్రాసిన వచనాన్ని ఎన్‌కోడ్ చేయడానికి యూనికోడ్ మరియు ఎస్కేప్ క్యారెక్టర్‌లను ఉపయోగించవచ్చు. మరియు ఒకే భాషలోని వివిధ మాండలికాలలో వ్రాసిన వచనం కూడా!

public class Main {
   public static void main(String[] args) {

       System.out.println("\u004d\u0061\u006f \u005a\u0065\u0064\u006f\u006e\u0067 " + 

               "\u0028\u0054\u0072\u0061\u0064\u0069\u0074\u0069\u006f\u006e\u0061\u006c " +

               "\u0043\u0068\u0069\u006e\u0065\u0073\u0065\u003a \u6bdb\u6fa4\u6771\u002c " +

               "\u0053\u0069\u006d\u0070\u006c\u0069\u0066\u0069\u0065\u0064 " +

               "\u0043\u0068\u0069\u006e\u0065\u0073\u0065\u003a \u6bdb\u6cfd\u4e1c\u002c " +

               "\u0050\u0069\u006e\u0079\u0069\u006e\u003a \u004d\u00e1\u006f " +

               "\u005a\u00e9\u0064\u014d\u006e\u0067\u0029 \u0077\u0061\u0073 \u0061 " +

               "\u0032\u0030\u0074\u0068\u002d\u0063\u0065\u006e\u0074\u0075\u0072\u0079 " +

               "\u0043\u0068\u0069\u006e\u0065\u0073\u0065 " +

                "\u0073\u0074\u0061\u0074\u0065\u0073\u006d\u0061\u006e\u002c " +

               "\u0070\u006f\u006c\u0069\u0074\u0069\u0063\u0069\u0061\u006e\u002c " +

               "\u0061\u006e\u0064 \u0074\u0068\u0065 \u0063\u0068\u0069\u0065\u0066 " +

               "\u0074\u0068\u0065\u006f\u0072\u0065\u0074\u0069\u0063\u0069\u0061\u006e " +

               "\u006f\u0066 \u004d\u0061\u006f\u0069\u0073\u006d\u002e");
   }
}
కన్సోల్ అవుట్‌పుట్:
Mao Zedong (Traditional Chinese: 毛澤東, Simplified Chinese: 毛泽东, Pinyin: Máo Zédōng) was a 20th-century Chinese statesman, politician, and the chief theoretician of Maoism.
ఈ ఉదాహరణలో, మేము ఇంగ్లీష్ మరియు మూడు(!) విభిన్న రకాల చైనీస్ అక్షరాలతో కూడిన స్ట్రింగ్‌ను రూపొందించడానికి అక్షర కోడ్‌లను ఉపయోగించాము — సాంప్రదాయ, సరళీకృత మరియు లాటిన్ (పిన్యిన్). మరియు దాని గురించి సంక్షిప్తంగా! మీ పనిలో ఈ గొప్ప సాధనాన్ని ఉపయోగించడం కోసం అక్షరాలు తప్పించుకోవడం గురించి ఇప్పుడు మీకు తగినంత తెలుసు :) మీరు నేర్చుకున్న వాటిని బలోపేతం చేయడానికి, మా జావా కోర్సు నుండి వీడియో పాఠాన్ని చూడాలని మేము సూచిస్తున్నాము
వ్యాఖ్యలు
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION