JavaRush /جاوا بلاگ /Random-UR /جاوا میں لٹریلز

جاوا میں لٹریلز

گروپ میں شائع ہوا۔
ایپلیکیشن بنانے کے مرحلے پر، ڈویلپر، ایک اصول کے طور پر، صرف اس کی ساخت کو جانتا ہے اور یہ نہیں سمجھتا کہ یہ کس ڈیٹا پر کارروائی کرے گا۔ تاہم، کچھ حالات میں، آپ کو پروگرام کوڈ میں کچھ ڈیٹا واضح طور پر بتانے کی ضرورت ہوتی ہے (مثال کے طور پر، تکرار کی تعداد یا آؤٹ پٹ ہونے کے لیے پیغام)۔ اس صورت میں، لٹریلز بچاؤ کے لیے آتے ہیں۔ مواد:

لٹریلز کیا ہیں؟

لٹریلز پروگرام کوڈ میں واضح طور پر متعین اقدار ہیں - ایک خاص قسم کے مستقل جو لانچ کے وقت کوڈ میں ہوتے ہیں۔
class Test {
   public static void main(String[] args) {
       System.out.println("Hello world!");
   }
}
اس کلاس میں "ہیلو ورلڈ!" --.لفظی n. لٹریلز مختلف اقسام میں آتے ہیں، ان کے مقصد اور ان کے لکھے جانے کے طریقہ سے طے ہوتا ہے۔

لغویات کی اقسام اور ان کا استعمال

تمام لٹریلز قدیم اقدار ہیں (سٹرنگز، نمبرز، کریکٹرز، بولین)۔ آپ لفظی چیز نہیں بنا سکتے۔ کسی شے سے وابستہ صرف لغوی ہے null۔ قدیم کے مطابق، لٹریلز کو بھی حصوں میں تقسیم کیا گیا ہے:
  1. عددی:
    • عدد
    • فلوٹنگ پوائنٹ؛
  2. تار
  3. کردار؛
  4. برین ٹیزر۔

عددی لٹریلز

انٹیجر لٹریلز

اس قسم کی لغوی سب سے آسان ہے۔ حروف یا کسی اور چیز کی نشاندہی کیے بغیر اعداد اپنی معیاری شکل میں لکھے جاتے ہیں۔ کوئی بھی انٹیجر بذریعہ ڈیفالٹ ایک عدد لغوی ہوتا ہے۔ یعنی، آپ واضح طور پر کسی متغیر کی قدر یا لوپ میں تکرار کی تعداد متعین کر سکتے ہیں۔ جاوا 4 نمبر سسٹم کی حمایت کرتا ہے:
  • بائنری
  • اوکٹل
  • اعشاریہ
  • ہیکساڈیسیمل
JDK 7 نے بائنری اقدار کو لکھنے کی صلاحیت متعارف کرائی ۔ یہ سابقہ ​​0b یا 0B استعمال کرتے ہوئے کیا جاتا ہے ۔ اس کے بعد 0 اور 1 کا استعمال کرتے ہوئے لکھنا آتا ہے۔ آکٹل میں نمبر ایک لیڈنگ 0 کا استعمال کرتے ہوئے لکھے جاتے ہیں۔ درست ہندسے 0 سے 7 تک ہوتے ہیں۔ 09 یا 08 لکھنے سے تالیف کی غلطی ہوگی۔ اعشاریہ نمبر کے نظام میں کوئی مسئلہ نہیں ہے : اعداد اس شکل میں دکھائے جاتے ہیں جس سے ہم واقف ہیں۔ صرف حد یہ ہے کہ نمبر 0 سے شروع نہیں ہوسکتا، کیونکہ مرتب کرنے والا اسے آکٹل کے طور پر لے گا۔ ہیکساڈیسیمل میں نمبر 0x اور 0X سابقہ ​​​​کا استعمال کرتے ہوئے لکھے جاتے ہیں۔ درست نمبرز 0 سے 15 تک ہیں، جہاں نمبر 10-15 کو بالترتیب AF علامتوں سے ظاہر کیا جاتا ہے۔
public static void main(String[] args) {
       int a = 0b1101010110;
       int b = 012314;
       int c = 456;
       int d = 0x141D12;
       System.out.println("Число a в двоичной системе: " + a);
       System.out.println("Число b в восьмеричной системе: " + b);
       System.out.println("Число c в десятичной системе: " + c);
       System.out.println("Число d в шестнадцатеричной системе: " + d);
}
آؤٹ پٹ: بائنری سسٹم میں نمبر اے: 854 نمبر b آکٹل سسٹم میں: 5324 نمبر c ڈیسیمل سسٹم میں: 456 ہیکساڈیسیمل سسٹم میں نمبر d: 1318162 اس حقیقت کے باوجود کہ نمبرز مختلف نمبر سسٹمز میں بتائے جاتے ہیں، پروگرام میں ان پر اعشاریہ کے طور پر کارروائی کی جاتی ہے۔ نمبرز اقدار سے تجاوز کرنے کے نتیجے میں تالیف کی خرابی ہوگی:
int b = 012914; // Ошибка
int d = 0x141Z12; // Ошибка
جب تالیف کے مرحلے پر چلایا جائے تو ہمیں درج ذیل نتیجہ ملتا ہے:

