CodeGym /جاوا بلاگ /Random-SD /جاوا فرار ڪردار
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");
   }
}
اهو لڳي ٿو ته مرتب ڪندڙ ڪجهه بابت ناخوش آهي! توهان ڇا سوچيو ته مسئلو ٿي سگهي ٿو؟ ۽ ان جو اقتباس جي نشانين سان ڇا تعلق آهي؟ حقيقت ۾، اهو سڀ ڪجهه بلڪل سادو آهي. مرتب ڪندڙ اقتباس جي نشانين کي تمام مخصوص انداز ۾ تشريح ڪري ٿو، يعني اهو توقع رکي ٿو ته تارن کي انهن ۾ ويڙهيو وڃي. ۽ هر دفعي گڏ ڪرڻ وارو ڏسندو آهي "، اهو توقع ڪري ٿو ته اقتباس جي نشان جي پٺيان هڪ ٻي اقتباس جي نشان جي پٺيان هوندي، ۽ انهن جي وچ ۾ مواد هڪ اسٽرنگ جو متن آهي جيڪو مرتب ڪندڙ طرفان ٺاهيو وڃي ٿو، اسان جي صورت ۾، اقتباس جي نشان جي چوڌاري. لفظ "Twilight" ٻين اقتباس جي نشانين جي اندر آهي. جڏهن ڪمپيلر متن جي هن ٽڪري تي پهچي ٿو، اهو صرف اهو نه ٿو سمجهي ته اهو ڇا ڪرڻ جي اميد رکي ٿو. اقتباس نشان اهو مشورو ڏئي ٿو ته هڪ اسٽرنگ ٺاهڻ گهرجي. پر اهو ڇا آهي مرتب ڪندڙ. اڳ ۾ ئي ڪري رهيو آهي! هتي ڇو آهي: صرف ڳالهائڻ، مرتب ڪندڙ مونجهاري ۾ پئجي ويندو آهي ته اهو ڇا ڪرڻ جي اميد رکي ٿو. "ٻيو ڪوٽا نشان؟ ڇا هي ڪنهن قسم جي غلطي آهي؟ مان اڳ ۾ ئي هڪ تار ٺاهي رهيو آهيان! يا مون کي هڪ ٻيو ٺاهڻ گهرجي؟ ارگ!...:/" اسان کي مرتب ڪندڙ کي ٻڌائڻ جي ضرورت آهي جڏهن ڪو اقتباس نشان هڪ حڪم آهي ("اسٽرنگ ٺاهيو!") ۽ جڏهن اهو صرف هڪ ڪردار آهي ("ڪوٽيشن نشانن سان گڏ لفظ "ٽائيلائيٽ" ڏيکاريو! ").ان کي ڪرڻ لاءِ، جاوا اڪرڪٽ اسڪيپنگ استعمال ڪري ٿو . هي هڪ خاص علامت استعمال ڪندي مڪمل ڪيو ويو آهي: \ . هن علامت کي عام طور تي "backslash" سڏيو ويندو آهي. جاوا ۾، هڪ backslash هڪ ڪردار سان گڏ "فرار ٿيڻ" کي ڪنٽرول تسلسل سڏيو ويندو آهي. مثال طور، \" اسڪرين تي اقتباس جي نشانين کي ظاهر ڪرڻ لاء هڪ ڪنٽرول تسلسل آهي. توهان جي ڪوڊ ۾ هن تعمير کي منهن ڏيڻ تي، گڏ ڪرڻ وارو سمجھندو ته اهو صرف هڪ حوالو نشان آهي جيڪو اسڪرين تي ظاهر ٿيڻ گهرجي. اچو ته ڪتاب سان اسان جي ڪوڊ کي تبديل ڪرڻ جي ڪوشش ڪريو:

public static void main(String[] args) {
       String myFavoriteBook = new String ("My favorite book is \"Twilight\" by Stephanie Meyer");
       System.out.println(myFavoriteBook);
   }
}
اسان \ استعمال ڪيو آھي پنھنجي ٻن "اندروني" حوالن جي نشانين کان بچڻ لاءِ. اچو ته main() طريقي کي هلائڻ جي ڪوشش ڪريون... ڪنسول آئوٽ:
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 لائنن تي نظم جو اقتباس ڪڍيو.

Escape يونيڪوڊ ڪردار

ٻيو اهم موضوع جنهن بابت توهان کي ڄاڻڻ جي ضرورت آهي فرار ڪردارن جي سلسلي ۾ يونيڪوڊ. يونيڪوڊ هڪ معياري اکر انڪوڊنگ آهي جنهن ۾ دنيا جي لڳ ڀڳ هر لکت واري ٻولي جا نشان شامل آهن. ٻين لفظن ۾، اها خاص ڪوڊ جي هڪ فهرست آهي جيڪا ڪنهن به ٻولي ۾ تقريبن هر ڪردار جي نمائندگي ڪري ٿي! قدرتي طور تي، اها هڪ تمام ڊگهي لسٽ آهي ۽ ڪو به ان کي دل سان نه سکندو آهي :) جيڪڏهن توهان ڄاڻڻ چاهيو ٿا ته اهو ڪٿان آيو آهي ۽ ڇو ضروري آهي، هي معلوماتي مضمون پڙهو: https://docs.oracle.com/javase/tutorial/ i18n/text/unicode.html سڀني يونيڪوڊ ڪردارن جي ڪوڊن جو فارم " u +<hexadecimal digit>" هوندو آهي. مثال طور، ڪاپي رائيٽ جي معروف علامت 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.
هن مثال ۾، اسان انگريزي ۽ ٽي(!) مختلف قسم جا چيني اکر - روايتي، آسان ۽ لاطيني (Pinyin) تي مشتمل هڪ اسٽرنگ ٺاهڻ لاءِ ڪيڪٽر ڪوڊ استعمال ڪيا آهن. ۽ ان جي باري ۾ sums up! ھاڻي توھان ڪافي ڄاڻو ٿا ڪردارن کان بچڻ لاءِ توھان جي ڪم ۾ ھن عظيم اوزار کي استعمال ڪرڻ لاءِ :) جيڪو توھان سکيو آھي ان کي مضبوط ڪرڻ لاءِ، اسان توھان کي اسان جي جاوا ڪورس مان ھڪڙو وڊيو سبق ڏسڻ جي صلاح ڏيو ٿا
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION