জাভা প্রোগ্রাম এর উপাদান ঃ
এবার তাহলে মূল বিষয়, সিনট্যাক্স নিয়ে কথা বলা যাক । আপনি যদি সি বা অন্য কোন প্রোগ্রামিং ভাষা আগে থেকে জেনে থাকেন তাহলে জানেন যে , একটি প্রোগ্রাম এর দুটি জিনিস আবশ্যক । ফাংশন এবং ডেটা । সি এর মত জাভাতে একটি ফাইল তৈরী করতে হবে যার এক্সটেন্সান হবে *.java ।
উদাহরণস্বরূপ HelloWorld.java ।
ফাংশন এবং ডেটা এর সঙ্গে একটি জাভা প্রোগ্রাম এ নিচের উপাদান গুলো থাকে ঃ-
- প্যাকেজ ডিক্লিয়ারেশন(Package Declaration) ,
- ইমপোর্ট স্টেটমেন্ট (Import Statement),
- টাইপ ডিক্লারেশন (Type declaration)
- ফিল্ডস (Fields)
- মেথডস (Methods)
এখন আমরা একটি জাভা প্রোগ্রাম দেখে নেই ।
এই কোডটির সুরুতেই রয়েছে প্যাকেজ ডিক্লিয়ারেশন (Package Declaration) ।
আমরা কম্পিউটার এ নানা ধরনের ফাইল বিভিন্ন ভাবে সাজিয়ে রাখি । যেমন Movie Folder এ ছিনেমা রখি আবার আমরা সাব ফোল্ডার ও করি । যেমন ঃ হিন্দি মুভি , বাংলা মুভি ইত্যাদি । জাভা তে প্যাকেজ বলতে এই ধারনাকেই বুঝি । একটি জাভা প্রোগ্রামিং ভাষায় লেখা সফটওয়ারে শত শত বা হাজার হাজার ক্লাস থাকতে পারে । এজন্য প্যাকেজ ডিক্লিয়ারেশন এর মাধ্যমে একই রকম ক্লাস গুলো আলাদা আলাদা প্যাকেজ এ রাখা হয় ।
প্যাকেজ এর নাম ছোট হাতের (Lowercase letter ) লিখতে হয় ।
বিভিন্ন সফটওয়ারে কোম্পানি গুলো তাদের প্যাকেজ নেম সাধারণত তাদের ডোমেইন নেম কে উল্টো করে লেখে । যেমন ঃ example.com কে com.example আকারে লিখে ।
প্রোগ্রাম এর দ্বিতীয় লাইনটি হলো ইমপোর্ট স্টেটমেন্ট (Import Statement)।
অন্যকোন প্যাকেজ এর ক্লাস যদি এই প্রগ্রামটিতে দরকার হয় তাহলে সেটি এভাবে ইমপোর্ট করা যায়। এটি সি প্রগ্রামিং এর ইনক্ল ুড (#include) স্টেটমেন্ট এর মত।
এর পরের লাইন টি হল টাইপ ডিক্লারেশন (Type declaration) ।
জাভাতে একটি টাইপ একটি ক্লাস (class) অথবা ইন্টারফেস(Interface) অথবা এনাম (enum) হতে পারে । ক্লাস এর ক্ষেত্রে class কীওয়ার্ড লিখে একটি নাম দিতে হয় । এরপর ওপেনিং কারল্ব্রেকেট এবং ক্লোজ কারল্ব্রেকেট দিয়ে শেষ করতে হয়। এখানে অতিরিক্ত একটি public কীওয়ার্ড দেখা যাচ্ছে । এখন শুধু এতটুকু মনে রাখুন । পরবর্তী এই টা নিয়ে আলোচনা করা হবে ।
এর পরে রয়েছে ফিল্ড ডিক্লারেশন (Fields declaration) ।
আমরা যে ভ্যারিয়েবল ডিক্লেয়ার করি সেগুলো ।
protected final String Hello = "Value";
এর পরে রয়েছে একটি মেথড (Method) ।
সি বা অন্যান্য প্রগ্রামিং ভাষায় যাকে ফাংশন কিংবা সাব্রুটিন (Subroutine) বলা হয়, জাভা তে একে মেথড (Method) বলা হয় । এদের মধ্যে বিশেষ কোন পার্থক্য নেই । শুধু জাভাতে ক্লাস এর মধ্যে লেখা হয় আর অনন্যা প্রসিডিউরাল (Procedural) প্রোগ্রামিং এ ক্লাস এর ধারণা নেই ।
এখানে মেথড টি হচ্ছে
public static void main(String[] args){
}
একটি জাভা প্রোগ্রাম মূলত কত গুলো ধারাবাহিক ইন্সট্রাকশন (Instruction) এর তালিকা।
এগুলো নিদিষ্ট অর্ডার (Order) এ এক্সিকিউট হয় । সেক্ষেত্রে এই ইন্সট্রাকশন গুলো রান করার জন্য একটি এন্ট্রি পয়েন্ট থাকতে হয় । মেইন মেথড হচ্ছে সেই এন্ট্রি পয়েন্ট যেখান থেকে কোড রান করা সুরু করে। এটি মূলতও একটি প্রচলিত রীতি (Convention) ।
অনেক গুলি প্রগ্রামিং ভাষার এই কনভেনশন টি রয়েছে ।
protected final String Hello = "Value";
এর পরে রয়েছে একটি মেথড (Method) ।
সি বা অন্যান্য প্রগ্রামিং ভাষায় যাকে ফাংশন কিংবা সাব্রুটিন (Subroutine) বলা হয়, জাভা তে একে মেথড (Method) বলা হয় । এদের মধ্যে বিশেষ কোন পার্থক্য নেই । শুধু জাভাতে ক্লাস এর মধ্যে লেখা হয় আর অনন্যা প্রসিডিউরাল (Procedural) প্রোগ্রামিং এ ক্লাস এর ধারণা নেই ।
এখানে মেথড টি হচ্ছে
public static void main(String[] args){
}
একটি জাভা প্রোগ্রাম মূলত কত গুলো ধারাবাহিক ইন্সট্রাকশন (Instruction) এর তালিকা।
এগুলো নিদিষ্ট অর্ডার (Order) এ এক্সিকিউট হয় । সেক্ষেত্রে এই ইন্সট্রাকশন গুলো রান করার জন্য একটি এন্ট্রি পয়েন্ট থাকতে হয় । মেইন মেথড হচ্ছে সেই এন্ট্রি পয়েন্ট যেখান থেকে কোড রান করা সুরু করে। এটি মূলতও একটি প্রচলিত রীতি (Convention) ।
অনেক গুলি প্রগ্রামিং ভাষার এই কনভেনশন টি রয়েছে ।