1. শব্দের তালিকা
যে কোনো প্রোগ্রামিং ভাষার মতো, জাভাতেও বিশেষ অর্থ আছে এমন শব্দ আছে। উদাহরণস্বরূপ, return
বা if
বা while
। এই শব্দগুলিকে কীওয়ার্ড ( কীওয়ার্ড ) বলা হয় এবং জাভা ভাষার দ্বারা সংরক্ষিত বলে বিবেচিত হয়।
আপনি একটি পরিবর্তনশীল নাম, পদ্ধতির নাম, বা শ্রেণীর নাম হিসাবে এই শব্দগুলি ব্যবহার করতে পারবেন না। কম্পাইলার সবসময় তাদের একটি কঠোরভাবে সংজ্ঞায়িত উপায়ে ব্যাখ্যা করবে। 54
জাভাতে এরকম শব্দ আছে ।
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
আপনি ইতিমধ্যে তাদের কিছু জানেন, এবং আমরা এখন বাকি সম্পর্কে কথা বলতে হবে.
2. আদিম প্রকার
আপনি সম্ভবত মনে রাখবেন, জাভার 8 টি আদিম প্রকার রয়েছে এবং তাদের প্রত্যেকটির নিজস্ব কীওয়ার্ড রয়েছে:
byte
short
int
long
char
float
double
boolean
void
যদি আপনার যথেষ্ট অনুসন্ধিৎসু মন থাকে, তাহলে একটি ভাল সুযোগ আছে যে আপনি ইতিমধ্যে একটি পরিবর্তনশীল int নাম দেওয়ার চেষ্টা করেছেন। এবং অবশ্যই আপনি সফল হননি। এটি সঠিকভাবে কারণ সমস্ত আদিম প্রকারের নাম সংরক্ষিত শব্দ।
ধরনটিও void
এই বিভাগে পড়ে।
3. লুপ এবং শাখা
লুপ এবং শাখাগুলি আমাদের কীওয়ার্ডগুলির একটি বরং দীর্ঘ তালিকা দেয়:
if
else
switch
case
default
while
do
for
break
continue
break
লুপ ( এবং continue
) এবং একাধিক শাখা ( switch
) বাধা দেওয়ার জন্য বিভিন্ন ধরণের লুপ, শাখা এবং নিয়ন্ত্রণ বিবৃতি প্রদান করার জন্য ভাষার জন্য মাত্র 10টি শব্দ যথেষ্ট। আপনি ইতিমধ্যে এই সমস্ত কীওয়ার্ডের সাথে পরিচিত।
4. ব্যতিক্রম
ব্যতিক্রম আমাদের 5টি কীওয়ার্ড দেয়:
try
catch
finally
throw
throws
এগুলো সবই একটি try-catch-finally
ব্লকের অংশ। ব্যতিক্রম নিক্ষেপের জন্য অপারেটর হল throw
, এবং কীওয়ার্ডটি ব্যতিক্রম প্রক্রিয়া throws
সমর্থন করে ।checked
ভাল খবর হল আপনি ব্যতিক্রম সম্পর্কিত সমস্ত কীওয়ার্ডের সাথে ইতিমধ্যেই পরিচিত, তাই আপনি ইতিমধ্যেই বেশিরভাগ ব্যতিক্রমগুলির সাথে কাজ করার সাথে পরিচিত।
5. দৃশ্যমানতা
এখানে শুধুমাত্র তিনটি কীওয়ার্ড আছে, এবং আপনি ইতিমধ্যেই তাদের সাথে পরিচিত।
private
protected
public
public
প্রোগ্রামের যেকোনো স্থান থেকে একটি পদ্ধতি/ভেরিয়েবল/ক্লাসে অ্যাক্সেসের অনুমতি দেয়।
private
প্রোগ্রামের যেকোনো স্থান থেকে একটি পদ্ধতি/ভেরিয়েবল/ক্লাস অ্যাক্সেস করা নিষিদ্ধ করে। সংশোধক দ্বারা চিহ্নিত পদ্ধতি হিসাবে শুধুমাত্র একই শ্রেণীর মধ্যে অ্যাক্সেস অনুমোদিত private
।
protected
একইভাবে কাজ করে private
, তবে উত্তরাধিকারসূত্রে পাওয়া ক্লাস থেকে একটি পদ্ধতি/ভেরিয়েবল/ক্লাসে অ্যাক্সেসের অনুমতি দেয়। আপনি যখন OOP এবং উত্তরাধিকারের সাথে পরিচিত হবেন তখন এই মডিফায়ারের সুবিধাগুলি আপনার কাছে আরও স্পষ্ট হয়ে উঠবে।
6. ক্লাস নিয়ে কাজ করা
এই বিভাগে 11টি কীওয়ার্ড রয়েছে:
class
interface
enum
import
package
extends
implements
static
final
abstract
default
তাদের ৪টি দলে ভাগ করা যায়।
প্রথম গ্রুপটি ক্লাস তৈরির সাথে সম্পর্কিত: class
, interface
এবং enum
. আপনি ইতিমধ্যে ক্লাস এবং enums ঘোষণা সম্পর্কে শিখেছি . কীওয়ার্ডটি interface
আরও একটি ক্লাসের মতো টাইপ ঘোষণা করতে ব্যবহৃত হয়: ইন্টারফেস।
দ্বিতীয় গ্রুপটি প্যাকেজ এবং আমদানি কীওয়ার্ড নিয়ে গঠিত, যা আপনি ইতিমধ্যে পরিচিত। প্যাকেজ কীওয়ার্ডটি ক্লাস ফাইলে একটি ক্লাসের প্যাকেজ নির্দিষ্ট করতে ব্যবহৃত হয়। এবং import
তাই আমরা আমাদের নিজস্ব ক্লাস লেখার সময় বহিরাগত ক্লাসের ছোট নাম ব্যবহার করতে পারি।
extends
এবং কীওয়ার্ডগুলি implements
উত্তরাধিকারের জন্য ব্যবহৃত হয়। আপনি জাভা কোর অনুসন্ধানের একেবারে শুরুতে সেগুলি দেখে নেবেন।
অবশেষে, শেষ গ্রুপটি static
, final
, default
, এবং abstract
সংশোধক নিয়ে গঠিত। আপনি ইতিমধ্যে সম্পর্কে একটু জানেন static
এবং final
. কিওয়ার্ড abstract
একটি ক্লাস বা পদ্ধতি বিমূর্ত করতে ব্যবহার করা হয়. জাভা কোর কোয়েস্টে উত্তরাধিকার অধ্যয়ন করার সময় আপনি আরও বিশদ পাবেন।
7. বস্তু এবং ভেরিয়েবল নিয়ে কাজ করা
বস্তু, পদ্ধতি এবং ভেরিয়েবল নিয়ে কাজ করার সময় আরও ছয়টি কীওয়ার্ড ব্যবহার করা হয়।
new
instanceof
this
super
return
var
(জাভা 10 থেকে)
অপারেটরটি new
নতুন বস্তু তৈরি করতে ব্যবহৃত হয় - আপনি ইতিমধ্যেই জানেন।
instanceof
একটি ভেরিয়েবল একটি নির্দিষ্ট ধরনের একটি বস্তুর একটি রেফারেন্স রয়েছে তা যাচাই করতে অপারেটর ব্যবহার করা হয় । আপনি ইতিমধ্যে এটি সঙ্গে পরিচিত.
কীওয়ার্ডটি this
ইনস্ট্যান্স ভেরিয়েবল এবং পদ্ধতির ছায়ার কারণে উদ্ভূত সমস্যার সমাধান করতে ব্যবহৃত হয়। আপনি এই হিসাবে অধ্যয়ন করেছেন.
কীওয়ার্ডটি super
এর সাথে সাদৃশ্যপূর্ণ this
, তবে এটি প্যারেন্ট ক্লাসের পদ্ধতি এবং ভেরিয়েবলগুলি উল্লেখ করতে ব্যবহৃত হয়। অভিভাবক শ্রেণীকে সুপারক্লাসও বলা হয়।
বিবৃতিটি return
একটি পদ্ধতির মান ফেরত দিতে এবং একটি পদ্ধতির কার্য সম্পাদন বন্ধ করতে ব্যবহৃত হয়।
অবশেষে, var
একটি ভেরিয়েবল ঘোষণা করার জন্য যার ধরন স্বয়ংক্রিয়ভাবে অনুমান করা হয়। আপনি ইতিমধ্যে এই সঙ্গে পরিচিত.
8. মাল্টিথ্রেডিং
জাভা সিনট্যাক্সের স্তরে, মাল্টিথ্রেডিং শুধুমাত্র দুটি শব্দ দ্বারা প্রতিনিধিত্ব করা হয়।
synchronized
volatile
আমরা তাদের স্পর্শও করব না। জাভা মাল্টিথ্রেডিং অনুসন্ধানে যান , এবং তারপরে আমরা ডুব দেব।
9. বিবিধ
আরও 4টি বিশেষ কীওয়ার্ড রয়েছে:
native
transient
assert
strictfp
native
একটি সংশোধক যা একটি পদ্ধতি ঘোষণার আগে লেখা যেতে পারে। এর মানে হল যে পদ্ধতি কোডটি জাভাতে নয়, C++ এ লেখা হয়েছে এবং জাভা মেশিনে (ভালভাবে, বা একটি DLL) এম্বেড করা হয়েছে। আপনি সম্ভবত ইতিমধ্যে অনুমান করেছেন, জাভা মেশিন নিজেই C++ এ লেখা আছে। ঠিক অনেক স্ট্যান্ডার্ড লাইব্রেরি পদ্ধতির মত।
transient
একটি সংশোধক যা ইনস্ট্যান্স ভেরিয়েবলের আগে লেখা যেতে পারে (একটি শ্রেণীর ক্ষেত্র)। এটি জাভা মেশিনকে ক্লাসের একটি অবজেক্টকে সিরিয়ালাইজ করার সময় চিহ্নিত ভেরিয়েবলটিকে এড়িয়ে যেতে (বা উপেক্ষা করতে) বলে। আপনি জাভা সংগ্রহ অনুসন্ধানে সিরিয়ালাইজেশন সম্পর্কে আরও জানতে পারেন।
assert
এছাড়াও C++ থেকে জাভা আসে। এর সাহায্যে, আপনি আপনার কোডে অতিরিক্ত চেক যোগ করতে পারেন (উদাহরণস্বরূপ, একটি ভেরিয়েবল শূন্য কিনা তা পরীক্ষা করতে)। এখানে গুরুত্বপূর্ণ বিষয় হল এই চেকগুলি কম্পাইলের সময় সক্রিয় বা নিষ্ক্রিয় করা হয়।
আপনি অভ্যন্তরীণ পরীক্ষার জন্য প্রকল্পটি তৈরি করতে পারেন এবং এই চেকগুলি করা হবে (বিল্ডে অন্তর্ভুক্ত)। অথবা ব্যবহারকারীদের সরবরাহ করা হবে এমন প্রোগ্রামটির সংস্করণ তৈরি করতে আপনি সংকলনের সময় সেগুলিকে অক্ষম করতে পারেন।
strictfp
কীওয়ার্ড এবং ইন্টেল প্রসেসরের অতিরিক্ত নির্ভুলতার জন্য , আমাদের কাছে আপনার জন্য একটি সম্পূর্ণ গল্প রয়েছে ।
10. সংরক্ষিত কিন্তু ব্যবহার করা হয় না
এছাড়াও দুটি কীওয়ার্ড আছে যা সংরক্ষিত কিন্তু ব্যবহার করা হয় না।
const
goto
এগুলিও C++ ভাষার একটি উত্তরাধিকার, যেখানে সেগুলি বিদ্যমান এবং ব্যবহৃত হয়।
11. কীওয়ার্ড নয়
আনুষ্ঠানিকভাবে, true
, false
এবং null
ধ্রুবকগুলি কীওয়ার্ড নয়। যে বলে, তাদের প্রত্যেকের নিজস্ব বৈশিষ্ট্য রয়েছে। আপনি একটি পদ্ধতি true
বা একটি পরিবর্তনশীল নাম দিতে পারবেন না false
। কম্পাইলার এই ধরনের কোড বুঝতে পারবে না এবং এটি কম্পাইল করবে না।
GO TO FULL VERSION