image-ru-01-05

"হাই। "আমার নাম লাগা বিলাবো। আমি একজ বহির্জাগতিক জীব এবং এই জাহাজের চিকিৎসক। আশা করি আমরা ভাল বন্ধু হব।"

"আমিও তাই আশা করি।"

"আমার নিজের গ্রহে আমরা প্রাচীন জাভা ল্যাঙ্গুয়েজের পরিবর্তে উন্নত প্যাসকেল প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করি। জাভা ও প্যাসকেল কোডের এই পাশাপাশি তুলনা দেখো:"

জাভা প্যাসকেল
public class MyFirstClass
{
   public static void main(String[] args)
   {
      int a, b, c;
      String s1, s2;
      System.out.println("Enter two numbers");
      a = new Scanner(System.in).nextInt();
      b = new Scanner(System.in).nextInt();
      c = a + b;
      System.out.println("The sum is " + c);
   }
}
Program MyFirstProgram;
Var
   a, b, c: Integer;
   s1, s2: String;
Begin
   WriteLn("Enter two numbers");
   ReadLn(a);
   ReadLn(b);
   c := a + b;
   WriteLn("The sum is ", c);
End.

"এটি দু'টি ভিন্ন ল্যাঙ্গুয়েজে লেখা একই প্রোগ্রাম। তুমি দেখতে পাচ্ছো যে প্যাসলে কম সংখ্যক লাইন আছে, যা প্রমাণ করে যে প্যাসকেল জাভার চেয়ে উন্নত।"

"আমি ভেবেছিলাম যে তুমি আগে কখনও প্যাসকেল দেখে থাকলে এই উদাহরণ তোমাকে জাভা সম্পর্কে বুঝতে সাহায্য করতে পারে।"

"না, আমি দেখিনি। তবুও দু'টি প্রোগ্রামিং ল্যাঙ্গুয়েজের মধ্যে তুলনা করা আগ্রহোদ্দীপক।"

"যথেষ্ট ভাল। তাহলে আমি চালিয়ে যাব।"

"প্যাসকেলে আমরা প্রোগ্রাম বডি, প্রসিডিওর বা ফাংশনে কোড রাখি। জাভায় প্রক্রিয়াটি সরল: প্রোগ্রাম বডি, প্রসিডিওর ও ফাংশন সবকিছুকেই মেথড নামের ফাংশন দ্বারা প্রতিস্থাপন করা হয়।"

জাভা প্যাসকেল
মূল মেথড
public static void main(String[] args)
{
   System.out.println("Ho-ho-ho!");
}
প্রোগ্রাম বডি
Begin
   WriteLn("Ho-ho-ho!");
End.
ফাংশন/মেথড
double sqr(double a)
{
   return a * a;
}
ফাংশন
Function Sqr(a: Real): Real
Begin
   Sqr := a * a;
End;
Void রিটার্ন টাইপ সহযোগে ফাংশন
void doubleWrite(String s)
{
   System.out.println(s);
   System.out.println(s);
}
প্রসিডিওর
Procedure DoubleWrite(s: String);
Begin
   WriteLn(s);
   WriteLn(s);
End;

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

"হ্যাঁ, আমরা ভিন্ন জগতবাসীরা এটাকে খুবই অদ্ভুত বলে মনে করি। কিন্তু মানুষ সবকিছুকে একত্রিত করতে পছন্দ করে।"

"জাভায় সব কোড একটি মেথডের অংশ, তাই কোনো মেথড ঘোষণা করার জন্য, প্যাসকেলের মতো তোমার ফাংশন শব্দটাও লেখার প্রয়োজন নেই।"

"এটি খুবই সহজ। কোনো কোডের লাইন দেখতে ধরন + নাম এরকম হলে এটি কোনো মেথড বা চলকের ঘোষণা। নামের পরে বন্ধনী থাকলে এটি কোনো নতুন মেথডের ঘোষণা। কোনো বন্ধনী না থাকলে এটি কোনো চলকের ঘোষণা।"

"জাভায় চলক ও মেথডের ঘোষণা খুবই সদৃশ। নিজেই দেখো:"

কোড বর্ণনা
String name;
name নামের চলক যা একটি String
String getName()
{
}
getName নামের মেথড একটি String রিটার্ন করে।

"কিন্তু এটাই সবকিছু নয়। জাভায় মেথড বিচ্ছিন্নভাবে থাকতে পারে না। এগুলো অবশ্যই কোনো ক্লাসের ভিতরে থাকতে হবে। এভাবে, মানুষকে জাভায় কোনো ছোট প্রোগ্রাম লিখতে হলে, তাদেরকে অবশ্যই প্রথমে একটি ক্লাস তৈরি করতে, এতে একটি মেইন মেথড ঘোষণা করতে হয়, এবং কেবল তারপরইতারা মেথডে তাদের কোড লিখতে পারে। এই পৃথিবীবাসীরা খুবই অদ্ভুত!"

