Sunday, February 12, 2017

জাভা প্রোগ্রামিং বই



সূচীপত্র

লেখকের কথা

লেখক পরিচিতি

অধ্যায় শূন্য: উপক্রমণিকা

অধ্যায় এক: প্রথম জাভা প্রোগ্রাম

  • ১.১ – প্রোগ্রামিং ভাষা কী?
  • ১.২ – কেন জাভা?
  • ১.৩ – জাভা কীভাবে কাজ করে?
    • ১.৩.১ – বাইটকোড (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)

পরিশিষ্ট ১০ : জাভা কীভাবে কাজ করে এবং কীভাবে ভালো পারফর্ম করে

পরিশিষ্ট ১১ : বাংলাতে জাভা প্রোগ্রামিং



প্রাপ্তিস্থান

  • রকমারি ডট কম
  • হক লাইব্রেরী, নীলক্ষেত, ঢাকা
  • মানিক লাইব্রেরী, নীলক্ষেত, ঢাকা
  • রানা বুক সাপ্লাই, নীলক্ষেত, ঢাকা