Error:(13, 25) java: integer number too large: 012914
Error:(14,30) java: ';' expected
ٹائپنگ کے بارے میں کیا خیال ہے؟ کسی بھی انٹیجر لٹریل کی ڈیفالٹ قسم ہوتی ہے int۔ اگر اس کی قدر تفویض کردہ متغیر کی حدود سے باہر ہے تو، ایک تالیف کی خرابی واقع ہوتی ہے۔ کسی قسم کا استعمال کرتے وقت، longآپ کو آخر میں ایک علامت لگانی چاہیے Lجو اس قسم کی نشاندہی کرتی ہے:
long x = 0x1101010110; // Ошибка
long b = 1342352352351351353L; // Все в порядке
درج ذیل خرابی میں نتائج مرتب کرنے کی کوشش:

Error(11, 26) java: integer number too large: 1101010110

فلوٹنگ پوائنٹ لٹریلز

فلوٹنگ پوائنٹ نمبرز، یا فریکشنل نمبرز کو دو طریقوں سے لکھا جا سکتا ہے۔ پہلا کلاسک اعشاریہ کسر کے طور پر ہے: 3.14159 یا 2.718281282459045۔ دوسرا سائنسی شکل میں ہے، یعنی ایک عام اعشاریہ کسر کے علاوہ علامت e یا E کی شکل میں ایک لاحقہ اور 10 کی طاقت جس سے مخصوص کسر کو ضرب کرنا ضروری ہے۔ مثال کے طور پر، 4.05E-13، اس کا مطلب ہے 4.05 * 10 -13 ۔
double a = 2.718281828459045;
double d = 4.05E-13;
System.out.println("Тип double в классическом виде: " + a);
System.out.println("Тип double в научном виде: " + d);
آؤٹ پٹ: کلاسک ڈبل قسم: 2.718281828459045 سائنسی ڈبل قسم: 4.05E-13 انٹیجرز اور نمبر سسٹمز کے برعکس، سائنسی اشارے متغیر میں محفوظ ہوتے ہیں اور کلاسیکی اشارے کی طرح پروسیس ہوتے ہیں۔ ٹائپنگ کے بارے میں کیا خیال ہے؟ کوئی بھی فلوٹنگ پوائنٹ نمبر ایک قسم بناتا ہے double۔ اگر آپ کو قسم استعمال کرنا ضروری ہے تو float، آپ کو ایک fیا آخر میں شامل کرنا ہوگا F۔ اس صورت میں doubleیہ ٹائپ تک کم ہو جائے گا float۔ یہ خود بخود نہیں ہوتا:
float a = 2.718281828459045; // Ошибка
float d = 4.05E-13F; // Все в порядке
تالیف کے مرحلے سے شروع ہونے پر ہمیں درج ذیل خامی نظر آتی ہے:

Error:(11, 27) java: incompatible types: possible lossy conversion from double to float

سٹرنگ لٹریلز

سٹرنگ لٹریلز حروف کا ایک مجموعہ ہیں جو دوہرے اقتباسات میں بند ہیں۔ اس قسم کو عددی لٹریلز کے طور پر اکثر استعمال کیا جاتا ہے۔ لائن میں سروس کریکٹرز بھی شامل ہو سکتے ہیں جنہیں فرار ہونے کی ضرورت ہے (نام نہاد فرار کے سلسلے)۔ مثال:
String simpleString = "Это обычная строка. Такая же стандартная и непримечательная, How и все мы.";
String uniqueString = "А это необычная \"строка\". Хотя бы потому, что часть \"слов\" в ней в \"кавычках\".";
System.out.println(simpleString);
System.out.println(uniqueString);
آؤٹ پٹ: یہ ایک عام تار ہے۔ ہم میں سے باقیوں کی طرح معیاری اور غیر قابل ذکر۔ اور یہ ایک غیر معمولی "لائن" ہے۔ اگر صرف اس لیے کہ اس میں کچھ "الفاظ" "اقتباسات" میں ہیں۔

کریکٹر لٹریلز

