1. পূর্ণসংখ্যার আক্ষরিক

এবং এখন একটি নতুন আকর্ষণীয় বিষয়ের জন্য - আক্ষরিক। প্রোগ্রাম কোডে সরাসরি লেখা ডেটাকে লিটারেল বলা হয় । আমরা কোন পুরানো তথ্য সম্পর্কে কথা বলছি না, কিন্তু আদিম প্রকারের মান এবং প্রকারের কথা বলছি String

উদাহরণস্বরূপ, ধরুন আপনার নিম্নলিখিত কোড আছে:

কোড আক্ষরিক
int a = 5;
int b = a + 10;
String s = "Sum=" + (a + b);
5
10
"Sum="

এই কোডের আক্ষরিক হল সংখ্যা , সংখ্যা এবং স্ট্রিং ' '510Sum =

জাভাতে, আক্ষরিক সহ সবকিছুর একটি প্রকার রয়েছে। ডিফল্টরূপে, কোডের সমস্ত পূর্ণসংখ্যা আক্ষরিক (সম্পূর্ণ সংখ্যা) ints। int টাইপ হল স্ট্যান্ডার্ড জাভা ইন্টিজার টাইপ।

আরও কি, আপনি যদি আপনার কোডে একটি বাইট ভেরিয়েবল বা একটি ছোট ভেরিয়েবলের জন্য একটি পূর্ণসংখ্যা আক্ষরিক বরাদ্দ করার সিদ্ধান্ত নেন তবে কোন সমস্যা হবে না। আপনাকে শুধু নিশ্চিত করতে হবে যে আক্ষরিক মানটি ভেরিয়েবলের প্রকার সংরক্ষণ করতে পারে এমন মানের সীমার মধ্যে রয়েছে।

জাভা কম্পাইলারটি বুঝতে যথেষ্ট স্মার্ট যে একটি byteভেরিয়েবলকে সমস্যা তৈরি না করেই পূর্ণসংখ্যা আক্ষরিক 100 বরাদ্দ করা যেতে পারে।

উদাহরণ:

কোড বর্ণনা
int a = 300;
এই ঠিক কম্পাইল হবে.
byte a = 100; 
এই ঠিক কম্পাইল হবে.
byte a = 300;
একটি সংকলন ত্রুটি হবে, কারণ সর্বাধিক বাইট মান হল 127।

longআপনি আপনার কোডে আক্ষরিক লিখতে পারেন । এটি করার জন্য, পূর্ণসংখ্যার শেষে ল্যাটিন অক্ষর 'L' বা 'l' যোগ করুন।

উদাহরণ:

কোড বর্ণনা
long a = 3000000000L; 
এই ঠিক কম্পাইল হবে.
long a = 3000000000; 
সংকলন ত্রুটি: 3 বিলিয়ন একটি int আক্ষরিক জন্য খুব বড়.
int a = 3000000000L; 
সংকলন ত্রুটি: আক্ষরিক একটি দীর্ঘ, কিন্তু পরিবর্তনশীল একটি int. উপরন্তু, 3 বিলিয়ন সর্বোচ্চ int এর চেয়ে বেশি।

আপনি কি লক্ষ্য করেছেন যে 10 বা তার বেশি সংখ্যার বড় সংখ্যা পড়া কতটা কঠিন? কোডটি 3 বিলিয়ন নাকি 30 বিলিয়ন বলে তা আপনি অবিলম্বে বলতে পারবেন না। কোডকে আরও পঠনযোগ্য করতে (এবং এটি গুরুত্বপূর্ণ!), জাভা আন্ডারস্কোরগুলিকে সাংখ্যিক লিটারেলে সন্নিবেশিত করার অনুমতি দেয় (এগুলি সংখ্যার মানকে প্রভাবিত করে না)।

উপরের উদাহরণটি একটু পরিষ্কার করার জন্য আন্ডারস্কোর দিয়ে পুনরায় লেখা যেতে পারে:

