1. মেমরিতে অ্যারে
পূর্ববর্তী উদাহরণগুলিতে, চিত্রগুলি একটু ভুল ছিল।
অ্যারে তৈরি করার সময় (স্ট্রিং তৈরি করার সময়), মেমরির দুটি পৃথক ব্লক বরাদ্দ করা হয়: একটি অ্যারে (ধারক) নিজেই সংরক্ষণ করার জন্য এবং একটি ভেরিয়েবলের জন্য দ্বিতীয় ব্লক যা এর ঠিকানা সংরক্ষণ করে । নীচের ছবিটি এই স্পষ্টীকরণ প্রতিনিধিত্ব করে:
উপাদানগুলির অ্যারের জন্য বরাদ্দ করা মেমরি 10
int
এবং অ্যারের ঠিকানাint[]
সংরক্ষণ করে এমন ভেরিয়েবল সবুজ রঙে দেখানো হয়েছে।int
int
তুলনা করার জন্য, মান সংরক্ষণ করে একটি সাধারণ পরিবর্তনশীল 199
নীল রঙে দেখানো হয়েছে।
এই স্মৃতিতে স্ট্রিং সংরক্ষণের একটু মনে করিয়ে দেয়, আপনি কি মনে করেন না?
এটা ঠিক, স্ট্রিং. এবং ঠিক যেমন আপনি যখন স্ট্রিং নিয়ে কাজ করেন, আপনি একে অপরকে অ্যারে ভেরিয়েবল বরাদ্দ করতে পারেন:
কোড | ব্যাখ্যা |
---|---|
|
উপাদানগুলির একটি অ্যারে তৈরি করুন 10 int । সূচক সহ কক্ষে মান নির্ধারণ করুন । সূচক সহ কক্ষে মান নির্ধারণ করুন । ভেরিয়েবলে , ভেরিয়েবলে সংরক্ষিত ঠিকানাটি সংরক্ষণ করুন । এখন এবং মেমরিতে একই অ্যারে অবজেক্টের দিকে নির্দেশ করুন। ইনডেক্স সহ অ্যারে অবজেক্টের ঘরে , কোষে সংরক্ষিত মানগুলির যোগফল লিখুন (যা মান সংরক্ষণ করে ) এবং (যা মান সংরক্ষণ করে )। 4 2 9 7 b a a b 9 2 4 7 9 |
অ্যারে অবজেক্ট যেখানে ছিল ঠিক সেখানেই থাকে এবং a
ভেরিয়েবল b
একই অবজেক্টের একই ঠিকানা (রেফারেন্স) সংরক্ষণ করে। ছবিটির দিকে তাকাও:

2. অ্যারেগুলির সাথে কাজ করার বিষয়ে আরও বিশদ
আপনি একেবারে যেকোন ধরণের উপাদানের একটি অ্যারে তৈরি করতে পারেন। এটি করার জন্য, টাইপ নামের পরে বর্গাকার বন্ধনী লিখুন। সাধারণভাবে, একটি অ্যারে তৈরি করা এই মত দেখায়:
type[] name = new type[number];
যেখানে টাইপ হল উপাদানগুলির ধরন আমরা অ্যারেতে সংরক্ষণ করব। নাম হল ভেরিয়েবলের নাম যা আমরা অ্যারের উল্লেখ করতে ব্যবহার করব এবং সংখ্যা হল অ্যারের ঘরের সংখ্যা।
উপরের উদাহরণটি একটি অ্যারে ভেরিয়েবল এবং অ্যারে অবজেক্ট তৈরি করার জন্য ক্যানোনিকাল ফর্ম। বাস্তবে, এই দুটি পৃথক সত্তা.
আপনি একটি অ্যারে অবজেক্ট থেকে আলাদাভাবে একটি অ্যারে ভেরিয়েবল তৈরি করতে পারেন:
type[] name;
name = new type[number];
এবং আরও একটি পয়েন্ট যা তুচ্ছ নয়:
উদাহরণ:
কোড | ব্যাখ্যা |
---|---|
|
n উপাদানগুলির একটি অ্যারে তৈরি করুন |
|
203 উপাদানগুলির সাথে একটি অ্যারে তৈরি করুন |
|
|
0..99
হবে ArrayIndexOfBoundException
, যার অর্থ সূচকটি অ্যারের সীমার বাইরে ছিল।
3. অ্যারের দৈর্ঘ্য
আপনি আগের উদাহরণে যেমন দেখেছেন, আপনি নিজেই একটি অ্যারে ভেরিয়েবল তৈরি করতে পারেন এবং তারপরে কোডের কোথাও এটিতে একটি মান (একটি অ্যারে অবজেক্টের রেফারেন্স) বরাদ্দ করতে পারেন। এমনকি আপনি এটি করতে পারেন:
কোড | ব্যাখ্যা |
---|---|
|
একটি অ্যারে ভেরিয়েবল তৈরি করুন যার ধরন int[] যদি a ভেরিয়েবলটি র থেকে কম হয় 10 তবে উপাদানগুলির একটি অ্যারে তৈরি করুন । অন্যথায় উপাদানগুলির একটি অ্যারে তৈরি করুন 10 20 |
এবং এখন আপনি যেমন একটি অ্যারে সঙ্গে আর কি করতে পারেন? আপনি কিভাবে বুঝবেন এতে কতগুলো উপাদান আছে?
এটিতে সাহায্য করার জন্য, অ্যারেগুলির একটি বিশেষ সম্পত্তি (ভেরিয়েবল) রয়েছে length
। আপনি এই অভিব্যক্তি ব্যবহার করে একটি অ্যারের দৈর্ঘ্য খুঁজে পেতে পারেন:
array.length;
এখানে array
অ্যারে ভেরিয়েবলের নাম এবং length
অ্যারের সম্পত্তির নাম। সম্পত্তির মান length
পরিবর্তন করা যাবে না: length
সম্পত্তি নিজেই অন্যান্য ভেরিয়েবলের জন্য বরাদ্দ করা যেতে পারে, কিন্তু এটিতে কিছুই বরাদ্দ করা যাবে না (যদি আপনি এটি করার চেষ্টা করেন তবে প্রোগ্রামটি কেবল কম্পাইল করবে না)।
আমরা আগের উদাহরণটি এভাবে চালিয়ে যেতে পারি:
কোড | ব্যাখ্যা |
---|---|
|
একটি অ্যারে ভেরিয়েবল তৈরি করুন যার ধরন int[] যদি a ভেরিয়েবলটি র থেকে কম হয় 10 তবে উপাদানগুলির একটি অ্যারে তৈরি করুন । অন্যথায় উপাদানগুলির একটি অ্যারে তৈরি করুন অ্যারের সমস্ত উপাদানের উপর লুপ করুন: থেকে দৈর্ঘ্য পর্যন্ত 10 20 0 array.length - 1 |
4. জাভাতে অ্যারে সম্পর্কে তথ্যের সারাংশ
অ্যারে সম্পর্কে আমরা যা জানি তা সংক্ষেপে দেখা যাক:
ঘটনা 1. একটি অ্যারে অনেকগুলি কোষ নিয়ে গঠিত।
ঘটনা 2. আপনি একটি নির্দিষ্ট কক্ষের নম্বর (সূচক) ব্যবহার করে অ্যাক্সেস করেন।
ঘটনা 3. সমস্ত কোষ একই ধরনের।
ঘটনা 4. সমস্ত কোষের প্রাথমিক মান হল 0 (যদি কোষগুলি সংখ্যা সঞ্চয় করে), null
(যদি কোষগুলি বস্তুর উল্লেখ সংরক্ষণ করে), বা false
(যদি কোষগুলি boolean
মান সঞ্চয় করে)। আপনি এই অধ্যায়ে ডিফল্ট মান সম্পর্কে আরও শিখবেন ।
ঘটনা 5. String[] list
শুধুমাত্র একটি পরিবর্তনশীল ঘোষণা. এটি নিজেই ধারক (অ্যারে অবজেক্ট) তৈরি করে না। ভেরিয়েবল ব্যবহার করার জন্য, আপনাকে প্রথমে একটি অ্যারে (ধারক) তৈরি করতে হবে এবং এটি ভেরিয়েবলে বরাদ্দ করতে হবে। নীচের উদাহরণ দেখুন.
ঘটনা 6. যখন আমরা একটি অ্যারে অবজেক্ট (ধারক) তৈরি করি, তখন আমাদের অবশ্যই নির্দেশ করতে হবে যে এটি কত বড়, অর্থাৎ এতে কতগুলি কোষ রয়েছে। এটি একটি বিবৃতি দিয়ে করা হয় যেমন: new TypeName[n]
;
ঘটনা 7. বৈশিষ্ট্য ব্যবহার করে একটি অ্যারের দৈর্ঘ্য পাওয়া যাবে .length
।
ঘটনা 8. একটি অ্যারে তৈরি করার পরে, আপনি এটির উপাদানগুলির ধরণ বা এটি সংরক্ষণ করে এমন উপাদানগুলির সংখ্যা পরিবর্তন করতে পারবেন না।
কোড | ব্যাখ্যা |
---|---|
|
s is null list isnull |
|
ভেরিয়েবল একটি বস্তুর একটি রেফারেন্স সংরক্ষণ করে: উপাদান list সমন্বিত একটি স্ট্রিং অ্যারে । হয়10 n 10 |
|
এখন উপাদানগুলির |
|
একটি ব্যতিক্রম (প্রোগ্রাম ত্রুটি) নিক্ষেপ করা হবে, অর্থাৎ প্রোগ্রামটি ক্র্যাশ হবে। list একটি রেফারেন্স সংরক্ষণ করেnull |
|
একটি অ্যারে-আউট-অফ-বাউন্ডস ব্যতিক্রম (প্রোগ্রাম ত্রুটি) তৈরি করা হবে। যদি একটি উপাদান/কোষ list সঞ্চয় করে 10 , তাহলে বৈধ সূচকগুলি হল: 0 1 2 3 4 5 6 7 8 9 — 10 উপাদান। |
GO TO FULL VERSION