ভেরিয়েবল(Variable)

Variable:
এ পর্বে আমরা জানব ভেরিয়েবল কি ? এবং কিভাবে ভেরিয়েবল ব্যাবহার করা যায়
তবে c/c++ জানা থাকলে ভেরিয়েবলের সাথে পরিচিত থাকার কথা।
যারা জাভা দিয়ে প্রথম ল্যাঙ্গুয়েজ শেখা শুরু করেছেন শুধু তাদের জন্য এ পর্বটি ।
Variable এর বাংলা অর্থ দাড়ায় চলক। আমরা গনিত করতে গেলে যেমন চলক ব্যাবহার করি তেমনি প্রোগ্রামিং ল্যাংগুয়েজেও চলক ব্যাবহার করা হয়।
5x+ 6Y=30;
এখানে x,y হল চলক। এর মান আমরা যা দিবতাই হবে । তেমনি প্রোগ্রামিং ল্যাংগুয়েজে চলকের মান যা ইচ্ছা তাই দেওয়া যায় ।
তবে variable গুলো নির্দিষ্ট ডেটা টাইপের হতে হবে পরের পর্বে ডেটা টাইপ সম্পর্কে জানব।
তাহলে variable কি? যা মান বহন করে বা কোন মান প্রকাশের জন্য একপ্রকার মাধ্যম। যেমন-
Int x=5;
Float y=4.5;
এখানে x,y হল চলক। int , float হল ডাটা টাইপ।
আমরা এ নিয়ে একটি প্রোগ্রাম দেখি তাহলে ব্যাপারটা পরিষ্কার হবে—

 

public class variable {
public static void main(String arg[]){

int x=10;
float y=10.50f;
System.out.println(“Value of x is =”+x);
System.out.println(“Value of Y is =”+y);
float z=x+y;

System.out.println(“Total result =”+z);

}
}
আউটপুট :
Value of x is =10
Value of Y is =10.5
Total result =20.5
তাহলে দেখলাম x এর মান দিয়েছিলাম 10, y এর ১০.৫ তাই যখন x এর মান প্রিন্ট করলাম তখন ১০ প্রিন্ট করেছে এবং y এর মান ১০.৫ প্রিন্ট করেছে । আমরা যখন উভয়টা যোগ করেছি তখন তা ২০.৫ হয়েছে।
এখানে = হলে অ্যাসিনমেন্ট অপারেটর , পরের এক পর্বে আমরা আসাইনমেন্ট অপারেটর সম্পর্কে জানব।
এখন ভেরিয়েবলের ব্যবহার নিয়মটা জেনে নেওয়া যাক।
যেমন আমরা যদি লিখি int 456abc= 7478; তা হলে একটি এরর মেসেজ দেখাবে । কেন? কারন ভেরিয়েবল গানিতিক সংখ্যা ব্যাবহার করা যায় না।
যেগুলো ব্যাবহার করা যাবে না –
১. গানিতিক সংখ্যা ১,২,৩ , তবে কোন নাম দিয়ে লেখা যাবে ,অর্থাৎ প্রথমে লেখা যাবে না ।int nstu2004; লেখা যাবে।
২।ভেরিয়েবলের মাঝে ফাকা স্থান থাকতে পারবে না ।যেমন nstu cste; ভূল ;কিন্তু nstucste correct.
3.key word such int , main,vaoid ,float , Boolean ইত্যাদি ব্যাবহার করা যাবে না , তাহলে ইরর মেসেজ শো করবে।

কিভাবে ইনপুট নিতে হয়

এ পর্বে আমরা জানব কিভাবে জাভা প্রোগ্রামে কোন কিছু ইনপুট নিতে হয় ।

ইউজার হতে কোন কিছু ইনপুট নেওয়ার জন্য সচারাচর বর্তমানে Scanner use করা হয়ে থাকে ।