কোড বর্ণনা
long a = 3_000_000_000L; 
এই ঠিক কম্পাইল হবে.
long a = 3_000_000_000; 
সংকলন ত্রুটি: 3 বিলিয়ন একটি int আক্ষরিক জন্য খুব বড়.
int a = 3_000_000_000L; 
সংকলন ত্রুটি: আক্ষরিক একটি দীর্ঘ, কিন্তু পরিবর্তনশীল একটি int. উপরন্তু, 3 বিলিয়ন সর্বোচ্চ int এর চেয়ে বেশি।

কিন্তু আমরা সাংখ্যিক আক্ষরিকগুলিতে কমা ব্যবহার করতে পারি না কারণ সেগুলি ইতিমধ্যে অন্য উদ্দেশ্যে ব্যবহৃত হয়েছে। উদাহরণস্বরূপ, একটি পদ্ধতি কল করার সময় একে অপরের থেকে আর্গুমেন্ট আলাদা করার জন্য।



2. বাস্তব সংখ্যা আক্ষরিক

আপনার কোডে, আপনি শুধুমাত্র পূর্ণসংখ্যাই নয়, ফ্লোটিং-পয়েন্ট লিটারাল (বাস্তব সংখ্যা)ও উল্লেখ করতে পারেন।

প্রকৃতপক্ষে, নিয়মটি বেশ সহজ: যদি কোডের একটি সংখ্যায় দশমিক বিন্দু থাকে, তাহলে সংখ্যাটি একটি ফ্লোটিং-পয়েন্ট আক্ষরিক। এবং শুধু কোন আক্ষরিক না, কিন্তু একটি doubleআক্ষরিক.

আপনি একটি ফ্লোট আক্ষরিক তৈরি করতে পারেন, তবে এটি করার জন্য আপনাকে সংখ্যার শেষে 'F' (বা 'f') অক্ষর রাখতে হবে

উদাহরণ:

কোড বর্ণনা
double a = 100.0; 
এই ঠিক কম্পাইল হবে.
double a = 100.;
এই ঠিক কম্পাইল হবে.
double a = .0;
এই ঠিক কম্পাইল হবে.
float a = 100.0f; 
এই ঠিক কম্পাইল হবে.
float a = 100.0; 
একটি সংকলন ত্রুটি থাকবে: ভেরিয়েবলটি একটি ফ্লোট, কিন্তু আক্ষরিকটি একটি দ্বিগুণ।

যাইহোক, আপনি স্পষ্টভাবে একটি পূর্ণসংখ্যা আক্ষরিককে একটি ফ্লোট বা ডাবল লিটারেলে রূপান্তর করতে পারেন )। উদাহরণ: appending the suffix 'F' (for float) or D (for double)

কোড বর্ণনা
double a = 100D;
এই ঠিক কম্পাইল হবে.
float a = 100F; 
এই ঠিক কম্পাইল হবে.
int a = 300D; 
একটি সংকলন ত্রুটি হবে: পরিবর্তনশীল একটি int, কিন্তু আক্ষরিক একটি double.

ফ্লোটিং-পয়েন্ট আক্ষরিক বৈজ্ঞানিক স্বরলিপি ব্যবহার করতে পারে : সংখ্যার স্বাক্ষরিত অংশ ছাড়াও, আপনি দশের শক্তিও নির্দিষ্ট করতে পারেন। উদাহরণ:

আক্ষরিক গাণিতিক স্বরলিপি চূড়ান্ত মান
1.23E2
1.23 * 102
123.0
1.23E3
1.23 * 103
1230.0
1.23E-6
1.23 * 10-6
0.00000123
1E6
1.0 * 106
1000000.0
1E-10
1.0 * 10-10
0.0000000001


3. স্ট্রিং লিটারেল

আপনি আপনার কোডে পাঠ্যের পুরো লাইনগুলিও নির্দিষ্ট করতে পারেন। কম্পাইলারকে একটি স্ট্রিংকে ডেটা (একটি আক্ষরিক) হিসাবে বিবেচনা করতে বলার জন্য এবং কোডের অংশ হিসাবে নয়, পুরো স্ট্রিংটি উভয় দিকে দ্বিগুণ উদ্ধৃতি দ্বারা বেষ্টিত থাকে।

