কটলিন ইনপুট/আউটপুট – Kotlin Input/Output Bangla tutorial

Kotlin Input-Output Bangla tutorial

কটলিনের স্ট্যান্ডার্ড ইনপুট আউটপুট অপারেশন হয়ে থাকে বাইট স্ট্রীমের (byte stream) প্রবাহের মাধ্যমে। এটা ইনপুট ডিভাইস (keyboard) থেকে মেইন মেমোরি (RAM) এবং মেইন মেমোরি থেকে আউটপুট ডিভাইসে (Monitor) যায়।

এখানে আমরা প্রিন্ট শব্দটি ব্যবহার করব, এর মানে হলো টার্মিনালে কোন লেখাকে প্রদর্শন করা।

কটলিন আউটপুট:

কটলিনের আউটপুট অপারেশন হয়ে থাকে কটলিনের স্ট্যান্ডার্ড মেথড print() এবং println() এর মাধ্যমে।

উদাহরণ:

println("Hello world")
print("Hello kotlin")

আউটপুট:

Hello world
Hello kotlin

print() এবং println() যথাক্রমে জাভার System.out.print() এবং System.out.println() কে কল করে।

print() এবং println() মেথড দুটির পার্থক্য:

print() মেথডটি প্যারেন্থিসিসের “()” ভিতরের ভ্যালুকে প্রিন্ট করে দেখায়।

println() মেথডটিও প্যারেন্থিসিসের “()” ভিতরের ভ্যালুকে প্রিন্ট করে দেখায় এবং একটি নতুন লাইন তৈরি করে কার্সরকে পরের লাইনে নিয়ে যায়। এজন্য বেশিরভাগ ক্ষেত্রে এই println() মেথড ব্যবহার করা হয় যাতে লেখা গুলো পাশাপাশি প্রিন্ট না হয়ে নিচে নিচে প্রিন্ট হয়।

একটি উদাহরণ দেখি:

println(123)
println("Hello World")
print(456)
print("Kotlin")

আউটপুট হবে:

123
Hello World
456Kotlin

এখানে প্রথমে দুটি println() এবং পরে দুটি print() মেথড ব্যবহার করা হয়েছে। প্রথম দুটি মেথড রান করার পর নতুন লাইন তৈরি হয়েছে এজন্য আউটপুটের তৃতীয় লাইন পর্যন্ত প্রিন্ট হয়েছে নিচে নিচে। তৃতীয় মেথড রান করার পর নতুন লাইন তৈরি হয়নি তাই শেষের লাইনে দুটি  মেথডের আউটপুট পাশাপাশি প্রিন্ট হয়েছে 456 এবং Kotlin।

কটলিন ইনপুট:

কটলিনের readLine() মেথডের মাধ্যমে লেখা ইনপুট নেয়া যায়। এটা শুধু ষ্ট্রিং টাইপ ডাটা ইনপুট নিবে অন্য কোন টাইপের প্রয়োজন পরলে কনভার্ট করে নেয়া যাবে। ডাটা টাইপ নিয়ে “বেসিক ডাটা টাইপ” অধ্যায়ে আলোচনা করা হয়েছে।

উদাহরণ:

  println("Type your name:")
  val name = readLine()
  println("Your name is $name")

আউটপুট:

Type your name:
Touhid
Your name is Touhid

উদাহরণের প্রথম লাইনটি রান করলে সাধারণভাবে কোটেশনের ভিতরের লেখা প্রিন্ট করে দেখাবে এবং কার্সর চলে যাবে পরের লাইনে কারণ এখানে println() মেথড ব্যবহার করা হয়েছে। ২য় লাইন রান করার ফলে টার্মিনালে কার্সর অপেক্ষা করবে কিছু একটা লেখার জন্য, লেখার পর সেই লেখা যাবে name ভেরিয়েবলের ভিতরে, তারপর ৩য় লাইন রান করার ফলে সেই ভেরিয়েবল থেকে লেখা প্রিন্ট করে দেখাবে।

এখন যদি কী-বোর্ড থেকে লেখা ইনপুট নিয়ে যোগ বিয়োগ করার প্রয়োজন হয় তবে নিচের মত করে টাইপ কনভার্ট করে নিতে হবে।

উদাহরণ:

println("Type first digit: ")
val firstDigit = readLine()!!.toInt()

println("Type second digit: ")
val secondDigit = readLine()!!.toInt()

val res = firstDigit + secondDigit

println("Result is: $res")

আউটপুট:

Type first digit: 
4
Type second digit: 
3
Result is: 7

এখানে নতুন যে বিষয়টি এসেছে সেটা হলো ডাটা টাইপ কনভার্ট করে তারপর যোগ করা। এজন্য toInt() মেথড ব্যবহার করা হয়েছে যাতে দেয়া ইনপুট ইন্টিজারে কনভার্ট হয়ে ভেরিয়েবলে এ্যাসাইন হয়। তারপর দুটি ইন্টিজার ভ্যালু যোগ করে আরেকটি ভেরিয়েবলে (res) রাখা হয়েছে অবশেষে তা প্রিন্ট করা হয়েছে।

যদি toInt() ব্যবহার করা না হতো তবে দুটি স্ট্রিং ভ্যালু যুক্ত হয়ে প্রিন্ট হতো ফলে 4 এবং 3 ইনপুট ভ্যালু যুক্ত হয়ে ফলাফল হতো 43, কিন্তু আমরা যেহেতু সংখ্যা হিসেবে এগুলো যোগ/বিয়োগ করতে চাই তাই এদের toInt() দিয়ে কনভার্ট করে তারপর যোগ করা হয়েছে যার ফলে যোগফল 7 এসেছে।

একই রকম ভাবে দশমিক সংখ্যার ক্ষেত্রে toDouble() ব্যবহার করা যাবে। মেথডের আগে !! ব্যবহার করা হয়েছে খালি (null) ভ্যালু ম্যানেজ করার জন্য যা পরবর্তী কোন এক অধ্যায়ে দেখবো।

  •  
  •  
  •  
  •  
  •  

Leave a Reply

Your email address will not be published. Required fields are marked *