কম্পিউটার

জাভা স্ট্রিং:নতুনদের জন্য একটি গাইড

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

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

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

একটি জাভা স্ট্রিং তৈরি করা হচ্ছে

জাভাতে টেক্সট সংরক্ষণ করতে একটি স্ট্রিং ব্যবহার করা হয়। যেখানে char ডেটা টাইপ পৃথক অক্ষর সঞ্চয় করে, স্ট্রিংগুলি আপনার ইচ্ছামত অক্ষর ধরে রাখতে পারে। স্ট্রিং হল বাইটের ক্রম।

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

“This is an example string.”

আপনি println() ব্যবহার করে একটি স্ট্রিং এর বিষয়বস্তু মুদ্রণ করতে পারেন ফাংশন:

System.out.println("এটি একটি উদাহরণ স্ট্রিং।");

আমাদের কোড ফিরে আসে:This is an example string . আমরা একটি নতুন স্ট্রিং তৈরি করেছি। এখন যেহেতু আপনি কীভাবে একটি স্ট্রিং ঘোষণা করবেন সে সম্পর্কে সচেতন, আমরা আপনার কোডে তাদের সাথে কীভাবে কাজ করব সে সম্পর্কে কথা বলতে পারি।

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় ব্যয় করেছে।

স্ট্রিং সংযোগ

সংমিশ্রণ, কি একটি দীর্ঘ শব্দ. এর সংজ্ঞাটি বেশ সহজ:এর অর্থ হল দুটি স্ট্রিং একত্রিত করে একটি নতুন স্ট্রিং তৈরি করা। আপনি + ব্যবহার করতে পারেন অপারেটর (প্লাস চিহ্ন) দুটি স্ট্রিং সংযুক্ত করতে।

ধরা যাক আমাদের দুটি স্ট্রিং আছে:উইলিয়াম এবং কার্টার। প্রথম স্ট্রিংটি একটি পূর্বনাম এবং দ্বিতীয় স্ট্রিংটি একটি উপাধি। আমরা + ব্যবহার করে তাদের একত্রিত করতে পারি অপারেটর:

স্ট্রিং ফুলনাম ="উইলিয়াম" + "কার্টার";System.out.println(পূর্ণনাম);

আমাদের কোড আউটপুট:WilliamCarter . দাঁড়াও, কি হয়েছে? কেন এই দুটি শব্দের মধ্যে স্থান নেই?

ডিফল্টরূপে, সংযুক্ত স্ট্রিংগুলির মধ্যে কোনও সাদা স্থান যোগ করা হয় না। আমরা যদি একটি স্থান দেখতে চাই, তাহলে আমাদের William নামের পরে এটি যোগ করতে হবে :

স্ট্রিং ফুলনাম ="উইলিয়াম " + "কার্টার";System.out.println(পূর্ণনাম);

যখন আমরা আমাদের প্রোগ্রাম চালাই, তখন এটি ফিরে আসে:William Carter .

একটি স্ট্রিং এর দৈর্ঘ্য গণনা করা

আপনি কিভাবে একটি স্ট্রিং এর দৈর্ঘ্য গণনা করবেন? কি একটি ভাল প্রশ্ন. সৌভাগ্যক্রমে আমাদের জন্য, এটি করার জন্য আমাদের কোন জটিল ফাংশন লিখতে হবে না।

জাভাতে ইতিমধ্যেই একটি অন্তর্নির্মিত ফাংশন রয়েছে যা আমরা একটি স্ট্রিংয়ের দৈর্ঘ্য গণনা করতে ব্যবহার করতে পারি:length() . এটি একটি পদ্ধতির জন্য একটি সুবিধাজনক নাম!

আমরা একটি প্রোগ্রাম তৈরি করতে যাচ্ছি যা একটি চতুর্থ শ্রেণীর ক্লাসে দুই ব্যক্তির নামের দৈর্ঘ্য গণনা করে। একটি নতুন জাভা ফাইল তৈরি করুন এবং আপনার প্রধান ক্লাসে নিম্নলিখিত কোড পেস্ট করুন:

স্ট্রিং নাম1 ="উইলিয়াম কার্টার";স্ট্রিং নাম2 ="হেলেনা ওহারা";int name1length =name1.length() - 1;int name2length =name2.length() - 1;System.out.println(name1 + " এর নাম হল " + name1length + " অক্ষর দীর্ঘ।");System.out.println(name2 + "এর নাম " + name2length + " অক্ষর দীর্ঘ।");

আসুন আমাদের কোড রান করি:

উইলিয়াম কার্টারের নাম 13 অক্ষর লম্বা। হেলেনা ওহারার নাম 11 অক্ষর লম্বা।

আমরা দুটি ভেরিয়েবল সংজ্ঞায়িত করেছি যা আমাদের ছাত্রদের নাম সংরক্ষণ করে:name1 এবং name2। আমরা তারপর length() ব্যবহার করেছি এই স্ট্রিংগুলির প্রতিটির দৈর্ঘ্য গণনা করার পদ্ধতি। মাঝখানে স্থানের জন্য আমরা প্রতিটি নামের দৈর্ঘ্য থেকে 1টি বিয়োগ করেছি।

তারপর, আমরা প্রতিটি নামের দৈর্ঘ্য আমাদের জানিয়ে একটি বার্তা প্রিন্ট আউট করেছি।

একটি স্ট্রিং এর মধ্যে একটি স্ট্রিং খুঁজুন

এমন সময় হতে পারে যখন আপনি অন্য স্ট্রিংয়ের মধ্যে একটি স্ট্রিং খুঁজে পেতে চান। সেখানেই indexOf() পদ্ধতি কাজে আসে। এই পদ্ধতিটি একটি স্ট্রিং এর মধ্যে পাঠ্যের একটি নির্দিষ্ট স্ট্রিং এর প্রথম ঘটনার অবস্থান প্রদান করে।

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

এখানে "উইলিয়াম কার্টার" স্ট্রিং এর মধ্যে সূচকের একটি ভাঙ্গন রয়েছে:

W i l l i a মি
C a r t e r
1 2 3 4 5 6 7 8 9 10 11 12 13

লক্ষ্য করুন যে আমাদের স্ট্রিং-এর সমস্ত অক্ষর হোয়াইটস্পেস সহ একটি সূচক নম্বর বরাদ্দ করা হয়েছে। উপরন্তু, লক্ষ্য করুন কিভাবে আমরা 0 থেকে গণনা শুরু করি। এর কারণ হল স্ট্রিংগুলি 0 থেকে শুরু করে সূচী করা হয়।

ধরা যাক আমরা কোথায় স্ট্রিং Carter খুঁজে বের করতে চাই এই স্ট্রিং মধ্যে প্রদর্শিত হবে. আমরা indexOf() ব্যবহার করে তা করতে পারি এই মত পদ্ধতি:

স্ট্রিং নাম ="উইলিয়াম কার্টার";int অবস্থান =name.indexOf("Carter");System.out.println("কার্টার সূচক মান থেকে শুরু হয় " + অবস্থান);

আমাদের কোড ফিরে আসে:কার্টার সূচী মানের 8 থেকে শুরু হয়। indexOf() সূচী অবস্থান ফেরত দেয় যেখানে একটি অক্ষর উপস্থিত হয়।

দুটি স্ট্রিং সমান কিনা তা পরীক্ষা করুন

স্ট্রিং তুলনা প্রোগ্রামিং সব সময় আসে. আপনি যখন একটি লগইন ফর্ম একটি পাসওয়ার্ড লিখুন সম্পর্কে চিন্তা করুন. আবেদন কি করে? এটি অ্যাপ্লিকেশনটির ডাটাবেসে সংরক্ষিত পাসওয়ার্ডের সাথে আপনার প্রবেশ করা পাসওয়ার্ডের তুলনা করে।

ধরা যাক যে আমরা একটি প্রোগ্রাম লিখতে চাই যা চেক করে যে ব্যবহারকারীর পাসওয়ার্ড সঠিক কিনা। একটি নতুন জাভা ফাইল খুলুন এবং আপনার প্রধান প্রোগ্রামে নিম্নলিখিত কোড পেস্ট করুন:

String entered_password ="Test123";String saved_password ="Test12345";boolean compare_passwords =entered_password.equals(saved_password);System.out.println("প্রবেশ করা পাসওয়ার্ড কি সংরক্ষিত পাসওয়ার্ডের সাথে মেলে?" + তুলনা করুন); পূর্বে> 

আমাদের কোড ফিরে আসে:

প্রবেশ করা পাসওয়ার্ড কি সংরক্ষিত পাসওয়ার্ডের সাথে মেলে? মিথ্যা

আমাদের প্রোগ্রাম দুটি স্ট্রিং আমরা নির্দিষ্ট করেছি কিনা তা পরীক্ষা করে - entered_password এবং saved_password সমান. আমরা equals() ব্যবহার করি এই চেক সঞ্চালনের পদ্ধতি। স্ট্রিং সমান হলে এই পদ্ধতিটি সত্য হয়; অন্যথায়, এটি মিথ্যা ফেরত দেয়।