جاوا میں کریکٹر لٹریلز کی نمائندگی یونیکوڈ کریکٹر سیٹ کے ذریعے کی جاتی ہے، یعنی ہر کریکٹر 16 بٹ ویلیو ہوتا ہے۔ کوڈ میں کسی علامت کی نشاندہی کرنے کے لیے، اسے واحد اقتباسات سے الگ کیا جاتا ہے۔ تجربے کی بنیاد پر علامتوں کی دو قسمیں ہیں:
  1. وہ جو کی بورڈ سے داخل کیے جاسکتے ہیں وہ عام حروف ہیں۔
  2. وہ علامات جو کی بورڈ سے آسانی سے داخل نہیں کیے جا سکتے ہیں (مختلف زبانوں، اشکال وغیرہ کی علامتیں)۔
باقاعدہ حروف کو واضح طور پر بیان کیا جا سکتا ہے: ' ,' یا ' @'۔ اگر کوئی کیریکٹر سروس کریکٹر ہے (مثال کے طور پر، لائن بریک یا ٹیب)، تو ایسے کردار کو بیک سلیش سے بچنا چاہیے۔ وہ حروف جو کنسول سے آسانی سے داخل نہیں ہوسکتے ہیں ان کی 16 بٹ شکل میں وضاحت کی جاسکتی ہے۔ ایسا کرنے کے لیے، آپ کو ایک سابقہ ​​کے ساتھ کریکٹر کوڈ کی وضاحت کرنی چاہیے \u، مثال کے طور پر ' \u00F7'۔ آپ صرف شروع میں بیک سلیش شامل کر کے اوکٹل انداز (تین ہندسوں کی تعداد) میں حروف کی وضاحت بھی کر سکتے ہیں، مثال کے طور پر ' \122'۔ میری رائے میں، یہ استعمال کرنا بہت آسان ہے \u۔ استعمال کی مثال:
System.out.println("Амперсанд - " + '&');
System.out.println("Символ деления - " + '\u00F7');
آؤٹ پٹ: ایمپرسینڈ - اور ڈویژن کی علامت - ÷

بولین لٹریلز

سب سے آسان لغوی ایک منطقی ہے۔ صرف 2 اقدار ہیں: falseاور true، جو مختلف علامتوں کے بغیر واضح طور پر بیان کی گئی ہیں۔ اس طرح کے لٹریلز کو بولین قسم کے متغیرات کے لیے تفویض کیا جا سکتا ہے یا اس جگہ پر مخصوص کیا جا سکتا ہے جہاں بولین کی قسم کی توقع کی جاتی ہے (مثال کے طور پر، if بلاک میں، اگرچہ اس پریکٹس کو برا آداب سمجھا جاتا ہے، اسے ہلکے سے کہنا)۔
boolean flag = false;

if(true) {
    // Действия будут выполняться всегда.
}

لٹریلز کے ساتھ جیدی تکنیک

جاوا میں علامتوں کی بدولت، آپ ایموجیز کا انتظام سمیت بہت سے دلچسپ کام کر سکتے ہیں۔ مثال کے طور پر، آئیے ایک مسکراتا ہوا چہرہ دکھائیں:
int smile = 0x1F600; // Здесь шестнадцатеричный code эмоджи
StringBuilder sb = new StringBuilder();
sb.append(Character.toChars(smile)); // Собираем в StringBuilder
System.out.println("Улыбающееся лицо: " + sb.toString()); // Выводим
نتیجہ: مسکراتا چہرہ: 😀 اگرچہ ایموجی ڈسپلے ڈراونا ہو سکتا ہے (عمل درآمد پر منحصر ہے)، یہ حل اچھی طرح سے کام کرتا ہے۔ تاہم، معیاری انکوڈنگ ٹیبل میں مطلوبہ ایموجی کو تلاش کرنا مشکل ہے؛ آفیشل ویب سائٹ پر ایموٹیکن سیکشن بہت کم ہے۔ اضافی لائبریریوں کو استعمال کرنا بہت آسان ہے۔

JavaRush کورس میں لٹریلز

JavaRush کورس میں، Java Syntax کورس کے لیکچر 8 میں لٹریلز لیول 10 پر پڑھے جاتے ہیں ، جہاں مثالیں بتاتی ہیں کہ لٹریلز کیا ہیں اور ان کی ضرورت کیوں ہے۔ JavaRush جاوا پروگرامنگ کا ایک آن لائن کورس ہے جس میں مشق پر زور دیا جاتا ہے: فوری تصدیق کے ساتھ 1200+ کام، چھوٹے پروجیکٹس، گیمز۔

نتیجہ

جاوا میں لٹریلز کسی بھی پروگرام میں ایک آسان چیز ہیں، لیکن انہیں ان جگہوں پر استعمال کرنا چاہیے جہاں یہ مناسب ہو۔ آپ کو ڈیٹا بیس کنکشن کے پیرامیٹرز یا کسی بھی قدر کو ہارڈ کوڈ نہیں کرنا چاہیے جو پروگرام کے لائف سائیکل کے دوران سورس کوڈ میں تبدیل ہو سکتی ہے۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION