জাভা কীভাবে জাভা কাজ করে এবং বোঝার কোডের কাঠামো - পার্ট 2


আমাদের শেষ পোস্টে ‘জাভা কি জাভা এবং ইতিহাস জাভা’ আমরা জাভা কী, বিবরণে জাভার বৈশিষ্ট্য, প্রকাশের ইতিহাস এবং এর নামকরণের পাশাপাশি জাভা ব্যবহার করা হয়েছে এমন জায়গাগুলি placesাকা ছিল।

এখানে এই পোস্টে আমরা জাভা প্রোগ্রামিং ভাষার ওয়ার্কিং এবং কোড কাঠামো দিয়ে যাব। আমরা এগিয়ে যাওয়ার আগে আপনাকে স্মরণ করিয়ে দিতে পারি যে জাভা "যে কোনও সময়/যেকোন সময় লিখুন (ডাব্লুওআরএ)" র কথা মনে রেখেই বিকাশ করা হয়েছিল, এর অর্থ নিশ্চিত করা যায় যে বিকাশকৃত অ্যাপ্লিকেশনটি স্থাপত্যগতভাবে নিরপেক্ষ, প্ল্যাটফর্ম ইন্ডিপেন্ডেন্ট এবং বহনযোগ্য হতে হবে।

জাভা কাজ

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

উত্স ফাইল লিখুন। এই ফাইলটিতে জাভা প্রোগ্রামিং ভাষার জন্য প্রতিষ্ঠিত প্রোটোকলের মধ্যে সমস্ত পদ্ধতি, পদ্ধতি, শ্রেণি এবং অবজেক্ট রয়েছে objects উত্স ফাইলের নামটি ক্লাসের নাম বা তদ্বিপরীত হওয়া উচিত। উত্স ফাইলটির নাম অবশ্যই । Java এক্সটেনশন থাকতে হবে। ফাইলের নাম এবং শ্রেণীর নাম কেস সংবেদনশীল।

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

সংকলক শ্রেণিবিন্যাস তৈরি করে। এই শ্রেণিবদ্ধগুলি সোর্স কোড ফাইলের নাম হিসাবে একই নামের উত্তরাধিকারী, তবে এক্সটেনশনটি পরিবর্তিত হয়। উত্স ফাইলটির নামটিতে filename.java এক্সটেনশান রয়েছে, যেখানে সংকলক দ্বারা তৈরি ক্লাসফাইলে এক্সটেনশন হিসাবে filename.class । এই শ্রেণিবিন্যাসটি বাইটকোডে কোড করা হয়েছে - বাইটকোডগুলি ম্যাজিকের মতো।

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

এখন উদাহরণটি ব্যবহার করে উপরের চারটি স্তরটি বুঝুন। এখানে একটি ছোট নমুনা জাভা প্রোগ্রাম কোড। আপনি নীচের কোডটি বুঝতে না পারলে চিন্তা করবেন না। এটি এখন কীভাবে কাজ করে তা কেবল বুঝতে understand

public class MyFirstProgram
{
    public static void main(String[] args)
    {
        System.out.println("Hello Tecmint, This is my first Java Program");
    }
}

1. আমি এই প্রোগ্রামটি লিখেছি এবং ক্লাসের নাম মাই ফার্স্টপ্রগ্রাম সংজ্ঞায়িত করেছি। এটি লক্ষ্য করা গুরুত্বপূর্ণ যে এই প্রোগ্রামটি অবশ্যই মাইফার্সট্রগ্রাম.জভা হিসাবে সংরক্ষণ করা উচিত।

উপরের মঞ্চটি 1 টি মনে রাখবেন - শ্রেণীর নাম এবং ফাইলের নাম অবশ্যই এক হতে হবে এবং ফাইলের নাম অবশ্যই । Java থাকতে হবে। এছাড়াও জাভা ক্ষেত্রে সংবেদনশীল তাই আপনার শ্রেণীর নাম যদি ‘মাই ফার্স্টপ্রগ্রাম’ হয় তবে আপনার উত্স ফাইলের নামটি অবশ্যই ‘মাইফার্সট্রগ্রাম.জভা’ হওয়া উচিত।

