বেসিক Java Examples

জাভা উদাহরন (Java  Examples) - Java Technologies

491

নিচে কিছু বেসিক Java Examples দেওয়া হলো যা Java প্রোগ্রামিং ভাষার মৌলিক ধারণাগুলি বুঝতে সাহায্য করবে। এই উদাহরণগুলি আপনাকে সিনট্যাক্স, ভেরিয়েবল, কন্ডিশনাল স্টেটমেন্ট, লুপস, ফাংশন এবং অবজেক্ট-অরিয়েন্টেড প্রোগ্রামিং (OOP) এর মৌলিক ধারণা বুঝতে সহায়তা করবে।

1. Hello World Example

এই কোডটি Java তে একটি মৌলিক "Hello, World!" প্রিন্ট করার উদাহরণ।

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

ব্যাখ্যা:

  • public class HelloWorld: একটি ক্লাস ডিফাইন করা হয়েছে।
  • public static void main(String[] args): প্রধান মেথড যা Java প্রোগ্রামটি চালানোর জন্য প্রয়োজন।

2. Variables and Data Types

এই উদাহরণে বিভিন্ন ডেটা টাইপের ভেরিয়েবল ঘোষণা এবং তাদের মান প্রদর্শন করা হয়েছে।

public class VariablesExample {
    public static void main(String[] args) {
        int num = 10;
        double pi = 3.14159;
        char grade = 'A';
        boolean isJavaFun = true;
        
        System.out.println("Integer: " + num);
        System.out.println("Double: " + pi);
        System.out.println("Char: " + grade);
        System.out.println("Boolean: " + isJavaFun);
    }
}

ব্যাখ্যা:

  • এখানে বিভিন্ন ডেটা টাইপ যেমন int, double, char, এবং boolean ব্যবহার করা হয়েছে।

3. If-Else Statement

এই উদাহরণে if-else কন্ডিশনাল স্টেটমেন্ট ব্যবহার করা হয়েছে।

import java.util.Scanner;

public class IfElseExample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        System.out.println("Enter your age: ");
        int age = sc.nextInt();
        
        if (age >= 18) {
            System.out.println("You are an adult.");
        } else {
            System.out.println("You are a minor.");
        }
    }
}

ব্যাখ্যা:

  • ব্যবহারকারীর বয়স ইনপুট নেয়া হচ্ছে এবং if-else ব্যবহার করে বয়সের উপর ভিত্তি করে একটি মেসেজ প্রদর্শন করা হচ্ছে।

4. For Loop Example

এই উদাহরণে একটি for loop ব্যবহার করে 1 থেকে 10 পর্যন্ত সংখ্যা প্রিন্ট করা হয়েছে।

public class ForLoopExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            System.out.println(i);
        }
    }
}

ব্যাখ্যা:

  • for লুপের মাধ্যমে 1 থেকে 10 পর্যন্ত সংখ্যা প্রিন্ট করা হচ্ছে।

5. While Loop Example

এখানে একটি while loop দিয়ে 1 থেকে 10 পর্যন্ত সংখ্যা প্রিন্ট করা হয়েছে।

public class WhileLoopExample {
    public static void main(String[] args) {
        int i = 1;
        
        while (i <= 10) {
            System.out.println(i);
            i++;
        }
    }
}

ব্যাখ্যা:

  • while লুপ ব্যবহার করে একটি শর্তের উপর ভিত্তি করে লুপটি চলবে।

6. Method Example

এই উদাহরণে একটি সিম্পল method তৈরি করা হয়েছে যা দুটি সংখ্যা যোগ করবে।

public class MethodExample {
    public static void main(String[] args) {
        int result = addNumbers(5, 7);
        System.out.println("Sum is: " + result);
    }
    
    public static int addNumbers(int num1, int num2) {
        return num1 + num2;
    }
}

ব্যাখ্যা:

  • addNumbers মেথডটি দুটি ইন্টিজার গ্রহণ করে এবং তাদের যোগফল রিটার্ন করে।

7. Arrays Example

এই উদাহরণে একটি array ব্যবহার করা হয়েছে এবং তার মধ্যে কিছু ভ্যালু যোগ করা হয়েছে।

public class ArraysExample {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};
        
        for (int i = 0; i < numbers.length; i++) {
            System.out.println(numbers[i]);
        }
    }
}

ব্যাখ্যা:

  • numbers একটি integer array, যেখানে 1 থেকে 5 পর্যন্ত মান রাখা হয়েছে এবং একটি for লুপ ব্যবহার করে সেগুলো প্রিন্ট করা হয়েছে।

8. Switch Case Example

এখানে একটি switch case স্টেটমেন্ট ব্যবহার করা হয়েছে, যা একটি দিন (1-7) অনুযায়ী সপ্তাহের দিন প্রিন্ট করবে।

public class SwitchCaseExample {
    public static void main(String[] args) {
        int day = 3;
        
        switch(day) {
            case 1:
                System.out.println("Monday");
                break;
            case 2:
                System.out.println("Tuesday");
                break;
            case 3:
                System.out.println("Wednesday");
                break;
            case 4:
                System.out.println("Thursday");
                break;
            case 5:
                System.out.println("Friday");
                break;
            case 6:
                System.out.println("Saturday");
                break;
            case 7:
                System.out.println("Sunday");
                break;
            default:
                System.out.println("Invalid day");
        }
    }
}

ব্যাখ্যা:

  • switch স্টেটমেন্ট ব্যবহার করে নির্দিষ্ট একটি day এর জন্য সপ্তাহের নাম প্রদর্শিত হচ্ছে।

9. Object-Oriented Programming (OOP) Example

এই উদাহরণে OOP ধারণার মাধ্যমে একটি ক্লাস এবং অবজেক্ট তৈরি করা হয়েছে।

class Car {
    String model;
    int year;
    
    public void displayInfo() {
        System.out.println("Model: " + model);
        System.out.println("Year: " + year);
    }
}

public class OOPExample {
    public static void main(String[] args) {
        Car car1 = new Car();
        car1.model = "Toyota Corolla";
        car1.year = 2020;
        
        car1.displayInfo();
    }
}

ব্যাখ্যা:

  • Car ক্লাসের মধ্যে একটি মেথড এবং দুটি ফিল্ড আছে (model, year)।
  • OOPExample ক্লাসে Car অবজেক্ট তৈরি করে তার ফিল্ড এবং মেথড ব্যবহার করা হয়েছে।

10. Constructor Example

এখানে একটি constructor ব্যবহার করা হয়েছে, যা ক্লাসের অবজেক্ট তৈরি করার সময় কিছু প্রাথমিক মান সেট করে।

class Person {
    String name;
    int age;

    // Constructor
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void displayInfo() {
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
    }
}

public class ConstructorExample {
    public static void main(String[] args) {
        // Constructor is called here
        Person person1 = new Person("John", 25);
        person1.displayInfo();
    }
}

ব্যাখ্যা:

  • Person ক্লাসে একটি constructor রয়েছে যা name এবং age সেট করে এবং displayInfo() মেথডের মাধ্যমে সেই তথ্য প্রদর্শন করে।

এই Java উদাহরণগুলো Java প্রোগ্রামিং ভাষার মৌলিক ধারণাগুলি বোঝার জন্য সহায়ক। আপনি এগুলোর মাধ্যমে ভেরিয়েবলস, কন্ডিশনাল স্টেটমেন্টস, লুপস, ফাংশন, অবজেক্ট-অরিয়েন্টেড প্রোগ্রামিং (OOP) এর মতো প্রধান ধারণা শিখতে পারবেন। Java তে এই ধারণাগুলি ব্যাবহার করার মাধ্যমে আপনি আরও জটিল প্রোগ্রাম তৈরি করতে সক্ষম হবেন।

Content added By

Hello World Program: Java তে প্রথম প্রোগ্রাম লেখা

460

Java তে প্রথম প্রোগ্রাম লেখা (Hello World Program) হল Java প্রোগ্রামিং ভাষার একটি পরিচিত এবং সহজ উদাহরণ। এই প্রোগ্রামের মাধ্যমে আপনি Java এর বেসিক সিনট্যাক্স এবং কিভাবে একটি প্রোগ্রাম তৈরি ও রান করতে হয় তা শিখতে পারেন।

Hello World Program in Java

// HelloWorld.java - A simple Java program

public class HelloWorld {
    public static void main(String[] args) {
        // This is the output statement
        System.out.println("Hello, World!");
    }
}

কোড ব্যাখ্যা:

  1. class HelloWorld:
    • public class HelloWorld হল ক্লাস ডেফিনেশন, যেখানে HelloWorld হচ্ছে ক্লাসের নাম। Java তে প্রতিটি প্রোগ্রাম একটি ক্লাসের মধ্যে থাকে।
  2. public static void main(String[] args):
    • main মেথড হল Java প্রোগ্রামের এন্ট্রি পয়েন্ট, যেখানে প্রোগ্রাম রান শুরু হয়। এটি একটি static মেথড, যা ক্লাসের মধ্যে সরাসরি অ্যাক্সেস করা যায়।
    • String[] args হচ্ছে একটি প্যারামিটার যা কমান্ড লাইন আর্গুমেন্ট গ্রহণ করে (যদি ব্যবহার করা হয়)।
  3. System.out.println("Hello, World!");:
    • System.out.println() হল একটি বিল্ট-ইন ফাংশন যা কনসোল/স্ক্রীনে আউটপুট প্রিন্ট করে।
    • এখানে "Hello, World!" টেক্সট কনসোলে প্রিন্ট করা হবে।

প্রোগ্রাম রান করার পদক্ষেপ:

  1. Java কোড লিখুন:
    • প্রথমে একটি টেক্সট এডিটরে (যেমন Notepad, Sublime Text বা Visual Studio Code) উপরের কোডটি লিখে HelloWorld.java নামে ফাইল সেভ করুন। ফাইলের নাম ক্লাসের নামের সাথে মেলাতে হবে (যেমন HelloWorld ক্লাসের জন্য ফাইলের নাম HelloWorld.java হবে)।
  2. Java Compiler Install করা:
    • Java কোড রান করতে আপনার কম্পিউটারে Java Development Kit (JDK) ইনস্টল থাকতে হবে। আপনি Oracle এর অফিসিয়াল ওয়েবসাইট থেকে JDK ডাউনলোড এবং ইনস্টল করতে পারেন।
  3. Java কোড কম্পাইল এবং রান করা:
    • টার্মিনাল বা কমান্ড প্রম্পট (Command Prompt বা Terminal) খুলুন।
    • Java কোড কম্পাইল করা:

      javac HelloWorld.java
      
    • এটি HelloWorld.class নামক একটি বাইটকোড ফাইল তৈরি করবে।
    • Java কোড রান করা:

      java HelloWorld
      
    • এই কমান্ডটি HelloWorld.class ফাইল রান করবে এবং স্ক্রীনে "Hello, World!" প্রিন্ট হবে।

আউটপুট:

Hello, World!

সংক্ষেপে:

  • Java তে প্রথম প্রোগ্রাম হল একটি খুবই সহজ প্রোগ্রাম যা শুধুমাত্র কনসোলে "Hello, World!" আউটপুট প্রিন্ট করে।
  • এটি Java তে প্রোগ্রামিং এর সিনট্যাক্স এবং কিভাবে একটি ক্লাস তৈরি এবং রান করা হয় তা বুঝতে সহায়তা করে।
Content added By

Data Types Example: প্রিমিটিভ এবং নন-প্রিমিটিভ ডেটা টাইপ উদাহরণ

412

Java তে ডেটা টাইপ দুটি প্রধান ভাগে বিভক্ত: প্রিমিটিভ ডেটা টাইপ (Primitive Data Types) এবং নন-প্রিমিটিভ ডেটা টাইপ (Non-Primitive Data Types)। প্রিমিটিভ ডেটা টাইপগুলি সিস্টেমের মেমরি থেকে সরাসরি মান ধারণ করে এবং সেগুলির জন্য নির্দিষ্ট মেমরি সাইজ রয়েছে, যেখানে নন-প্রিমিটিভ ডেটা টাইপগুলি অবজেক্ট বা রেফারেন্স হিসেবে কাজ করে এবং তাদের মেমরি সাইজ পরিবর্তনশীল।

1. প্রিমিটিভ ডেটা টাইপ (Primitive Data Types)

প্রিমিটিভ ডেটা টাইপগুলি Java এর অন্তর্নিহিত ডেটা টাইপ যা সিস্টেমের মেমরিতে সরাসরি মান ধারণ করে। এগুলির জন্য নির্দিষ্ট মেমরি বরাদ্দ থাকে এবং এগুলি ফাংশন বা মেথডের মাধ্যমে পাস করা হলে তাদের মান কপি হয়ে পাস হয় (Call by Value)।

প্রিমিটিভ ডেটা টাইপের উদাহরণ:

  • byte: 8-বিট সাইনড পূর্ণসংখ্যা (Range: -128 to 127)
  • short: 16-বিট সাইনড পূর্ণসংখ্যা
  • int: 32-বিট সাইনড পূর্ণসংখ্যা
  • long: 64-বিট সাইনড পূর্ণসংখ্যা
  • float: 32-বিট ফ্লোটিং পয়েন্ট সংখ্যা
  • double: 64-বিট ডাবল ফ্লোটিং পয়েন্ট সংখ্যা
  • char: 16-বিট ইউনিকোড ক্যারেক্টার
  • boolean: সত্য (true) বা মিথ্যা (false)

প্রিমিটিভ ডেটা টাইপ উদাহরণ:

public class PrimitiveDataTypesExample {
    public static void main(String[] args) {
        // Primitive Data Types
        byte byteValue = 10;
        short shortValue = 200;
        int intValue = 1000;
        long longValue = 100000L;
        float floatValue = 10.5f;
        double doubleValue = 20.99;
        char charValue = 'A';
        boolean booleanValue = true;

        // Displaying values
        System.out.println("byte value: " + byteValue);
        System.out.println("short value: " + shortValue);
        System.out.println("int value: " + intValue);
        System.out.println("long value: " + longValue);
        System.out.println("float value: " + floatValue);
        System.out.println("double value: " + doubleValue);
        System.out.println("char value: " + charValue);
        System.out.println("boolean value: " + booleanValue);
    }
}

আউটপুট:

byte value: 10
short value: 200
int value: 1000
long value: 100000
float value: 10.5
double value: 20.99
char value: A
boolean value: true

2. নন-প্রিমিটিভ ডেটা টাইপ (Non-Primitive Data Types)

নন-প্রিমিটিভ ডেটা টাইপগুলি Java তে অবজেক্ট বা রেফারেন্স টাইপ হিসেবে কাজ করে। এগুলির জন্য মেমরি ডায়নামিকভাবে বরাদ্দ করা হয় এবং এগুলির মধ্যে অনেকগুলো ভেরিয়েবল থাকতে পারে (যেমন, String, Arrays, Classes, Interfaces, ইত্যাদি)। নন-প্রিমিটিভ ডেটা টাইপগুলি প্রিমিটিভ ডেটা টাইপের মান ধারণ করতে পারে এবং সেগুলির জন্য আলাদা মেমরি বরাদ্দ হয়।

নন-প্রিমিটিভ ডেটা টাইপের উদাহরণ:

  • String: টেক্সট (স্ট্রিং) ডেটা টাইপ
  • Array: একই ধরনের উপাদানের একটি সারণি
  • Class: কাস্টম ডেটা টাইপ (অবজেক্ট তৈরি করা হয়)
  • Interface: একটি কনট্রাক্ট যা ক্লাসগুলো বাস্তবায়ন করতে পারে

নন-প্রিমিটিভ ডেটা টাইপ উদাহরণ:

public class NonPrimitiveDataTypesExample {
    public static void main(String[] args) {
        // Non-Primitive Data Types
        String strValue = "Hello, Java!";
        int[] intArray = {1, 2, 3, 4, 5};
        NonPrimitiveClass classObject = new NonPrimitiveClass("John Doe", 25);

        // Displaying values
        System.out.println("String value: " + strValue);

        System.out.print("Array values: ");
        for (int num : intArray) {
            System.out.print(num + " ");
        }
        System.out.println();

        System.out.println("Class object: " + classObject.getName() + ", Age: " + classObject.getAge());
    }
}

class NonPrimitiveClass {
    private String name;
    private int age;