যদি কোডের একটি লাইনে একাধিক ডবল উদ্ধৃতি থাকে, তাহলে সেগুলি জোড়ায় বিভক্ত হয়। প্রথম ডবল উদ্ধৃতি চিহ্নটি একটি আক্ষরিকের শুরু নির্দেশ করে। পরেরটি আক্ষরিক শেষ নির্দেশ করে। এর পরেরটি আবার একটি নতুন আক্ষরিক সূচনা করে। এবং পরেরটি দ্বিতীয় আক্ষরিক শেষ চিহ্নিত করে। ইত্যাদি।

প্রতিটি যেমন আক্ষরিক একটি String.

উদাহরণ

কোড ব্যাখ্যা
"+" + "+" + "+" + "+" + "+"
একটি লাইনে 5টি লিটারেল আছে। তাদের প্রত্যেকে একটি একক  +চরিত্র নিয়ে গঠিত
""
এই আক্ষরিক একটি খালি স্ট্রিং. কোন অক্ষর ছাড়া একটি স্ট্রিং.
"2+3" + "-5"
এখানে দুটি আক্ষরিক আছে। ফলাফল হবে স্ট্রিং ' 2+3-5', সংখ্যা নয়
"return" + ";"
এখানে দুটি আক্ষরিকও আছে। এখানে কোন রিটার্ন স্টেটমেন্ট নেই।

যদি একটি স্ট্রিং আক্ষরিক খুব দীর্ঘ হয়, এটিকে কয়েকটি লাইনে বিভক্ত করা যেতে পারে এবং 'প্লাস অপারেটর' এর সাথে একসাথে আঠালো করা যেতে পারে:

কোড ব্যাখ্যা
String s = "I hold it true, whate'er befall, "
         + "I feel it when I sorrow most; "
         + "'Tis better to have loved and lost "
         + "Than never to have loved at all.";
আপনি যদি এই লাইনটি স্ক্রিনে আউটপুট করেন, তবে সমস্ত পাঠ্য এক লাইনে প্রদর্শিত হবে!


4. অক্ষর আক্ষরিক

আপনি আপনার কোডে শুধুমাত্র স্ট্রিং লিটারেল নয়, পৃথক অক্ষর নিয়ে গঠিত আক্ষরিকও নির্দিষ্ট করতে পারেন। মনে রাখবেন যে আমরা একটি একক অক্ষর সমন্বিত একটি স্ট্রিং সম্পর্কে কথা বলছি না, বরং আক্ষরিক সম্পর্কে কথা বলছি যার প্রকার char

একটি স্ট্রিং থেকে ভিন্ন, একটি অক্ষর আক্ষরিক একক উদ্ধৃতি দ্বারা বেষ্টিত হয় । একক উদ্ধৃতিগুলির ভিতরে একটি অক্ষর এবং শুধুমাত্র একটি অক্ষর থাকতে হবে। আপনি খালি একক উদ্ধৃতি ব্যবহার করতে পারবেন না।

উদাহরণ:

কোড ব্যাখ্যা
'A'
একটি আক্ষরিক যার ধরন চর। এতে ল্যাটিন অক্ষর 'A' রয়েছে।
'@' 
একটি আক্ষরিক যার ধরন চর। এতে '@' চিহ্ন রয়েছে
'' 
একটি আক্ষরিক যার ধরন চর। এটিতে একটি জাপানি চরিত্র রয়েছে। আর এটাও সম্ভব।
'\u1f3a'
একটি আক্ষরিক যার ধরন চর। এটির সংখ্যা দ্বারা নির্দিষ্ট একটি ইউনিকোড অক্ষর রয়েছে।

শেষ উদাহরণটি একটি বিশেষ স্বরলিপি ব্যবহার করে একটি ইউনিকোড অক্ষর বরাদ্দ করে: প্রথমে আমাদের উপসর্গ আছে \\u, তারপরে 4টি হেক্সাডেসিমেল অক্ষর রয়েছে। পরবর্তী পাঠগুলিতে এই সম্পর্কে বিস্তারিত তথ্য অন্তর্ভুক্ত রয়েছে।