আপনি এটিকে ‘মাইফিস্টপ্রগ্রাম.জভা’ বা ‘মাইফের্সট্রগ্রাম.জভা’ বা অন্য কিছু হিসাবে নাম দিতে পারবেন না। কনভেনশন দ্বারা প্রোগ্রামটি আসলে কী করছে তার উপর ভিত্তি করে আপনার ক্লাসের নামকরণ করা ভাল ধারণা।

২. এই জাভা উত্স ফাইলটি সংকলন করতে আপনার জাভা সংকলকটির মাধ্যমে এটি পাস করতে হবে। জাভা সংকলক মূলত কোনও ত্রুটি এবং সতর্কতার জন্য উত্স কোডটি যাচাই করবে। সমস্ত সমস্যার সমাধান না হওয়া পর্যন্ত এটি উত্স কোডটি সংকলন করবে না। জাভা উত্স কোডটি সংকলন করতে আপনার চালানো দরকার:

$ javac MyFirstProgram.java

যেখানে MyFirstProgram.java উত্স ফাইলটির নাম।

৩. সফল সংকলনের সময় আপনি লক্ষ্য করবেন যে জাভা সংকলক একই ডিরেক্টরিতে একটি নতুন ফাইল তৈরি করেছে যার নামটি মাই ফার্স্টপ্রগ্রাম.ক্লাড

এই শ্রেণীর ফাইলটি বাইকোডগুলিতে কোড করা হয়েছে এবং যে কোনও প্ল্যাটফর্ম, যেকোন প্রসেসরের আর্কিটেকচারে চালানো যেতে পারে। আপনি লিনাক্স বা অন্য কোনও প্ল্যাটফর্মে জেভিএম (জাভা ভার্চুয়াল মেশিন) এর ভিতরে ক্লাস ফাইলটি চালিয়ে যেতে পারেন:

$ java MyFirstProgram

সুতরাং উপরে আপনি যা কিছু শিখলেন তা সংক্ষিপ্ত করা যেতে পারে:

Java Source Code >> Compiler >> classfile/bytecode >> Various devices running JVM 

জাভা মধ্যে কোড কাঠামো বোঝা

1. জাভা সোর্স কোড ফাইলটিতে অবশ্যই একটি শ্রেণীর সংজ্ঞা থাকতে হবে। একটি জাভা সোর্স ফাইলে কেবলমাত্র একটি পাবলিক ক্লাস/শীর্ষ স্তরের শ্রেণি থাকতে পারে তবে এতে প্রচুর ব্যক্তিগত শ্রেণি/অভ্যন্তরীণ-শ্রেণি থাকতে পারে।

বাইরের শ্রেণি/শীর্ষ শ্রেণি/পাবলিক বর্গ সমস্ত প্রাইভেট শ্রেণি/অভ্যন্তরীণ শ্রেণিতে অ্যাক্সেস করতে পারে। ক্লাসটি অবশ্যই কোঁকড়া ধনুর্বন্ধনী এর মধ্যে থাকা উচিত। জাভাতে সমস্ত কিছুই একটি বস্তু এবং শ্রেণি অবজেক্টের জন্য একটি নীলনকশা।

জাভাতে পাবলিক/প্রাইভেট ক্লাসের একটি ডেমো:

public class class0
{
...
	private class1
	{
	…
	}

	private class 2
	{
	…
	}
...
}

২. ক্লাসে এক বা একাধিক পদ্ধতি থাকে। পদ্ধতিটি অবশ্যই শ্রেণীর কোঁকড়া ধনুর্বন্ধনী মধ্যে আবশ্যক। একটি জঘন্য উদাহরণ:

public class class0
{
	public static void main(String[] args)
	{
	…..
	…..
	}
}

৩. একটি পদ্ধতিতে এক বা একাধিক বিবৃতি/নির্দেশ থাকে। নির্দেশাবলী (গুলি) অবশ্যই পদ্ধতির কোঁকড়া ধনুর্বন্ধনী মধ্যে আবশ্যক। একটি জঘন্য উদাহরণ:

public class class0
{
	public static void main(String[] args)
	{
	System.out.println("Hello Tecmint, This is my first Java Program");
	System.out.println("I am Loving Java");
	…
	...
	}
}