    public NonPrimitiveClass(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

আউটপুট:

String value: Hello, Java!
Array values: 1 2 3 4 5 
Class object: John Doe, Age: 25

সারাংশ (Summary):

  1. প্রিমিটিভ ডেটা টাইপ:
    • সরাসরি মেমরিতে মান ধারণ করে।
    • নির্দিষ্ট সাইজ এবং রেঞ্জ থাকে।
    • প্রাথমিক ডেটা টাইপ: byte, short, int, long, float, double, char, boolean
  2. নন-প্রিমিটিভ ডেটা টাইপ:
    • অবজেক্ট বা রেফারেন্স হিসেবে কাজ করে।
    • মেমরি ডায়নামিকভাবে বরাদ্দ হয় এবং এর মধ্যে বিভিন্ন উপাদান থাকতে পারে।
    • উদাহরণ: String, Array, Class, Interface

এছাড়া, নন-প্রিমিটিভ ডেটা টাইপগুলি প্রিমিটিভ ডেটা টাইপের উপর ভিত্তি করে ডেটা ধারণ করতে পারে এবং Java তে মেমরি ম্যানেজমেন্ট আরও ডাইনামিক হতে পারে।

Content added By

Variables এবং Constants: ভেরিয়েবল ডিক্লারেশন এবং কনস্ট্যান্ট ব্যবহার

350

Java তে ভেরিয়েবল এবং কনস্ট্যান্ট ডেটা সংরক্ষণ করতে ব্যবহৃত হয়, তবে তাদের ব্যবহার এবং বৈশিষ্ট্য কিছুটা আলাদা। ভেরিয়েবল হল এমন একটি স্থান যেখানে ডেটা পরিবর্তিত হতে পারে, আর কনস্ট্যান্ট হল এমন একটি মান যা একবার সেট করা হলে পরিবর্তন করা যায় না। নিচে ভেরিয়েবল ডিক্লারেশন এবং কনস্ট্যান্ট ব্যবহারের বিস্তারিত উদাহরণ দেওয়া হলো।

1. ভেরিয়েবল ডিক্লারেশন (Variable Declaration)

Java তে ভেরিয়েবলগুলি ডেটার ধরন (data type) এবং তাদের নামের মাধ্যমে ডিক্লেয়ার করা হয়। ভেরিয়েবলগুলো প্রোগ্রামের চলাকালে মান ধারণ করতে সক্ষম এবং তাদের মান পরিবর্তন করা যায়।

ভেরিয়েবল ডিক্লারেশনের সিনট্যাক্স:

data_type variable_name = value;

উদাহরণ: ভেরিয়েবল ডিক্লারেশন

public class VariableExample {
    public static void main(String[] args) {
        // প্রাথমিকভাবে ভেরিয়েবল ডিক্লারেশন
        int age = 25; // Integer type variable
        double salary = 50000.50; // Double type variable
        String name = "John"; // String type variable

        // ভেরিয়েবলের মান প্রিন্ট করা
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
        System.out.println("Salary: " + salary);
    }
}

ব্যাখ্যা:

  • int age = 25;: age নামে একটি ভেরিয়েবল ঘোষণা করা হয়েছে যা int টাইপ এবং মান ২৫।
  • double salary = 50000.50;: salary নামে একটি double টাইপ ভেরিয়েবল ডিক্লেয়ার করা হয়েছে।
  • String name = "John";: name নামে একটি String টাইপ ভেরিয়েবল, যেখানে "John" মান রয়েছে।

2. কনস্ট্যান্ট ব্যবহার (Using Constants)

Java তে কনস্ট্যান্ট এমন একটি মান যা একবার অ্যাসাইন করার পরে পরিবর্তন করা যায় না। Java তে কনস্ট্যান্ট তৈরি করার জন্য final কীওয়ার্ড ব্যবহার করা হয়। যখন কোনো ভেরিয়েবল final দ্বারা ডিক্লেয়ার করা হয়, তখন সেটির মান পরিবর্তন করা যায় না।

কনস্ট্যান্ট ডিক্লারেশনের সিনট্যাক্স:

final data_type CONSTANT_NAME = value;

উদাহরণ: কনস্ট্যান্ট ব্যবহার

public class ConstantExample {
    public static void main(String[] args) {
        // কনস্ট্যান্ট ডিক্লারেশন
        final double PI = 3.14159; // constant value of PI
        final int MAX_USERS = 100; // constant value for maximum users

        // কনস্ট্যান্ট ভেরিয়েবলের মান প্রিন্ট করা
        System.out.println("PI: " + PI);
        System.out.println("Maximum Users Allowed: " + MAX_USERS);

        // কনস্ট্যান্টের মান পরিবর্তন করার চেষ্টা করলে এরর হবে
        // PI = 3.14; // This will cause a compilation error
    }
}

ব্যাখ্যা:

  • final double PI = 3.14159;: PI কনস্ট্যান্ট হিসেবে ডিক্লেয়ার করা হয়েছে, যা একটি double টাইপ এবং এর মান পরিবর্তন করা যাবে না।
  • final int MAX_USERS = 100;: MAX_USERS কনস্ট্যান্ট হিসেবে ডিক্লেয়ার করা হয়েছে, যার মান ১০০ এবং এটি পরিবর্তন করা যাবে না।

3. কনস্ট্যান্টের ক্ষেত্রে কনভেনশন (Naming Conventions for Constants)

Java তে কনস্ট্যান্টের নাম সব capital letters এ লেখা হয় এবং underscore (_) দিয়ে শব্দগুলো আলাদা করা হয়। যেমন:

final int MAX_USERS = 100;
final double PI = 3.14159;

4. ভেরিয়েবল এবং কনস্ট্যান্টের মধ্যে পার্থক্য

বিষয়ভেরিয়েবলকনস্ট্যান্ট
মান পরিবর্তনযোগ্যহ্যাঁ, ভেরিয়েবলের মান পরিবর্তন করা যায়না, কনস্ট্যান্টের মান একবার সেট করার পর পরিবর্তন করা যায় না
ডিক্লেয়ার করার জন্য কীওয়ার্ডকোনো কীওয়ার্ড নেইfinal কীওয়ার্ড ব্যবহৃত হয়
নামকরণের কনভেনশনসাধারণত ছোট হাতের অক্ষরে, Camel Case ব্যবহার করা হয়সব কপি লেটার এবং underscore ব্যবহার করা হয়

5. পাঠযোগ্যতা এবং রক্ষণাবেক্ষণ

  • ভেরিয়েবল ব্যবহারের মাধ্যমে প্রোগ্রাম ডাইনামিক হতে পারে এবং ডেটার মান চলাকালীন পরিবর্তিত হতে পারে, যেমন ইউজার ইনপুটের ভিত্তিতে।
  • কনস্ট্যান্ট ব্যবহারের মাধ্যমে আপনার কোড আরও সুরক্ষিত হয়, কারণ কনস্ট্যান্টের মান একবার সেট করার পর কোনো প্রোগ্রাম তার মান পরিবর্তন করতে পারে না, এটি আপনার কোডের বাগ কমাতে সহায়ক।
  • ভেরিয়েবল এমন একটি জায়গা যেখানে ডেটা সংরক্ষণ করা হয় এবং সেটি পরিবর্তিত হতে পারে।
  • কনস্ট্যান্ট এমন একটি মান যা একবার সেট করার পরে পরিবর্তন করা যায় না, এবং এটি সাধারণত final কীওয়ার্ড দ্বারা ডিক্লেয়ার করা হয়।

Java তে ভেরিয়েবল এবং কনস্ট্যান্ট ব্যবহারের মাধ্যমে আপনি আরও সুসংগঠিত এবং নিরাপদ কোড লিখতে পারেন, যেখানে ডেটার অবস্থা (state) সঠিকভাবে নিয়ন্ত্রণ করা হয়।

Content added By

Operators Example: Arithmetic, Relational, Logical, এবং Bitwise Operators এর ব্যবহার

376

Java তে Operators বিভিন্ন ধরনের গণনা এবং শর্তাদি পরীক্ষা করার জন্য ব্যবহৃত হয়। এরা মূলত কয়েকটি শ্রেণীতে বিভক্ত: Arithmetic Operators, Relational Operators, Logical Operators, এবং Bitwise Operators। নিচে প্রতিটি ধরনের অপারেটরের উদাহরণ সহ আলোচনা করা হয়েছে।

1. Arithmetic Operators (গাণিতিক অপারেটর)

Arithmetic Operators গাণিতিক হিসাব করার জন্য ব্যবহৃত হয়। এরা সাধারণত দুটি বা তার অধিক সংখ্যার মধ্যে গাণিতিক কাজ যেমন যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি করতে ব্যবহার করা হয়।

Arithmetic Operators:

  • + : যোগফল
  • - : বিয়োগফল
  • * : গুণফল
  • / : ভাগফল
  • % : ভাগশেষ

উদাহরণ:

public class ArithmeticOperatorsExample {
    public static void main(String[] args) {
        int a = 10, b = 5;
        
        System.out.println("Addition: " + (a + b));  // 10 + 5 = 15
        System.out.println("Subtraction: " + (a - b));  // 10 - 5 = 5
        System.out.println("Multiplication: " + (a * b));  // 10 * 5 = 50
        System.out.println("Division: " + (a / b));  // 10 / 5 = 2
        System.out.println("Modulo: " + (a % b));  // 10 % 5 = 0
    }
}

Output:

Addition: 15
Subtraction: 5
Multiplication: 50
Division: 2
Modulo: 0

2. Relational Operators (সম্পর্ক অপারেটর)

Relational Operators ব্যবহার করে দুটি মানের মধ্যে সম্পর্ক নির্ধারণ করা হয়। এগুলি মূলত শর্তাদি পরীক্ষা করতে ব্যবহৃত হয়।

Relational Operators:

  • == : সমান
  • != : সমান নয়
  • > : বড়
  • < : ছোট
  • >= : বড় অথবা সমান
  • <= : ছোট অথবা সমান

উদাহরণ:

public class RelationalOperatorsExample {
    public static void main(String[] args) {
        int x = 10, y = 20;

        System.out.println("x == y: " + (x == y));  // false
        System.out.println("x != y: " + (x != y));  // true
        System.out.println("x > y: " + (x > y));  // false
        System.out.println("x < y: " + (x < y));  // true
        System.out.println("x >= y: " + (x >= y));  // false
        System.out.println("x <= y: " + (x <= y));  // true
    }
}

Output:

x == y: false
x != y: true
x > y: false
x < y: true
x >= y: false
x <= y: true

3. Logical Operators (যুক্তিক অপারেটর)

Logical Operators ব্যবহার করা হয় দুটি বা তার অধিক শর্ত একত্রিত করার জন্য। এগুলি Boolean ধরনের অপারেটর এবং শর্ত সত্য বা মিথ্যা নির্ধারণে ব্যবহৃত হয়।

Logical Operators:

  • && : AND
  • || : OR
  • ! : NOT

উদাহরণ:

public class LogicalOperatorsExample {
    public static void main(String[] args) {
        boolean a = true, b = false;

        System.out.println("a && b: " + (a && b));  // false
        System.out.println("a || b: " + (a || b));  // true
        System.out.println("!a: " + (!a));  // false
    }
}

Output:

a && b: false
a || b: true
!a: false

4. Bitwise Operators (বিটওয়াইজ অপারেটর)

Bitwise Operators একে একে বাইনারি ডেটার বিটগুলির উপর কাজ করে। এই অপারেটরগুলি ব্যবহার করে একটি নির্দিষ্ট বিটের মানের সঙ্গে কাজ করা হয়।

Bitwise Operators:

  • & : AND
  • | : OR
  • ^ : XOR
  • ~ : NOT
  • << : Left shift
  • >> : Right shift
  • >>> : Unsigned right shift

উদাহরণ:

public class BitwiseOperatorsExample {
    public static void main(String[] args) {
        int x = 5, y = 3;  // x = 0101, y = 0011 in binary

        System.out.println("x & y: " + (x & y));  // 0101 & 0011 = 0001 = 1
        System.out.println("x | y: " + (x | y));  // 0101 | 0011 = 0111 = 7
        System.out.println("x ^ y: " + (x ^ y));  // 0101 ^ 0011 = 0110 = 6
        System.out.println("~x: " + (~x));        // ~0101 = 1010 = -6 (two's complement)
        System.out.println("x << 1: " + (x << 1));  // 0101 << 1 = 1010 = 10
        System.out.println("x >> 1: " + (x >> 1));  // 0101 >> 1 = 0010 = 2
        System.out.println("x >>> 1: " + (x >>> 1)); // 0101 >>> 1 = 0010 = 2
    }
}

Output:

x & y: 1
x | y: 7
x ^ y: 6
~x: -6
x << 1: 10
x >> 1: 2
x >>> 1: 2

সারাংশ:

  • Arithmetic Operators: গাণিতিক অপারেশন যেমন যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি।
  • Relational Operators: দুটি মানের মধ্যে সম্পর্ক নির্ধারণ করা হয়, যেমন সমান, বড়, ছোট ইত্যাদি।
  • Logical Operators: শর্তের যৌক্তিক সম্পর্ক নির্ধারণ করতে ব্যবহৃত হয়, যেমন AND, OR, NOT ইত্যাদি।
  • Bitwise Operators: বাইনারি ডেটা (বিট) এর উপর কাজ করতে ব্যবহৃত হয়, যেমন বিটwise AND, OR, XOR, SHIFT ইত্যাদি।

এই অপারেটরগুলো আপনাকে Java তে বিভিন্ন ধরনের গণনা এবং শর্তাদি পরীক্ষা করার সুবিধা প্রদান করে।

Content added By

Input এবং Output Example: Scanner এবং System.out.println এর মাধ্যমে ইনপুট/আউটপুট গ্রহণ

397

Java তে ইনপুট এবং আউটপুট হ্যান্ডল করার জন্য বেশ কিছু জনপ্রিয় পদ্ধতি রয়েছে। Scanner ক্লাস ইনপুট গ্রহণ করার জন্য এবং System.out.println আউটপুট প্রদর্শনের জন্য ব্যবহৃত হয়। এখানে Scanner ক্লাস দিয়ে ইনপুট গ্রহণ এবং System.out.println দিয়ে আউটপুট প্রদর্শনের একটি সহজ উদাহরণ দেওয়া হয়েছে।

উদাহরণ ১: Scanner ব্যবহার করে ইনপুট গ্রহণ এবং System.out.println দিয়ে আউটপুট প্রদর্শন

import java.util.Scanner;

public class InputOutputExample {
    public static void main(String[] args) {
        // Scanner ক্লাস দিয়ে ইনপুট নেয়া
        Scanner scanner = new Scanner(System.in);

        // ইউজার থেকে নাম ইনপুট নেওয়া
        System.out.print("আপনার নাম লিখুন: ");
        String name = scanner.nextLine(); // String ইনপুট নেয়া

        // ইউজার থেকে বয়স ইনপুট নেয়া
        System.out.print("আপনার বয়স লিখুন: ");
        int age = scanner.nextInt(); // Integer ইনপুট নেয়া

        // ইনপুট প্রদর্শন করা
        System.out.println("\nআপনার নাম: " + name);
        System.out.println("আপনার বয়স: " + age);

        // স্ক্যানার বন্ধ করা
        scanner.close();
    }
}

কোডের ব্যাখ্যা:

  1. Scanner ক্লাস:
    • Scanner scanner = new Scanner(System.in);: এটি একটি Scanner অবজেক্ট তৈরি করে, যা কীবোর্ড (System.in) থেকে ইনপুট গ্রহণ করতে সক্ষম।
    • nextLine(): এটি ব্যবহারকারীর কাছ থেকে একটি পূর্ণলাইন (String) ইনপুট নেয়।
    • nextInt(): এটি ব্যবহারকারীর কাছ থেকে একটি পূর্ণসংখ্যা (Integer) ইনপুট নেয়।
  2. System.out.print() এবং System.out.println():
    • System.out.print(): এটি ব্যবহারকারীকে কিছু লেখার জন্য নির্দেশ দেয়, কিন্তু এটি নতুন লাইন যুক্ত করে না।
    • System.out.println(): এটি আউটপুট প্রদর্শনের পর নতুন লাইন তৈরি করে।
  3. scanner.close():
    • এটি Scanner অবজেক্ট বন্ধ করার জন্য ব্যবহৃত হয়, যাতে রিসোর্স ব্যবহার শেষ হওয়ার পরে তা মুক্ত করা যায়।

আউটপুট:

আপনার নাম লিখুন: জন
আপনার বয়স লিখুন: 25

আপনার নাম: জন
আপনার বয়স: 25

উদাহরণ ২: একই ইনপুটে একাধিক ধরনের ডেটা গ্রহণ

import java.util.Scanner;

public class MultipleInputExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // ইনপুট গ্রহণ
        System.out.print("আপনার নাম লিখুন: ");
        String name = scanner.nextLine();  // String ইনপুট

        System.out.print("আপনার বয়স লিখুন: ");
        int age = scanner.nextInt();  // Integer ইনপুট

        System.out.print("আপনার উচ্চতা (মিটার) লিখুন: ");
        double height = scanner.nextDouble();  // Double ইনপুট

        // আউটপুট প্রদর্শন
        System.out.println("\nআপনার নাম: " + name);
        System.out.println("আপনার বয়স: " + age);
        System.out.println("আপনার উচ্চতা: " + height + " মিটার");

        scanner.close();
    }
}

