ই-বুক: সহজ বাংলায় জাভা প্র াগ্র ািমং – কেমন্ট থেক লুপ, সুইচ থেক ইনেহিরেটন্স সূিচপত্র 1. ভূিমকা: কন এই বই 2. জাভা প্র াগ্র ািমংেয় প্র থম ধাপ 3. কেমন্ট স (Comments): কাডেক বাঝার ভাষা 4. আইেডন্টি ফায়ার ও নিমং কনেভনশন 5. ভিরেয়বল ও ডটা টাইপ 6. অপােরটর: িরেলশনাল, লিজক্য াল, টান াির 7. ইউজার ইনপুট: Scanner িদেয় ইনটারঅ্য াকশন 8. িড সশন মিকং: if-else, Nested if, Ternary 9. switch-case: মনু-ি েভন প্র াগ্র াম 10. লুপ: for, while, do-while 11. break, continue, প্র / পাস্ট ইন েমন্ট 12. ছাট ছাট প্র েজক্ট উদাহরণ 13. অবেজক্ট ওিরেয়েন্ট ড ঝলক: ইনেহিরেটন্স , কনস্ট্র াক্ট র, super 14. কমন ভুল ও িডবািগং টিপস 15. অধ্য ায়-িভি ক সারসংেক্ষ প 16. অনুশীলনী (Practice) 17. দ্রু ত রফােরন্স (Cheat Sheet) 18. গ্ল সাির (শব্দ তা লকা) 1) ভূিমকা: কন এই বই এই ই-বুকটি একটি লাইভ ক্ল ােসর পূণ ট্র ান্স প্ট থেক সািজেয় তির করা। অপ্র াসি ক অংশ বাদ িদেয় সহজ-সরল বাংলায় িবষয়গু েলা ধারাবািহকভােব ব্য াখ্য া করা হেয়েছ। নতুন শখার জন্য যেথষ্ট , আবার যারা আেগ থেক জােনন—তােদর জন্য ও এটি একটি দ্রু ত িরিভশন গাইড। এই বইেত যা পােবন ● কেমন্ট , নিমং কনেভনশন, ভিরেয়বল, ডটা টাইপ ● if-else, switch, লুপ—বাস্ত ব উদাহরণসহ ● Scanner িদেয় ইনপুট নওয়া ● break, continue, প্র / পাস্ট -ইন েমেন্ট র আচরণ ● ইনেহিরেটন্স , কনস্ট্র াক্ট র, super—সহজ ভাষায় ● অনুশীলনী + িচটিশট + গ্ল সাির 2) জাভা প্র াগ্র ািমংেয় প্র থম ধাপ জাভা হে স্ট ্য াটিকা ল টাইপড, অবেজক্ট ওিরেয়েন্ট ড ভাষা। ছাট থেক বড়—সব ধরেনর অ্য াপ বানােনা যায়। শু রু েত যগু েলা মাথায় রাখেবন: ● সাস ফাইল: .java, কমপাইল হেয় .class (বাইটেকাড) হয় main মথড এন্ট্রি পেয়ন্ট : public class Main { public static void main(String[] args) { System.out.println("Hello, Java!"); } } Key Takeaways ● সবসময় একটি ক্ল ােস main থাকেত হেব (যিদ রানেযাগ্য প্র াগ্র াম চান)। ● সনট্য াক্স ভুেল গেল IDE-এর সােজশন দখুন। 3) কেমন্ট স (Comments): কাডেক বাঝার ভাষা কেমন্ট কমপাইল হয় না—শু ধু ডেভলপারেদর বাঝার জন্য । ● সে ল লাইন: // এই লাইনটি কেমন্ট মাল্টি লাইন: /* * একািধক লাইেনর কেমন্ট * এখােন দীঘ ব্য াখ্য া লখুন */ Best Practice ● পিরষ্ক ার বাংলায়/ইংেরিজেত লখুন ● কন কাড লখেলন—তা ব্য াখ্য া করু ন, কাড “িক করেছ”— কাড দখেলই বাঝা উিচত 4) আইেডন্টি ফায়ার ও নিমং কনেভনশন আইেডন্টি ফায়ার : ভিরেয়বল, ফাংশন, ক্ল াস, প্য ােকজ ইত্য ািদর নাম। ভ্য া লড নােমর িনয়ম ● প্র থম অক্ষ র হেত হেব অক্ষ র বা _ (িডিজট িদেয় শু রু নয়) ● -, %, #—এসব নয় ● িরজাভ ড কীওয়াড নয় ( যমন class, int) কনেভনশন ● ভিরেয়বল/ মথড: camelCase → studentName, getStudentName() ● ক্ল াস/ইন্ট ারেফস: PascalCase → StudentInformation ● কনস্ট ্য ান্ট : UPPER_SNAKE_CASE → MAX_SIZE ● প্য ােকজ: ছাট হােতর অক্ষ র → inventory, hrm, accounts Key Takeaways ● ভােলা নামকরণ = কাড িরেডিব লটি ● প্র ােজক্ট জুেড় একই স্ট াইল বজায় রাখুন 5) ভিরেয়বল ও ডটা টাইপ ভিরেয়বল = ডটা রাখার কেন্ট ইনার। ডটা টাইপ বেল দয়— কমন ডটা থাকেব। ● প্র িমটিভ: int, long, float, double, char, boolean, byte, short ● নন- প্র িমটিভ: String, Array, Class ইত্য ািদ int age = 25; String name = "Sara"; boolean isActive = true; Key Takeaways ● টাইপ না িমলেল কমপাইল-টাইম এরর ● টাইপ রূ পান্ত ের (casting) সাবধান 6) অপােরটর: িরেলশনাল, লিজক্য াল, টান াির িরেলশনাল : ==, !=, >, <, >=, <= লিজক্য াল : && (AND), || (OR), ! (NOT) টান াির : সং ক্ষ প্ত if-else String result = (age >= 18) ? "Eligible" : "Not eligible"; মেন রাখেবন String তুলনা করেত == নয়, equals() ব্য বহার করু ন: if (gender.equals("male")) { ... } 7) ইউজার ইনপুট: Scanner িদেয় ইনটারঅ্য াকশন import java.util.Scanner; Scanner sc = new Scanner(System.in); System.out.print("Enter age: "); int age = sc.nextInt(); sc.nextLine(); // ← আেগর newline িক্ল ন করেত ভুলেবন না System.out.print("Enter gender (male/female): "); String gender = sc.nextLine(); সাধারণ সমস্য া ● nextInt() এর পর nextLine()—মােঝ একবার nextLine() িদেয় ইনপুট বাফার পিরষ্ক ার করু ন 8) িড সশন মিকং: if-else, Nested if, Ternary উদাহরণ: বয়স ও জন্ড ার িদেয় ম্য ােরজ এ লিজিব লটি ( ডেমা লিজক) if (age > 21 && gender.equals("male")) { System.out.println("Eligible"); } else if (age >= 18 && gender.equals("female")) { System.out.println("Eligible"); } else { System.out.println("Not eligible"); } Ternary String msg = (age >= 18) ? "Adult" : "Minor"; Key Takeaways ● Nested if কিমেয় িরেডিব লটি বাড়ান ● জটিল শত আলাদা মথেড রাখুন 9) switch-case: মনু-ি েভন প্র াগ্র াম একািধক িন দষ্ট চেয়স হেল switch বিশ পিরষ্ক ার। int choice = sc.nextInt(); switch (choice) { case 1 -> System.out.println("File"); case 2 -> System.out.println("Edit"); case 3 -> System.out.println("Format"); case 0 -> System.out.println("Exit"); default -> System.out.println("Invalid choice"); } সবসময় break (বা arrow সনট্য াক্স ) ব্য বহার করু ন , নইেল “fall-through” হেব। 10) লুপ: for, while, do-while ডিফিনট লুপ (কতবার চলেব জানা): for for (int i = 1; i <= 10; i++) { System.out.println(i); } ইনেডিফিনট লুপ (শত না মটা পয ন্ত ): while int i = 1; while (i <= 10) { System.out.println(i); i++; } কমপে একবার চলেবই: do-while int choice; do { // মনু দখান, ইনপুট িনন choice = sc.nextInt(); } while (choice != 0); Key Takeaways ● while/do-while–এ ইন েমন্ট / স্ট ট আপেডট ভুেল গেল ইনিফিনট লুপ হেত পাের ● for সংখ্য াগত ইটােরশেন সহজ 11) break, continue, প্র / পাস্ট ইন েমন্ট break : লুপ/সুইচ থেক বর হওয়া continue : বত মান ইটােরশন প কের পেররটায় যাওয়া for (int i = 0; i <= 10; i++) { if (i == 5) continue; // 5 প System.out.println(i); } প্র / পাস্ট ইন েমন্ট ● ++i: আেগ বাড়ায়, তারপর ব্য বহার ● i++: আেগ ব্য বহার, তারপর বাড়ায় int i = 0; System.out.println(++i); // 1 System.out.println(i++); // 1 (পের i = 2) সতক তা : continue িদেল ইন েমন্ট কাথায় হে —িনি ত হন, নইেল ইনিফিনট লুপ হেত পাের। 12) ছাট ছাট প্র েজক্ট উদাহরণ ক) 1..N যাগফল int n = 10, sum = 0; for (int i = 1; i <= n; i++) sum += i; System.out.println(sum); // 55 খ) শু ধু িবেজাড় সংখ্য ার যাগফল (1..N) int n = 9, sum = 0; for (int i = 1; i <= n; i++) { if (i % 2 == 1) sum += i; } System.out.println(sum); // 25 গ) মনু-ি েভন কনেসাল অ্য াপ (do-while) int choice; do { System.out.println("1) File 2) Edit 3) Format 0) Exit"); System.out.print("Enter choice: "); choice = sc.nextInt(); switch (choice) { case 1 -> System.out.println("File selected"); case 2 -> System.out.println("Edit selected"); case 3 -> System.out.println("Format selected"); case 0 -> System.out.println("Goodbye!"); default -> System.out.println("Invalid choice"); } } while (choice != 0); 13) অবেজক্ট ওিরেয়েন্ট ড ঝলক: ইনেহিরেটন্স , কনস্ট্র াক্ট র, super ইনেহিরেটন্স : চাইল্ড ক্ল াস প্য ােরেন্ট র প্র পাটি / মথড পায় class Person { String name; Person(String name) { this.name = name; } } class Employee extends Person { int empId; Employee(String name, int empId) { super(name); // ← প্য ােরেন্ট র কনস্ট্র াক্ট র কল this.empId = empId; } } গু রু ত্ব পূণ ● প্য ােরেন্ট যিদ িডফল্ট কনস্ট্র াক্ট র না থােক (মােন প্য ারািমটার লােগ), তেব চাইেল্ড র কনস্ট্র াক্ট ের অবশ্য ই super(...) িদেয় সিঠক আগু েমন্ট পাঠােত হেব। ● প্য ােরেন্ট র মম্ব ার/ মথড অ্য ােক্স েস প্র েয়াজেন super.someMethod() ব্য বহার করা যায়। 14) কমন ভুল ও িডবািগং টিপস ● String তুলনায় == নয়, equals() ● Scanner.nextInt() এর পর nextLine()—বাফার িক্ল য়ার ● switch-এ break/arrow সনট্য াক্স ● while/do-while—ইন েমন্ট ভুলেবন না ● continue ব্য বহাের— স্ট ট আপেডট কাথায় হে দেখ িনন ● ইনেহিরেটেন্স প্য ােরেন্ট র প্য ারােমটারাইজড কনস্ট্র াক্ট র → super(...) বাধ্য তামূলক 15) অধ্য ায়-িভি ক সারসংে প ● কেমন্ট স : কাড বাঝার জন্য অপিরহায ; সে ল/মাল্টি লাইন ● নিমং : camelCase ( ভিরেয়বল/ মথড), PascalCase (ক্ল াস), ছাট হােতর প্য ােকজ ● ডটা টাইপ : প্র িমটিভ বনাম অবেজক্ট টাইপ ● িড সশন : if-else, Ternary—িরেডিব লটি মাথায় রেখ ● সুইচ : একািধক অপশেন পিরষ্ক ার স্ট্র াকচার ● লুপ : for ( ডিফিনট), while/do-while (ইনেডিফিনট) ● কে াল া : break, continue, প্র / পাস্ট ইন েমন্ট ● OOP : ইনেহিরেটন্স , super িদেয় কনস্ট্র াক্ট র চইন 16) অনুশীলনী (Practice) 1. ইউজার থেক বয়স ও জন্ড ার ইনপুট িনেয় এ লিজিব লটি দখান (Ternary িদেয়ও দখান)। 2. 1..N পয ন্ত জাড়/িবেজাড় যাগফল আলাদা কের প্র ন্ট করু ন। 3. switch িদেয় একটি ক্য ালক ু েলটর ( +, -, *, / ) বানান। 4. do-while িদেয় সংখ্য া অনুমান (guessing game): 0 িদেল বর হেব। 5. Person → Student ইনেহিরেটন্স : প্য ােরেন্ট প্য ারােমটারাইজড কনস্ট্র াক্ট র িদন এবং চাইেল্ড super(...) ব্য বহার করু ন। 17) দ্রু ত রফােরন্স (Cheat Sheet) ● কেমন্ট : //, /* ... */ ● String তুলনা : a.equals(b) ● টান াির : cond ? A : B ● লুপ থামােনা : break ● ইটােরশন প : continue ● ইনপুট বাফার : nextInt() → পের nextLine() ● প্র / পাস্ট : ++i (আেগ বােড়), i++ (পের বােড়) ● ইনেহিরেটন্স কনস্ট্র াক্ট র : প্য ােরেন্ট িডফল্ট না থাকেল super(...) বাধ্য তামূলক