এই মুহুর্তে উল্লেখ করাও গুরুত্বপূর্ণ - প্রতিটি বিবৃতি অবশ্যই সেমিকোলনের সাথে শেষ হবে। একটি জঘন্য উদাহরণ:

System.out.println("Hello Tecmint, This is my first Java Program");
...
...
System.out.println("I am Loving Java");

বিস্তারিত বিবরণ সহ আপনার প্রথম জাভা প্রোগ্রামটি লিখছেন। বর্ণনাটি এখানে উদাহরণ হিসাবে মন্তব্য হিসাবে দেওয়া হচ্ছে (// মানে মন্তব্য করা হয়েছে)। আপনার একটি প্রোগ্রামের মধ্যে মন্তব্য লেখা উচিত।

এটি কেবল একটি ভাল অভ্যাস হিসাবেই নয়, কারণ এটি কোডটি আপনি বা অন্য যে কোনও সময় পরে পড়ার যোগ্য করে তোলে।

// Declare a Public class and name it anything but remember the class name and file name must be same, say class name is MyProg and hence file name must be MyProg.java
public class MyProg

// Remember everything goes into curly braces of class?
{
 

// This is a method which is inside the curly braces of class.
   public static void main(String[] args)

    // Everything inside a method goes into curly braces	
    {
        
    // Statement or Instruction inside method. Note it ends with a semicolon
    System.out.println("I didn't knew JAVA was so much fun filled");
    
    // closing braces of method
    }

// closing braces of class
}

উপরের সাধারণ জাভা প্রোগ্রামটির বিশদ প্রযুক্তিগত বিবরণ।

public class MyProg

এখানে ক্লাসের উপরের নামটি মাইপ্রোগ এবং মাইপ্রোগ একটি পাবলিক ক্লাস যার অর্থ প্রত্যেকে এটি অ্যাক্সেস করতে পারে।

public static void main(String[] args)

এখানে পদ্ধতির নামটি মূল যা একটি সর্বজনীন পদ্ধতি, এর অর্থ এটি যে কেউ অ্যাক্সেস করতে পারে। রিটার্নের ধরণটি বাতিল হয় যার অর্থ কোনও রিটার্নের মান নেই। স্ট্রিংস [] আরগস এর অর্থ মেথড মেইনের জন্য আর্গুমেন্টগুলি অ্যারে হওয়া উচিত যা আরগস বলা যেতে পারে। এখনকার ‘স্থির’ অর্থ নিয়ে চিন্তা করবেন না। প্রয়োজন হলে আমরা এ সম্পর্কে বিশদ বর্ণনা করব।

System.out.println("I didn't knew JAVA was so much fun filled");

System.out.ln জেভিএমকে আউটপুটটিকে স্ট্যান্ডার্ড আউটপুট প্রিন্ট করতে বলে যা আমাদের ক্ষেত্রে লিনাক্স কমান্ড লাইন। প্রিন্টলন স্টেটমেন্টের ধনুর্বন্ধকের মধ্যে থাকা যে কোনও কিছু যেমন পরিবর্তনশীল না হয় সেভাবেই প্রিন্ট হয়। আমরা পরে পরিবর্তনশীল বিশদে যাব। বিবৃতিটি সেমিকোলন দিয়ে শেষ হচ্ছে।

এমনকি এখন যদি কিছু পরিষ্কার না হয় তবে আপনার এই সম্পর্কে চিন্তা করার দরকার নেই। এছাড়াও আপনার কোনও স্মৃতির দরকার নেই। কেবল পোস্টটির মধ্য দিয়ে যান এবং পরিভাষা এবং চিত্রটি খুব স্পষ্ট না থাকলেও কাজ করে বোঝেন।

এখন এ পর্যন্তই. টেকমিন্টের সাথে সংযুক্ত থাকুন। নীচের মন্তব্যে আপনার মূল্যবান প্রতিক্রিয়া জানান। আমরা পরবর্তী অংশে "জাভাতে ক্লাস এবং মূল পদ্ধতি" নিয়ে কাজ করছি এবং শীঘ্রই প্রকাশ করা হবে।