কোডের ব্যাখ্যা:

  • এখানে, তিনটি ভিন্ন ধরনের ইনপুট গ্রহণ করা হয়েছে:
    1. String: নাম
    2. Integer: বয়স
    3. Double: উচ্চতা
  • nextLine(), nextInt(), এবং nextDouble() মেথড ব্যবহার করে আমরা ভিন্ন ভিন্ন ডেটা টাইপের ইনপুট নিয়েছি।

আউটপুট:

আপনার নাম লিখুন: মিশেল
আপনার বয়স লিখুন: 30
আপনার উচ্চতা (মিটার) লিখুন: 1.75

আপনার নাম: মিশেল
আপনার বয়স: 30
আপনার উচ্চতা: 1.75 মিটার

দ্রষ্টব্য:

  1. nextLine() এবং nextInt()/nextDouble() এর মধ্যে পার্থক্য:
    • nextLine(): এটি পুরো লাইন হিসেবে ইনপুট নেয়।
    • nextInt() বা nextDouble(): এটি শুধুমাত্র সংখ্যার মান ইনপুট নেয় এবং একটি লাইনের শেষের স্পেসের পরবর্তী nextLine() মেথডে সমস্যা সৃষ্টি করতে পারে। এই কারণে, যদি আপনি একে একে nextInt() এবং nextLine() ব্যবহার করেন, তাহলে আপনার প্রথম nextLine() কলটি ইনপুটের পরবর্তী লাইনটি গ্রহন করতে পারে, যা আপনি না চেয়েও অবাঞ্ছিতভাবে পেয়ে যেতে পারেন। এই সমস্যা এড়ানোর জন্য, আপনি একটি অতিরিক্ত nextLine() কল করতে পারেন।

উদাহরণ:

System.out.print("Enter age: ");
int age = scanner.nextInt();
scanner.nextLine();  // Extra nextLine() to consume the newline character

  • Scanner ক্লাস Java তে ইনপুট গ্রহণ করার জন্য অন্যতম জনপ্রিয় পদ্ধতি। এটি ব্যবহার করে আপনি বিভিন্ন ধরনের ইনপুট (যেমন String, Integer, Double) গ্রহণ করতে পারেন।
  • System.out.println() এবং System.out.print() ব্যবহার করে আপনি কনসোলে আউটপুট প্রদর্শন করতে পারেন।
  • ইনপুট নেওয়ার পর, সব সময় scanner.close() ব্যবহার করা উচিত যাতে রিসোর্স মুক্ত করা যায়।
Content added By
Promotion

Are you sure to start over?

Loading...