চলুন entered_password এর মান পরিবর্তন করি saved_password এর সমান :

String entered_password ="Test12345";String saved_password ="Test12345";...

যখন আমরা এই কোডটি চালাই, আমাদের প্রোগ্রামটি ফিরে আসে:

প্রবেশ করা পাসওয়ার্ড কি সংরক্ষিত পাসওয়ার্ডের সাথে মেলে? সত্য

আমরা নির্দিষ্ট করা দুটি স্ট্রিংই মিলে যায়, যার মানে হল আমাদের equals() পদ্ধতিটি সত্যে মূল্যায়ন করে৷

বিশেষ অক্ষর

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

এই ত্রুটিটি সমাধান করার উপায় হল ব্যাকস্ল্যাশ (\) অক্ষর ব্যবহার করা। এটি অবিলম্বে স্ট্রিং অনুসরণ করে এমন যেকোনো অক্ষরকে একটি বিশেষ চরিত্রে পরিণত করবে। এই উদাহরণ বিবেচনা করুন:

স্ট্রিং স্টেটমেন্ট =""চকোলেট চিপ কুকি x2" এর জন্য আপনার অর্ডার প্রক্রিয়া করা হয়েছে।";

এই স্ট্রিংটি আমাদের প্রোগ্রামে কাজ করবে কারণ আমরা আমাদের স্ট্রিং-এর প্রতিটি ডবল উদ্ধৃতির আগে একটি ব্যাকস্ল্যাশ নির্দিষ্ট করেছি। এই স্ট্রিংটি ফিরে আসে:চকলেট চিপ কুকি x2 এর জন্য আপনার অর্ডার প্রক্রিয়া করা হয়েছে।

এখন আমরা আরেকটি সমস্যা পেয়েছি:আপনি যদি আপনার স্ট্রিং এ ব্যাকস্ল্যাশ ব্যবহার করতে চান তাহলে কি হবে? এটি করতে, আপনি পাশাপাশি দুটি ব্যাকস্ল্যাশ লিখতে পারেন:

স্ট্রিং অর্ডার_রেফারেন্স ="আপনার অর্ডার রেফারেন্স হল 202\\303।"

এটি স্ট্রিংটি প্রদান করে:Your order reference is 202\303."

আপনি জাভা ব্যবহার করতে পারেন যে অন্যান্য বিশেষ অক্ষর একটি সংখ্যা আছে. আপনি সম্মুখীন হবেন সবচেয়ে দরকারী যে একটি হল \n, বা নতুন লাইন। এই অক্ষর একটি স্ট্রিং একটি নতুন লাইন তৈরি করে:

স্ট্রিং অর্ডার_রেফারেন্স ="আপনার অর্ডার রেফারেন্স হল:\n 202\\303।"

আমাদের স্ট্রিং এর সমান:

আপনার অর্ডার রেফারেন্স হল:

202\303

স্ট্রিংটিকে দুটি লাইনে বিভক্ত করা হয়েছে কারণ আমরা is: এর পরে একটি নতুন লাইন অক্ষর নির্দিষ্ট করেছি আমাদের স্ট্রিং এর অংশ।



উপসংহার

স্ট্রিং আপনাকে আপনার প্রোগ্রামে পাঠ্য-ভিত্তিক ডেটার সাথে কাজ করার অনুমতি দেয়। একটি স্ট্রিং যেকোন সংখ্যক অক্ষর ধারণ করতে পারে, যার মধ্যে কোন অক্ষর নেই।

স্ট্রিং পদ্ধতি যেমন indexOf() ব্যবহার করা এবং equals() , আপনি জাভাতে একটি স্ট্রিং এর বিষয়বস্তু ম্যানিপুলেট করতে পারেন। এখন আপনি একজন বিশেষজ্ঞের মতো জাভাতে স্ট্রিং নিয়ে কাজ শুরু করতে প্রস্তুত!


  1. অ্যানাগ্রাম সাবস্ট্রিং অনুসন্ধানের জন্য জাভা প্রোগ্রাম

  2. জাভাতে একটি অ্যারেলিস্টে একটি স্ট্রিং কীভাবে অনুসন্ধান করবেন?

  3. জাভা একটি নির্দিষ্ট শব্দের জন্য একটি স্ট্রিং মধ্যে শব্দের জন্য পার্স কিভাবে?

  4. কিভাবে জাভাতে একটি স্ট্রিং বৈধ করা যেতে পারে (বর্ণমালার জন্য)?