সূচীপত্র
লেখকের কথা
লেখক পরিচিতি
অধ্যায় শূন্য: উপক্রমণিকা
অধ্যায় এক: প্রথম জাভা প্রোগ্রাম
- ১.১ – প্রোগ্রামিং ভাষা কী?
- ১.২ – কেন জাভা?
- ১.৩ – জাভা কীভাবে কাজ করে?
- ১.৩.১ – বাইটকোড (Bytecode)
- ১.৩.২ – জাভা ভার্চুয়াল মেশিন (JVM)
- ১.৩.৩ – জাস্ট ইন টাইম (JIT) কম্পাইলার
- ১.৩.৪ – আরও কিছু টার্মিনোলোজি
- ১.৩.৫ – জাভা প্ল্যাটফর্মের সাবসেট
- ১.৪ – জাভা ইনস্টল (Install) করা
- ১.৪.১ – উইন্ডোজে জাভা ইনস্টল করা
- ১.৪.২ – উইন্ডোজের প্রথম জাভা প্রোগ্রাম
- ১.৪.৩ – লিনাক্সে জাভা ইনস্টল করা
- ১.৪.৪ – লিনাক্সে প্রথম জাভা প্রোগ্রাম
- ১.৫ – আইডিই (IDE) এর ব্যবহার
- ১.৬ – আরও কয়েকটি সহজ প্রোগ্রাম
- ১.৬.১ – যোগ, বিয়োগ, গুন, ভাগ করার প্রোগ্রাম
- ১.৬.২ – ইনপুট নেওয়া
- ১.৭ – অনুশীলনী
অধ্যায় দুই: সিনট্যাক্স (Syntax)
- ২.১ – অবজেক্ট (Object) ও ক্লাস (Class)
- ২.১.১ – অবজেক্ট (Object)
- ২.১.২ – অবজেক্ট (Object)
- ২.২ – জাভা প্রোগ্রামের উপাদানসমুহ
- ২.৩ – জাভা মেথড (Java Method)
- ২.৪ – অবজেক্ট ইনস্ট্যান্সিয়েশন (Object Instantiation)
- ২.৫ – মেথড ওভারলোডিং (Method Overloading)
- ২.৬ – কনস্ট্রাক্টর (Constructor)
- ২.৭ – মেথডের ব্যবহার
- ২.৮ – প্রিন্টিং (Printing)
- ২.৯ – প্যারামিটার (Parameter) ও আর্গুমেন্ট (Argument)
- ২.১০ – প্যাকেজ নাম (Package Name) ও ডিরেক্টরি স্ট্রাকচার (Directory Structure)
- ২.১১ – প্যাকেজ ইমপোর্ট (Import) করা
- ২.১৩ – আরও কিছু নিয়ম
- ২.১৪ – অনুশীলনী
অধ্যায় তিন: ডেটা টাইপ (Data Type), অপারেটর (Operator) এবং এক্সপ্রেশন (Expression)
- ৩.১ – ভ্যারিয়েবল (Variable)
- ৩.২ – ভ্যারিয়েবল প্রিন্ট করা
- ৩.৩ – ডেটা টাইপ (Data Type)
- ৩.৩.১ – প্রিমিটিভ টাইপ (Primitive Type)
- ৩.৪ – র্যাপার ক্লাস (Wrapper Class)
- ৩.৫ – লিটারেল (Literal)
- ৩.৫.১ – ইন্টিজার লিটারেল (Integer Literal)
- ৩.৫.২ – ফ্লোটিং পয়েন্ট লিটারেল (Floating Point Literal)
- ৩.৫.৩ – ক্যারেক্টার (Character) ও স্ট্রিং লিটারেল (String literal)
- ৩.৫.৪ – স্যাংখিক (Numeric) লিটারেলে আন্ডারস্কোর চিহ্নের ব্যবহার
- ৩.৫.৫ – এসকেপ সিকোয়েন্স (Escape Sequence)
- ৩.৬ – অপারেটর (Operator)
- ৩.৬.১ – অ্যাসাইনমেন্ট অপারেটর (Assignment Operator)
- ৩.৬.২ – অ্যারিথমেটিক অপারেটর (Arithmetic Operator)
- ৩.৬.৩ – ইন্টিজার সংখ্যার ভাগ অপারেশন (Integer Division) ও ফ্লোটিং পয়েন্ট সংখ্যার ভাগ অপারেশন (Floating Point division)
- ৩.৬.৪ – রাউন্ডিং ত্রুটি বা এরর (Rounding Error)
- ৩.৬.৫ – স্ট্রিং অপারেশন (String Operation)
- ৩.৬.৬ – ইউনারি (Unary) অপারেটর
- ৩.৬.৭ – ইকুয়ালিটি (Equality) এবং রিলেশনাল (Relational) অপারেটর
- ৩.৬.৮ – ওভারফ্লো (Overflow) / আন্ডারফ্লো (Underflow)
- ৩.৬.৯ – টাইপ কনভার্সন (Type Conversion) / টাইপ কাস্টিং (Type Casting)
- ৩.৭ – এক্সপ্রেশন (Expression), স্টেটমেন্ট (Statement) এবং ব্লক (Blocks)
- ৩.৭.১ – এক্সপ্রেশন (Expression)
- ৩.৭.২ – স্টেটমেন্ট (Statement)
- ৩.৭.৩ – ব্লক (Block)
- ৩.৭.৪ – ভ্যারিয়েবল স্কোপ (Scope of a Variable)
- ৩.৮ – অনুশীলনী
অধ্যায় চার: কন্ট্রোল ফ্লো (Control Flow), লুপিং (Looping) ও ব্রাঞ্চিং (Branching)
- ৪.১ – ডিসিশন মেকিং স্টেটমেন্ট (Decision Making Statement)
- ৪.১.১ – If, If-else, if-else-if
- ৪.১.২ – নেস্টেড (Nested) If-else
- ৪.১.৩ – সুইচ (Switch)
- ৪.২ – লুপ (Loop)
- ৪.২.১ – While লুপ
- ৪.২.২ – For লুপ
- ৪.২.৩ – Do-While লুপ
- ৪.৩ – ব্রেক (break) এবং কন্টিনিউ (continue)
- ৪.৪ – রিটার্ন (return) স্টেটমেন্ট
- ৪.৫ – অনুশীলনী
অধ্যায় পাঁচ: অ্যারে (Array)
- ৫.১ – অ্যারে ডিক্লেয়ারেশন (Array Declaration), ক্রিয়েশন (Creation) এবং অ্যাকসেস (Access)
- ৫.২ – মাল্টি-ডাইমেনশনাল অ্যারে (Multi-Dimensional Array)
- ৫.৩ – এনহ্যান্সড (Enhanced) For লুপ বা For-Each লুপ
- ৫.৪ – অ্যারে কপি করা (Copying)
- ৫.৫ – অনুশীলনী
অধ্যায় ছয়: অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (Object Oriented Programming)
-
৬.১ – অবজেক্ট (Object) ও ক্লাস (Class)
- ৬.১.১ – অবজেক্ট (Object)
- ৬.১.২ – ক্লাস (Class)
-
৬.২ – অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (Object Oriented Programming)
- ৬.২.১ – অবজেক্ট অরিয়েন্টেডেট প্রোগ্রামিংয়ের প্রয়োজনীয়তা এবং উৎপত্তি
-
৬.৩ – ইনহেরিটেন্স (Inheritence)
- ৬.৩.১ – ফাইনাল ক্লাস (Final Class)
- ৬.৩.২ – মেথড ওভাররাইডিং (Method Overriding)
- ৬.৩.৩ – অ্যানোটেশন (Annotation) @Override
- ৬.৩.৪ – super কিওয়ার্ড
- ৬.৩.৫ – ফাইনাল (Final) মেথড
- ৬.৩.৬ – অবজেক্ট কম্পোজিশন (Object Composition)
-
৬.৪ –পলিমরফিজম (Polymorphism)
- ৬.৪.১ –ভ্যারিয়েবল টাইপ এবং অবজেক্ট টাইপ
- ৬.৪.২ –আপ-কাস্টিং (Upcasting) এবং ডাউনকাস্টিং (Downcasting)
-
৬.৫ – অ্যাবস্ট্রাক্ট ক্লাস এবং ইন্টারফেস (Abstract class & interface)
-
৬.৫.১ – অ্যাবস্ট্রাক্ট ক্লাস (Abstract class)
-
৬.৫.২ – অ্যাবস্ট্রাক্ট মেথড (Abstract Method)
-
৬.৫.৩ – অ্যাবস্ট্রাক্ট ক্লাস এবং অ্যাবস্ট্রাক্ট মেথডের কতগুলো নিয়ম
-
৬.৫.৪ – ইন্টারফেস (Interface)
-
৬.৫.৫ – ইন্টারফেস বনাম অ্যাবস্ট্রাক্ট
-
৬.৬ – এনক্যাপসুলেশন (Encapsulation)
-
৬.৬.১ – ডিফল্ট অ্যাকসেস (Default Access)
-
৬.৬.২ – প্রাইভেট অ্যাকসেস মডিফায়ার (Private Access Modifier) – private
-
৬.৬.৩ – পাবলিক অ্যাকসেস মডিফায়ার (Public Access Modifier) – public
-
৬.৬.৪ – প্রোটেক্টেড অ্যাকসেস মডিফায়ার (Protected Access Modifier) – protected
-
৬.৬.৫ – অ্যাকসেস লেভেল টেবিল
-
৬.৬.৬ – এনক্যাপসুলেশন সংক্রান্ত জরুরী কিছু বিষয়
-
৬.৭ – অনুশীলনী
অধ্যায় সাত: জাভা এক্সেপশন হ্যান্ডেলিং (Java Exception handling)
- ৭.১ – try ব্লক
- ৭.২ – catch ব্লক
- ৭.৩ – finally ব্লক
- ৭.৪ – জাভা এক্সেপশন হায়ারার্কি (Java Exception Hierarchy)
- ৭.৫ – চেকড এক্সেপশন (Checked Exception) ও আনচেকড এক্সেপশন (Unchecked Exception)
- ৭.৫.১ – আনচেকড এক্সেপশন (Unchecked Exception)
- ৭.৫.২ – চেকড এক্সেপশন (Checked Exception)
- ৭.৫.৩ – চেকড এক্সেপশন এবং জাভা কম্পাইলার
- ৭.৬ – এক্সেপশন ডিক্লেয়ারেশন (Exception Declaration) ও থ্রোয়িং (Throwing)
- ৭.৭ – এক্সেপশন থেকে তথ্য সংগ্রহ করা
- ৭.৮ – স্ট্যাক-ট্রেস (Stack Trace)
- ৭.৯ – মেথড কল স্ট্যাক ও এক্সেপশন (Method Call Stack & Exception)
- ৭.১০ – সাধারণ এক্সেপশন ক্লাস
- ৭.১১ – ইউজার ডিফাইনড এক্সেপশন (User Defined Exception)
- ৭.১২ – ফল্ট টলারেন্ট সিস্টেম (Fault Tolerant System) এর জন্য জাভা এক্সেপশন
- ৭.১৩ – অনুশীলনী
অধ্যায় আট: জেনেরিকস (Generics)
- ৮.১ – জাভাতে জেনেরিকস
- ৮.২ – জেনেরিকস (Generics) এবং সাবটাইপিং (Subtyping)
- ৮.৩ – বাউন্ডেড টাইপ (Bounded Types)
- ৮.৪ – ওয়াইল্ডকার্ড আর্গুমেন্ট (Wildcard Arguments)
- ৮.৫ – জেনেরিক মেথড (Generic Method)
- ৮.৬ – টাইপ ইরেইজার (Type erasure)
- ৮.৭ – অনুশীলনী
অধ্যায় নয়: জাভা আই/ও (I/O)
- ৯.১ – ফাইল নিয়ে কাজ
- ৯.১.১ – পাথ (Path)
- ৯.১.২ – ফাইল তৈরি
- ৯.১.৩ – পাথ সেপারেটর (Path separator)
- ৯.১.৪ – ডিরেক্টরি তৈরি
- ৯.১.৫ – ফাইল রিনেমিং (File Renaming), ফাইল কপিইং (File Copying) এবং ফাইল ডিলিটিং (File Deleting)
- ৯.১.৬ – ফাইলের তালিকা বের করা
- ৯.১.৭ – ফাইল ফিল্টার (File Filter)
- ৯.২ – ইনপুট/আউটপুট স্ট্রিম (Input/Output Stream)
- ৯.২.১ – স্ট্রিমের প্রকারভেদ
- ৯.২.২ – ইনপুট স্ট্রিম (InputStream) তৈরি
- ৯.২.৩ – ইনপুট স্ট্রিম থেকে ডেটা পড়া
- ৯.২.৪ – আউটপুট স্ট্রিম (OutputStream) তৈরি
- ৯.২.৫ – আউটপুট স্ট্রিমে ডেটা রাইট করা
- ৯.২.৬ – ক্যারেক্টার স্ট্রিম (Character Stream)
- ৯.২.৭ – রিডার (Reader) ব্যবহার করে ডেটা রিড করা
- ৯.২.৮ – রাইটার (Writer) ব্যবহার করে ডেটা রাইট করা
- ৯.২.৯ – System.in, System.out, and System.error
- ৯.২.১০ – প্রিমিটিভ ডেটা রিড/রাইট করা
- ৯.৩ – অনুশীলনী
অধ্যায় দশ: জাভা এন আই/ও (NIO)
- ১০.১ – জাভা এনআইও (NIO) কী?
- ১০.২ – বাফার (Buffer)
- ১০.৩ – চ্যানেল (Channel)
- ১০.৪ – ফাইল রিড করা
- ১০.৫ – ফাইল রাইট করা
- ১০.৫.১ – try-with-resource
- ১০.৬ – একত্রে রিড এবং রাইট করা
- ১০.৭ – ক্যারেক্টার সেট (Character Set)
- ১০.৮ – অনুশীলনী
অধ্যায় এগারো: কালেকশন ফ্রেমওয়ার্ক (Collection Framework)
- ১১.১ – কালেকশন (Collection)
- ১১.২ – লিস্ট (List)
- ১১.৩ – স্ট্যাক (Stack)
- ১১.৪ – ইটারেবল (Iterable) ও ইটারেটর (Iterator)
- ১১.৫ – সেট (Set)
- ১১.৬ – কিউ (Queue)
- ১১.৭ – ম্যাপ (Map)
- ১১.৭.১ – হ্যাশম্যাপ (HashMap)
- ১১.৭.২ – ট্রিম্যাপ (TreeMap)
- ১১.৭.৩ – হ্যাশটেবিল (HashTable)
- ১১.৭.৪ – লিঙ্কড হ্যাশম্যাপ (LinkedHashMap)
- ১১.৮ – কালেকশন অর্ডারিং/সর্টিং (Collection Sorting/Ordering)
- ১১.৯ – সার্চিং (Searching)
- ১১.১০ – অনুশীলনী
অধ্যায় বারো: স্ট্রিং অপারেশন (String Operations)
- ১২.১ – স্ট্রিং কনক্যাটিনেশন (Concatenation)
- ১২.২ – স্টিংয়ের কিছু গুরুত্বপূর্ণ মেথড
- ১২.৩ – স্ট্রিং পুল (String Pool)
- ১২.৪ – স্ট্রিং বিল্ডার (StringBuilder) এবং স্ট্রিং বাফার (StringBuffer)
- ১২.৫ – অনুশীলনী
অধ্যায় তের: জাভা ম্যাথ এপিআই (Math API) ও ইউটিলিটি ক্লাস (Utility Class)
- ১৩.১ – জাভা ম্যাথ এপিআই
- ১৩.২ – র্যান্ডম নম্বর (Random Numbers)
- ১৩.৩ – বিগ-ইন্টিজার (BigInteger) ও বিগ-ডেসিমাল (BigDecimal)
অধ্যায় চৌদ্দ: ইউনিট টেস্টিং (Unit Testing)
- ১৪.১ – JUnit অ্যানোটেশন (Annotation)
- ১৪.২ – অ্যাসার্ট স্টেটমেন্ট (Assert statements)
- ১৪.৩ – ফেইলড টেস্ট কেইস (Failed Test Case)
পরিশিষ্ট ১ : এনাম (Enum)
পরিশিষ্ট ২: নাল (null )
পরিশিষ্ট ৩ : Object ক্লাস
পরিশিষ্ট ৪: জাভা কী পাস-বাই-ভ্যালু (Pass-by-Value)?
পরিশিষ্ট ৫ : জাভা স্ট্রিং ফরম্যাটিং
পরিশিষ্ট ৬ : একটি ক্যালকুলেটর
পরিশিষ্ট ৭ : ক্যারেক্টার এনকোডিং (Character Encoding)
পরিশিষ্ট ৮ : ডিবাগিং (Debugging)
পরিশিষ্ট ৯ : জাভা কিওয়ার্ড (Java Keywords)
পরিশিষ্ট ১০ : জাভা কীভাবে কাজ করে এবং কীভাবে ভালো পারফর্ম করে
পরিশিষ্ট ১১ : বাংলাতে জাভা প্রোগ্রামিং
প্রাপ্তিস্থান
- রকমারি ডট কম
- হক লাইব্রেরী, নীলক্ষেত, ঢাকা
- মানিক লাইব্রেরী, নীলক্ষেত, ঢাকা
- রানা বুক সাপ্লাই, নীলক্ষেত, ঢাকা