Scanner input =new Scanner(System.in);
এখানে input একটি ভেরিয়েবল , input না লিখে আমরা যে কোন কিছু দিতে পারি।
এখন আমরা এ বিষয়ক একটি প্রোগ্রাম দেখব যার মাধ্যমে কোন কিছু ইউজার হতে ইনপুট দিতে বলা হবে এবং তা প্রিন্ট করবে

import java.util.Scanner;
public class first_program {

public static void main(String arg[]){

Scanner input =new Scanner(System.in);
System.out.println(“Please write something “);
String line;

line=input.nextLine();

System.out.print(“Your write this —>”+line);

}

}

প্রোগ্রামটি রান কর Please write something

arif hasnat nstu
Your write this —>arif hasnat nstu
লেখা আসবে ,অর্থাৎ আমরা যে ইনপুট দেব তা প্রিন্ট করবে।
প্রোগ্রামটির ব্যাক্ষাঃ

আমরা জাভা প্রোগামে হেডার ফাইল ইম্পোর্ট করে থাকি । c/c++ এ include <Stdio.h>
করে থাকি কিন্তু জাভা ভাষায় হেডার ফাইল গুলো নির্দিষ্ট প্যাকেজের অন্তর্ভুক্ত থাকে যেগুলো আমরা ইমপোর্ট করে থাকি ।প্যাকেজ সম্পর্কে পরে আলোচনা করা হবে।
এখানে Scanner জাভা util package এর অন্তর্গত।
import java.util.Scanner;