"দিয়েগো আজ আগেই এসেছিল এবং আমাকে বলেছে তোমাকে এই কাজগুলো দিতে। আশা করি এগুলো তোমার পছন্দ হবে।"

1
কাজ
জাভা সিনট্যাক্স,  লেভেল 1পাঠ 8
লক করা আছে
দ্য গ্রেট পার্জ
এই প্রোগ্রাম যিনিই লিখে থাকুন না কেন, অবশ্যই তাড়াহুড়োয় তা করেছেন। আসলে তা সত্য নয়: এই প্রোগ্রাম শিক্ষামূলক উদ্দেশ্যে লেখা হয়, এবং রচয়িতা ইচ্ছাকৃতভাবে অতিরিক্ত চলক যুক্ত করেন এবং একইসাথে প্রয়োজনীয় চলক ঘোষণা করেননি। আমরা এটি সংশোধন করতে চলেছি: অপ্রয়োজনীয় চলকগুলো নিয়ে মন্তব্য করো এবং অনুপস্থিত চলকগুলো ঘোষণা করো। তারপর প্রোগ্রামটি সার্বিক সামঞ্জস্য অর্জন করবে।
1
কাজ
জাভা সিনট্যাক্স,  লেভেল 1পাঠ 8
লক করা আছে
এটি করতে ভাল লাগছে না? তবুও এটি করো।
আলস্য এমনকি সেরা প্রোগ্রামারদেরও কষ্ট দেয়। আর শুধু প্রোগ্রামারদেরই নয়। তবুও, মানুষ নিজেকে শিক্ষিত করে তোলার মাধ্যমে পেশাজীবী হয়ে উঠতে সক্ষম হয়েছে। তাই আমরা অলস না হতে পরামর্শ দিচ্ছি। তার পরিবর্তে, পর্দায় এই স্লোগান প্রদর্শন করো। "If you feel like it, do the task. If you don't feel like it, do it anyway". আর তা সত্যিই মনে রাখার জন্য, এটিকে 16 বার প্রদর্শন করো।
5
কাজ
জাভা সিনট্যাক্স,  লেভেল 1পাঠ 8
লক করা আছে
সংখ্যার বর্গফল
সংখ্যার বর্গফল গণনা করার বিভিন্ন উপায় আছে। উদাহরণস্বরূপ, কিছু মানুষ একটি সংখ্যা লেখে এবং তারপর এর চারপাশে একটি বর্গক্ষেত্র আঁকে। যেসব লোক কোথাও পড়াশোনা করেনি তারা এই পদ্ধতি ব্যবহার করে। অন্য সবাইকে গুণ করতে হয়, বর্গফলের তালিকা মনে করতে হয়, ... অথবা কোনো প্রোগ্রাম ব্যবহার করতে হয়। তোমার প্রোগ্রামকে 5 এর বর্গফল প্রদর্শন করতে হবে।
5
কাজ
জাভা সিনট্যাক্স,  লেভেল 1পাঠ 8
লক করা আছে
2+2 এর মতই সহজ
জাভা অ্যাপ্লিকেশনে সব কাজই ফাংশন দ্বারা সম্পন্ন হয়। অথবা আরও সঠিকভাবে বললে, মেথড দ্বারা। একজন দয়ালু মেন্টর ইতোমধ্যেই আমাদের প্রোগ্রামে একটি মেথড প্রয়োগ করেছেন (অর্থাৎ মেথডটির কোড লিখেছেন) যা দু'টি সংখ্যার যোগফল হিসাব করতে পারে। তোমাকে শুধু 2 ও 2 আর্গুমেন্টসহ এই মেথডকে কল করতে হবে। তোমাকে main মেথডের ভিতরে এটি করতে হবে।
1
কাজ
জাভা সিনট্যাক্স,  লেভেল 1পাঠ 8
লক করা আছে
স্বাস্থ্যকর খাবার বেছে নাও! ফল বেছে নাও!
সেসব চলক প্রদর্শন করো যেগুলোর মান ফলের নাম। প্রতিটি চলক এক একটি নতুন লাইনে দেখাও।
1
কাজ
জাভা সিনট্যাক্স,  লেভেল 1পাঠ 8
লক করা আছে
প্রিয় কবিতা
এখনকার প্রোগ্রামাররা বিরল ক্ষেত্রেই কেবল প্রযুক্তি ও যন্ত্রপাতির প্রতি আসক্ত পুরো মাত্রার ইঞ্জিনিয়ার হয়। তাদের মধ্যে কেউ কেউ কবিতার বিষয়েও আবেগ প্রবণ। একজন কবিতাপ্রেমী হলেও তুমি নিচের কাজটি সম্পাদন করাকে সহজ মনে করবে: তোমার প্রিয় কবিতা থেকে একটি চার লাইনের (বা আরো বেশি) পদ্য প্রদর্শন করো।