first_program নামে ক্লাস
public class first_program {

মেন মেথড

public static void main(String arg[]){

input নামে একটি অব্জেক্ট তৈরি করলাম । যা পরে ব্যাবহার হবে।
Scanner input =new Scanner(System.in);
System.out.println(“Please write something “);
String type এর ভেরিয়েবল line create করলাম ।

String line;
এখনে line=input.nextLine(); তে বলা হল যে একটি স্ট্রিং টাইপের ইনপুট নেওয়ার জন্য ।

কয়েকপ্রকার ইনপুট নেওয়া যায় –যেমন
Input.nextInt(); নিলে ইন্টিজার টাইপের ইনপুট নিবে।
Input.nextFloat();নিলে Float টাইপের ইনপুট নিবে।
Input.nextDouble();নিলে Double টাইপের ইনপুট নিবে।
Input.nextChar();নিলে Char টাইপের ইনপুট নিবে।

line=input.nextLine();

line কে প্রিন্ট করে দিলাম ।
System.out.print(“Your write this —>”+line);

}
আশা করি বুঝতে পেরেছেন । কোন সমস্যা থাকলে অবশ্যি জানাবেন এই কামনা করি।

Logical Operator

Logical Operator:
Java language এ কয়েক ধরনের লজিকাল অপারেটর আছে ।  এগুলো সাধারনত শর্ত সত্য বা মিথ্যা অর্থাৎ Boolean  কন্ডিশান চেক করে। জাভাতে মোট তিন ধরনের লজিকাল অপারেটর রয়েছে ।
And——-symbol is         &&
OR  ——-Symbol is        ||
Not  ——-Symbol is        !

And  অপারেটর হল এমন ধরনের যেখানে উভয় কন্ডিশান সত্য হলে তবে ফলাফল সত্য বলে বিবেচিত হয়, একটি বা উভয়টি মিথ্যা হলে ফলাফল মিথ্যা বিবেচিত হয়।

OR  অপারেটর হল এমন যেখানে যে কোন একটি সত্য বা উভয়টা সত্য হলে ফলাফল মিথ্যা বলে বিবেচিত হয়, শুধুমাত্র উভয়টি মিথ্যা হলেই কেবল ফলাফল মিথ্যা হয়।

Not    হল এমন অপারেটর যেখানে শুধু সত্য নাকি মিথ্যা তা বিবেচনা করা হয়।         যেমন  বৃস্টি না এলে আমি ভার্সিটি যাব। এখানে বৃষ্টি হয়ার সম্ভাবনা মিথ্যা হলে   কাজ টি সত্য হবে অর্থাৎ  ভার্সিটি যাব।

একটি উদাহরন  দেখি-

public class logical_oparetor {

public static void main(String arg[]){

int a=5,b=10;

if(a==5&&b==10){
System.out.println(“yes , this is right for and oprerator where both are true  !!”);

}

if(a==5&&b==5){

System.out.println(“yes , this is right for and operator where single one is true !!”);

}

if(a==4&&b==4){

System.out.println(“yes , this is right for and operator where both are false!!”);
}

if(a==5||b==10){

System.out.println(“yes , this is right for or operator where both are true !!”);
}

if(a==5|| b==5){

System.out.println(“yes , this is right for or operator where  single one is true!!”);

}

if(a==4||b==3){
System.out.println(“yes , this is right  for or operator where both are false!!”);

}

if(a!=5){

System.out.println(“yes , this is right for not operator where value is false !!”);

}

if(a!=4){

System.out.println(“yes , this is right where value is true !!”);

}

}
}

Output:
yes , this is right for and oprerator where both are true  !!
yes , this is right for or operator where both are true !!
yes , this is right for or operator where  single one is true!!
yes , this is right where value is true !!

Layout manager

 

গূঈ(GUI) প্রোগ্রাম ডিজাইনের জন্য একটি অন্যতম বিষয় হল এর কম্পনেন্ট গুলোকে নির্দিষ্ট আকার বা বিভিন্ন আকার ও গঠন বলে দেওয়া । তবে অনেক সময় অনেকগুলো কম্পনেন্টের জন্য একই সাইজ দরকার হয় আর এ কারনে লেয়াউট ম্যানেজারের মাধ্যমে তা একই সাথে করা হয় – জাভাতে মুলত ৬ ধরনের লেয়াঊট রয়েছে যার প্রত্যকটি আলাদা আলাদা কাজা / লেয়াঊট দিয়ে থাকে –
1.Flow Layout Manager
2. Border Layout Manager
3. Grid Layout Manager
4. Grid Bag Layout Manager
5.Card Layout Manager
6.Box Layout Manager

এগুলোর মধ্যে Flow Layout manager ডিফল্ট ম্যানেজার হিসেবে কাজ করে থাকে।

Layout manager Description
FlowLayout Default for javax.swing.JPanel. Places components sequentially (left
to right) in the order they were added. It’s also possible to specify the
order of the components by using the Container method add,which
takes a Component and an integer index position as arguments.
BorderLayout Default for JFrames (and other windows). Arranges the components
into five areas: NORTH, SOUTH, EAST , WEST and CENTER.
GridLayout Arranges the components into rows and columns.

BoxLayout A layout manager that allows GUI components to be arranged left-to-
right or top-to-bottom in a container. Class Box declares a container
with BoxLayout as its default layout manager and provides static
methods to create a Box with a horizontal or vertical BoxLayout.
GridBagLayout A layout manager similar to GridLayout, but the components can
vary in size and can be added in any order.
Card layout support all the manager to use in same Layout.

 

First Program – How to Run

মনে করি আমরা one নামে project  name দিয়ে একটি জাভা প্রোজেক্ট তৈরি করলাম এবং  first_program    নামে একটি ক্লাস তৈরি করলাম।

তাহলে আমরা  public class first_program {
}

প্রতিটি প্রোগ্রামে একটি মেন মেথড (main method) থাকে , উল্লেখ্য জাভা ভাষায় ফাংশানকে মেথড বলা হয়। c/c++  এ ফাংশন সম্পর্কে আমরা জেনেছি।
উপড়ে আমরা যে ক্লাস তৈরি করলাম তাতে কোন Main method নেই। তাই তাতে মেন মেথড যুক্ত করতে হবে ।জাভা ল্যাংগুয়েজে  public static void main(String arg[]){    }
হল ডিফল্ট মেন মেথড ।

There is only one form of the main method in Java, shown as follows:
public static void main(String[] args) {
// Body of method
}
The following table shows elements of the main method:
Elements Meaning
Public—— The method is visible outside the class.
Static———— The method can be invoked without creating an object of the class type.
void ———–The method does not return anything.
Arg[]——————— An array of strings representing the arguments passed.

টিঊটোরিয়াল-৩
এখন  আমরা জানব জাভা প্রোগ্রামে কিভাবে কোন কিছু প্রিন্ট/print করা যায়।
সাধারনত c  তে প্রিন্ট করার জন্য printf() এবং c++এ cout<< ব্যাবহার করা হয় ।
জাভা প্রোগ্রামিং এ কোন কিছু print  করার জন্য
System.out.print(); ব্যাবহার করা হয়। তবে জাভা ভাষায় একটি সুবিধা হল System.out.println(); ব্যাবহার করে লাইন ব্রেক  করা যায় ,অর্থাৎ নিঊ লাইন তৈরি হয় । এখন আমরা একটি প্রোগ্রাম দেখব যার মাধ্যমে বিষয়টা ভালোভাবে বোঝা যাবে

public class first_program {

public static void main(String arg[]){

System.out.print(“This is my first java program! “);
System.out.print(“This is my first java program! “);

}

}
এখন উক্ত প্রোগ্রাম রান করলে আমরা
This is my first java program! This is my first java program!

আউটপুট পাব ।দেখতে পেলামএকটি আউটপুটের পরেই আরেকটি আউটপুট প্রিন্ট করেছে তাই একটি লাইনে দুটি আউটপুট দেখাচ্ছে । এখন যদি আমরা চাই একটির পরে আরেকটি অর্থাৎ দ্বিতীয়টি পরের লাইনে দেখা যাবে তাহলে আমরা কি করতে পারি । কিছু না , শুধু System.out.println()   ;   ব্যাবহার করলেই উক্ত ফলাফল পাব।

public class first_program {

public static void main(String arg[]){

System.out.println(“This is my first java program! “);
System.out.println(“This is my first java program! “);

}

}

তাহলে আমরা আউটপুট পাব

This is my first java program!
This is my first java program!

তবে আউটপুটের জন্য নিম্ন লিখিত বিষয় গুলো জানা দরকার
Escape sequence Description
\n Newline. Position the screen cursor at the beginning of the next line.
\t Horizontal tab. Move the screen cursor to the next tab stop.
\r Carriage return. Position the screen cursor at the beginning of the current
line—do not advance to the next line. Any characters output after the car-
riage return overwrite the characters previously output on that line.
\\ Backslash. Used to print a backslash character.
\” Double quote. Used to print a double-quote character. For example,
System.out.println( “\”in quotes\”” );
displays “in quotes”.

টিঊটোরিয়াল-৪ঃ
এ পর্বে আমরা জানব কিভাবে জাভা প্রোগ্রামে  কোন কিছু ইনপুট নিতে হয় ।

ইউজার হতে কোন কিছু ইনপুট নেওয়ার জন্য সচারাচর বর্তমানে Scanner  use করা হয়ে থাকে ।

Scanner   input =new Scanner(System.in);
এখানে input একটি ভেরিয়েবল , input না লিখে আমরা যে কোন কিছু দিতে পারি।
এখন আমরা এ বিষয়ক একটি প্রোগ্রাম দেখব যার মাধ্যমে কোন কিছু  ইউজার হতে ইনপুট দিতে বলা হবে এবং তা প্রিন্ট করবে

import java.util.Scanner;

public class first_program {

public static void main(String arg[]){

Scanner input =new Scanner(System.in);
System.out.println(“Please write something “);
String line;

line=input.nextLine();

System.out.print(“Your write this —>”+line);

}

}

প্রোগ্রামটি রান কর Please write something

arif hasnat nstu
Your write this —>arif hasnat nstu
লেখা আসবে ,অর্থাৎ আমরা যে ইনপুট দেব তা প্রিন্ট করবে।
প্রোগ্রামটির ব্যাক্ষাঃ

আমরা জাভা প্রোগামে হেডার ফাইল ইম্পোর্ট করে থাকি ।  c/c++  এ include <Stdio.h>
করে থাকি কিন্তু জাভা ভাষায় হেডার ফাইল গুলো নির্দিষ্ট প্যাকেজের অন্তর্ভুক্ত থাকে যেগুলো আমরা ইমপোর্ট করে থাকি ।প্যাকেজ সম্পর্কে পরে আলোচনা করা হবে।
এখানে Scanner  জাভা util package এর অন্তর্গত।
import java.util.Scanner;

first_program নামে ক্লাস
public class first_program {

মেন মেথড

public static void main(String arg[]){

input  নামে একটি অব্জেক্ট তৈরি করলাম । যা পরে ব্যাবহার হবে।
Scanner input =new Scanner(System.in);
System.out.println(“Please write something “);
String type এর ভেরিয়েবল  line  create করলাম ।

String line;
এখনে line=input.nextLine(); তে বলা হল যে একটি স্ট্রিং টাইপের ইনপুট নেওয়ার জন্য ।

কয়েকপ্রকার ইনপুট নেওয়া যায় –যেমন
Input.nextInt();  নিলে  ইন্টিজার টাইপের ইনপুট নিবে।
Input.nextFloat();নিলে  Float  টাইপের ইনপুট নিবে।
Input.nextDouble();নিলে  Double টাইপের ইনপুট নিবে।
Input.nextChar();নিলে  Char  টাইপের ইনপুট নিবে।

line=input.nextLine();

line কে প্রিন্ট করে দিলাম ।
System.out.print(“Your write this —>”+line);

}

আশা করি বুঝতে পেরেছেন । কোন সমস্যা থাকলে অবশ্যি জানাবেন এই কামনা করি।

Java Installation and Environment setup

Java Installation and Environment setup:

Java Installation এর জন্য  আমাদের নিম্ন লিখিত ধাপ অনুসরন করতে হবে –
Java JDK(Java Development kit) installation
IDE setup  ——- a) eclipse b)netbeans  setup
আমরা eclipse এর মাধ্যমে জাভা  প্রোগ্রাম রান করব
তাই প্রথমে JDK download ( http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.htm )এখান থেকেJDK download করে নিয়ে setup দিন।
এর পর http://www.eclipse.org/downloads/   থেকে ডাউনলোড করে নিতে হবে এবং সেট-আপ দিয়ে ফেলুন। তবে ডাউনলোডের সময় eclipse IDE for java কিংবা eclipse IDE classic যে কোন একটি ডাঊনলোড করতে হবে।
এখন – কিভাবে eclipse  এ জাভা প্রোগ্রাম রান করা যায় তা পর্যায়ক্রমে দেখব-
বলে রাখি জাভা একটি অব্জেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ল্যাংগুয়েজ । এবং তাতে অনেক ক্লাস , অব্জেক্ট থাকতে পারে । আর এজন্যই অব্জেক্ট অরিয়েন্টেড প্রোগ্রামিং ব্যাবহার সুবিধাজনক।

এখন eclipse open করুন –

এবার আমাদের প্রোজেক্ট(project ) তৈরি করতে হবে ।সে জন্য প্রথমে ফাইল মেনুতে গিয়ে create new—— project—java project এ ক্লিক করুন। এখন যে কোন একটি নাম দিয়ে Finish করলে একটি empty জাভা প্রজেক্ট তৈরি হবে ।

এখন আমাদের class create করতে হবে আর সে জন্য প্রোজেক্ট Folder এ গিয়ে মাউসের ডান বাটন এ ক্লিক করে class এ ক্লিক করলে একটি ডায়ালগ বক্স আসবে ,এখানে ক্লাসের একটি নাম দিয়েfinish করি।
ব্যাস , এখন আমরা এখানে জাভা প্রোগ্রাম রান করতে পারব।

one_4

one_3

one_2

one_1