Saturday, January 12, 2019

কম্পিউটার প্রোগ্রামিং শেখা কতটা গুরুত্বপূর্ণ ?
















প্রোগ্রামিং কতটা গুরুত্বপূর্ণ?

কম্পিউটার বিজ্ঞানের অনেক বড় একটা অংশ জুড়েই রয়েছে প্রোগ্রামিংয়ের দখল। প্রোগ্রামিং ছাড়া আমরা যদি কম্পিউটারকে কল্পনা করি তাহলে কম্পিউটার শুধুমাত্র একটা অপ্রয়োজনীয় বস্তু ব্যতীত আর কিছুই নয়। মানুষের যেমন জীবন না থাকলে কিছু করতে পারে না তেমনি প্রোগ্রাম ছাড়া কম্পিউটার দিয়েও কিছু করা সম্ভব না।

এখন আমাদের মনে প্রশ্ন জাগতে পারে যে প্রোগ্রাম ছাড়া কম্পিউটার দিয়ে কিছু করা সম্ভব নয় কেন?
প্রোগ্রাম ছাড়া কম্পিউটার দিয়ে কিছু করা সম্ভব নয় এইজন্য যে আমরা সাধারনত কম্পিউটারের পাওয়ার বাটন চাপার পর দেখি যে সুন্দর একটি গ্রাফিকাল উসার ইন্টারফেস ওপেন হয়। যার কল্যাণে আমরা এই সুন্দর গ্রাফিকাল উসার ইন্টারফেসটি দেখতে পাই তার নাম হচ্ছে অপারেটিং সিস্টেম।

হ্যা এই অপারেটিং সিস্টেমের জন্যেই আমরা মাউসে এবং কিবোর্ডে হাত রেখে অনেক সহজে কম্পিউটার ব্যবহার করে দৈনন্দিন জিবনের অনেক কাজ করে থাকি।
আমরা একবারও কি ভেবে দেখেছি যে আমাদের কম্পিউটার কিভাবে কাজ করে ? অপারেটিং সিস্টেম কিভাবে কাজ করে এবং অপারেটিং সিস্টেমটি কিভাবে এলো?
না আমরা কখনোই এইসব ভেবে দেখিনি।

অপারেটিং সিস্টেম কিভাবে কাজ করে তা ব্যখ্যা করা আমার উদ্দেশ্য না আমার উদ্দেশ্য হচ্ছে প্রোগ্রামিংয়ের গুরুত্য তোলে ধরা। যেহেতু অপারেটিং সিস্টেম মাঝে চলেএসেছে তাহলে আরেকটু না বল্লেই নয় । আমরা কম্পিউটারে যে অপারেটিং সিস্টেম দেখতে পাই এইসব অপারেটিং সিস্টেমগুলো তৈরি করা হয়েছে কম্পিউটার  প্রোগ্রামিং ব্যবহার করে। তাহলে নিশ্চয়ই আমরা অনুধাবন করতে পারছি যে প্রোগ্রামিংয়ের গুরুত্য কতখানি?

সহজ ভাষায় বলতে গেলে প্রোগ্রাম হচ্ছে মানুষ কত্রিক কম্পিউটারকে দেয়া নির্দেশ এবং এই নির্দেশের উপর ভিত্তি করেই কম্পিউটার বিভিন্য কজ করে থাকে।

আমরা কম্পিউটারে বিভিন্য সফটওয়্যার ব্যবহার করে থাকি ।বিভিন্য কাজের জন্য বিভিন্য সফটওয়্যার রয়েছে যেমন ভিডিও দেখার জন্য রয়েছে ভিডিও প্লেয়ার তেমনি অডিও গান শোনার জন্য রয়েছে  অডিও প্লেয়ার। এছারা আমরা কম্পিউটারে বিভিন্য গেইম খেলে থাকি।
এই ভিডিও গেয়াইমগুলি এবং অডিও, ভিডিও প্লেয়ারগুলি তৈরি করা হয়েছে কম্পিটার প্রোগ্রাম ব্যবহার করে। মোট কথা প্রোগ্রাম ছাড়া কম্পিউটারকে কল্পনাও করা জায়না।

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

আমরা মানুষ আমরা বিভিন্য ভাষার মাধ্যমে একজন আরেকজনের সাথে যোগাযোগ করে থাকি। আমরা একে অপরের সাথে যোগাযোগ করার জন্য যেমন বিভিন্য ভাষা রয়েছে । তেমনি কম্পিউটারেরও কিছু ভাষা রয়েছে এবং কম্পিউটার সেই ভাসাগুলো  বুঝতে পারে। যেমন সি, জাভা, পাইথন, সি++  ইত্যাদি। এই ভাসাগুলোকে প্রোগ্রামিং ভাষা বলা হয়। এই প্রোগ্রামিং ভাসাগুলো ব্যবহার করেই  কম্পিউটারকে বিভিন্য কাজের নির্দেশ দেয়া হয় এবং কম্পিউটার সেই নির্দেশ অনুযায়ী কাজ করে থাকে। কম্পিউটারের বিভিন্য সফটওয়্যারগুলি তৈরি করা হয় এইসব প্রোগ্রামিং ভাষাগুলি ব্যাবহার করে।

আশাকরি কম্পিউটার প্রোগ্রামিং কি এবং প্রোগ্রামিংয়ের গুরুত্য কতখানি তা ঠিকঠাক ভাবে বুঝাতে পেরেছি।

এখন প্রশ্ন হচ্ছে আমরা কপিউটার সাইন্সের ছাত্র হিসেবে অথবা অন্য কোন বিষয়ের ছাত্র হিসেবে আমাদের কম্পিউটার প্রোগ্রামিং শিখা কতটা জরুরী ?

আমরা জারা কম্পিউটার সাইন্সে পরাশোনা করি তারা হয়ত অনেক বড় হেকার হওয়ার অথবা সফটওয়্যার ডেভেলপার হওয়ার  অথবা রোবট তৈরি করার সপ্ন নিয়ে কম্পিউটার সাইন্সে পরাশোনা করতে এসেছি। আমরা যদি আমাদের এই শপ্নগুলুকে বাস্তবে রুপ দিতে চাই তাহলে আমাদের কম্পিউটার প্রোগ্রামিং শিখা ছাড়া এসব কিছুই করা সম্ভব নয়। কারন তুমি যদি মোবাইল এবং কম্পিউটারের জন্য সফটওয়্যার  অথবা কোন অয়েব এপ্লিকেশন বানাতে চাও অথবা তোমার বানানো রোবটকে তোমার কথা মত কাজ করাতে চাও তাহল তোমাকে অবশ্যই কম্পিউটার প্রোগ্রামিং জানতে হবে।

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

আর হে যদি এই পর্যন্ত পড়তে পড়তে  এশে থাকো তাহলে অবশ্যই কমেন্ট করে তোমার অনুভুতি শেয়ার করলে ভাল লাগবে। আর যদি লিখাটা হেল্পফুল হয় তাহলে অবশ্যই তোমার বন্ধুদের সাথে শেয়ার করবে।











Saturday, January 5, 2019

Java কেন শিখব ?

প্রোগ্রামিং শিখার খেত্রে আমাদের মনে প্রথমে যে প্রশ্নটি আসে সেটি হচ্ছে কোন প্রোগ্রামিং ভাষা দিয়ে শিখা শুরু করব? এই প্রশ্নটির উত্তর হচ্ছে যে কোন একটি প্রোগ্রামিং ভাষা দিয়ে শিখা শুরু করা।



তবে আমি ব্যক্তিগত ভাবে বলতে গেলে Java Programming ভাষাকেই সমর্থন করব। জাভা প্রোগ্রামিং ভাষা কেন আমরা শিখব তা নিচের লিখাটি পড়লেই পরিষ্কার হয়ে যাবে।

  1. Java শিখা খুবই সহজ ঃ জাভা খোব সুন্দর এবং খোবই সহজ একটি প্রোগ্রামিং ভাষা। অনেক ভাল প্রোগ্রামাররা প্রোগ্রামিং শিখার জন্য প্রথম প্রোগ্রামিং ভাষা হিসেবে জাভা দিয়ে শিখা শুরু করতে বলে থাকেন, এর একটাই কারন জাভা খোবই সহজ প্রোগ্রামিং ভাষা। জাভা প্রোগ্রামিং ভাষার গঠন খোবই সহজ এবং সাবলীল।
  2. Java খোবই শক্তিশালী প্রোগ্রামিং ভাষা ঃ
    জাভা হচ্ছে খোবই শক্তিশালী একটি প্রোগ্রামিং ভাষা । জাভা দিয়ে অনেক জটিল প্রোগ্রামিং সমস্যা অনেক সহজেই সমাধান করা যায়। জাভার প্রচুর পরিমাণে লাইব্রেরী Method , class , Data Structure এবং Built in Collections  রয়েছে যার মাধ্যমে খোব সহজ এবং সুন্দর প্রোগ্রাম লিখা যায় এবং অনেক জটিল সমস্যার সমাধান করা যায়।
  3. Java একটি Object Oriented প্রোগ্রামিং ভাসাঃObject Oriented হওয়ার কারনে জাভা প্রোগ্রামিং এর ধারনা খোবই বর্ণনাযোগ্য এবং সহজ।
    Object Oriented হচ্ছে একটি সফটওয়্যার সল্যুশন দৃষ্টান্ত, যার মাধ্যমে অনেক সহজে অনেক বড় বড় সফটওয়্যার ডিজাইন, সল্যুশন এবং বানানো হয়ে থাকে।
    সব থেকে বড় কথা হচ্ছে জাভা একটি পূর্ণ Object Oriented প্রোগ্রামিং ভাষা।
  4. Java  একটি সার্বজনীন প্রোগ্রামিং ভাষা ঃ
    জাভাকে সার্বজনীন প্রোগ্রামিং ভাষা বলার কারন হচ্ছে জাভা সব জায়গায় ব্যবহৃত হয় ।
    যেমন ঃ               ১  এন্ড্রোয়েড এপলিকেশন।
                  ২  ওয়েব অ্যাপ্লিকেশন।
                  ৩  গ্রাফিকাল ইউজার ইন্টারফেস অ্যাপ্লিকেশন।
                  ৪  এমবেডেড সিস্টেম।
                  ৫ বৈজ্ঞানিক এপলিকেশন।
                  ৬ এন্টারপ্রাইস এপলিকেশন।
                  ৭ ডেস্কটপ এপলিকেশন।
  5. পর্যাপ্ত শিখার উপকরণ ঃ
    জাভা প্রোগ্রামিং শিখার জন্য বাজারে অনেক ভাল বই পাওয়া যায় এবং অনলাইনে অনেক ভাল সাইট রয়েছে যেখানে বিনামূল্যে জাভা প্রোগ্রামিং শিখার পর্যাপ্ত তথ্য রয়েছে ।
    এছারাও YouTube এ অনেক ভাল বিভিন্ন ভাষার ভিডিও টিওটরিয়াল রয়েছে।

    এবং সবথেকে বর কথা হচ্ছে জাভা প্রোগ্রামিং এর ডকুমেন্টেশন খোবই বড় এবং তথ্যবহুল । নিজেকে একজন ভাল জাভা প্রোগ্রামার হিসেবে গরে তোলতে, জাভা ডকুমেন্টেশন অনুসরণ করা খোবই গুরুত্বপূর্ণ।
  6. আধুনিক শক্তিশালী Development Tools :
    জাভা প্রোগ্রামিং এবং ডেভেলোপমেন্টের জন্য রয়েছে আধুনিক এবং শক্তিশালী সব IDE (integrated development environment) যার মাধ্যমে অনেক সহজে জাভা প্রোগ্রাম লিখা যায় এবং শক্তিশালী এপলিকেশন বানানো যায়।
    যেমন ঃ
                   ১. Eclips
                   ২ Netbeans
                   ৩ intellij idea
  7. বিশাল জাভা প্রোগ্রামার সম্প্রদায় ঃ
    সারা বিশ্যে ১০ মিলিয়নের বেশি জাভা ডেভেলোপার রয়েছে । বিভিন্য Facebook Group এবং Online এর বিভিন্য সাইট রয়েছে যেখানে অনেক ডেভেলোপাররা জাভা প্রোগ্রামিং বিষয়ক বিভিন্য লিখালিখি এবং বিভিন্য সমস্যা নিয়ে কথা বলে থাকেন এবং সমাধান দিয়ে থাকেন।তাছারা ইচ্ছে করলে তাদের সাথে বিভিন্য সমস্যা নিয়ে আলোচনা করারও সুযোগও রয়েছে।
    এবং সবথেকে মজার বিষয় হচ্ছে প্রোগ্রামাররা একজন আরেকজনকে সাহাজ্য করতে কখনোও দ্বিধা বোধ করে না।
    YouTube এ অনেক চেনেল রয়েছে যেখানে অনেক টিওটরিয়াল ভিডিও পাওয়া যায় জেগুলু একজন নতুন জাভা প্রোগ্রামেরকে সাহায্য করে তার প্রোগ্রামিং দখতা বারাতে।
  8. বাস্তব জিবনে জাভার কিছু উদাহরণ ঃ 
    Facebook, Amazon, LinkedIn এর মত জনপ্রিয় সাইটগুলু ডেভেলপমেন্ট করতে বিভিন্য জায়গায় জাভা ব্যবহৃত হয়ছে।
    এন্ড্রোয়েড অপারেটিং সিস্টেম ডেভেলোপ করতে বেশিরভাগ জায়গায় জাভা প্রোগ্রামিং ব্যবহার করা হয়েছে।
    তাছারা কিছুদিন আগেও এন্ড্রোয়েড অ্যাপ্লিকেশন তৈরিতে শুধুমাত্র জাভা প্রোগ্রামিং ব্যবহৃত হত।
  9. চাকুরি শুভিধা ঃ 
    সবশেষে বলতে গেলে জাভা প্রোগ্রামিং শিখলে অনেক চাকুরি শুভিধা রয়েছে ।






                   

Sunday, December 2, 2018

Java Code to count all set bit of any number in its binary representation. || JAVA

Following method take one parameter and return an integer value (number of set bit of its binary representation)


public static int getBits(int n) {
    int count = 0;
    while (n > 0)
    {
        count += n & 1;
        n >>= 1;
    }
    return count;
}

Friday, April 6, 2018

এরে থেকে কিভাবে ভেলু ডিলিট করতে হয় ।

ধরি একটি এরে দেওয়া আছে  যার ভেলু হচ্ছে  {1, 2, 3, 3, 4, 3, 3} । এবং বলা হল এরেটিতে যতগুলু  3  আছে প্রতিটি  3  ডিলিট করতে হবে ।

এখন আমরা দেখব এই সমস্যাটিকে জাভা প্রোগ্রামিংয়ের মাধ্যমে কিভাবে সমাধান করা যায় । অবস্য এই প্রক্রিয়াটি অন্যান্য প্রোগ্রামিং ভাষায়ও কাজ করবে ।

এই ক্ষেত্রে আমাদের এরেটি হচ্ছে ,

int[] Array = {1, 2, 3, 3, 4, 3, 3}

এবং যে ভেলুটি এরে থেকে ডিলিট করতে হবে সেটি হচ্ছে ,

value = 3

নিচের প্রোগ্রামটি লক্ষ্য করলেই বিসয়টি পরিষ্কার হয়ে যাবে ,

public class DeletElementFromArray {
    public static void main(String[] args){
        int[] a = {1,2,3,3,4,3,3};
        int valueToBeDelet = 3;
        int len = a.length;
        for(int i=0; i<len; i++){
            if(a[i] == valueToBeDelet){
                for(int j=i; j<len-1; j++){
                    a[j] = a[j+1];
                }
                len--;
               i--;
            }
        }
        for(int i=0; i<len; i++){
            System.out.print(a[i] +" ");
        }
        System.out.println();
    }
}

জাভা প্রোগ্রামটির প্রথমে আমরা আমাদের এরেটি এবং যে ভেলুটি ডিলিট করতে হবে তা ডিক্লেয়ার করে নিয়েছি । তারপর একটি Integer টাইপের variable এর ভিতরে এরের আয়তন নিয়েছি । তার পরের লাইনে একটি for loop ঘুরিয়েছি এরের প্রতিটি ভেলু আমাদের যে ভেলুটি ডিলিট করতে হবে তার সাথে মিলে কিনা দেখার জন্য যদি আমরা আমাদের যে ভেলুটি ডিলিট করতে হবে তার সাথে এরের কোন ভেলুর মিল পাই তাহলে আমরা ওই ভেলুটিকে এরে থেকে ডিলিট করতে হবে।

তার পরের লাইনে  if condition এর মাধ্যমে আমাদের ভালুটির সাথে এরের প্রতিটি ভেলু মিলিয়ে ্দেখা হচ্ছে তাদের মাঝে মিল আছে কিনা যদি মিল খোঁজে পাই তাহলে if condition এর ভিতরের statement কাজ করবে অন্যথায় if condition এর ভিতরের  statement কাজ করবে না।

যদি if condition সত্য হয় তাহলে এরের যে index এর ভিতর ভেলুটি পাওয়া গিয়েছে সেই index এর ভিতর পরের index এর ভেলু কে প্রতিস্থাপন করা হচ্ছে।

এইভাবে যতক্ষণ ভেলুটি পাওয়া যাবে ততক্ষণ একইভাবে প্রতিস্তাপন প্রক্রিয়া চলতে থাকবে এবং এক পর্যায়ে আমাদের কাজ সম্পন্ন হবে । 

সবশেষে আমি বলতে চাই যে প্রোগ্রামটি  ১০০% সঠিক না ও হতে পারে তবে আমি যেই ইনপুটগুলু দিয়ে যাচাই করেছি প্রত্যেকটিতেই কাজ করেছে । কারো কাছে এর চেয়ে ভাল সমাধান থাকলে অবশ্যই comment এ share করবেন এবং প্রোগ্রামটিতে ভুল থাকলে জানাবেন। ধন্যবাদ।



Saturday, March 17, 2018

জাভা ডাটা টাইপ ।

জাভা ডাটা টাইপ ।


ডাটা টাইপ ঃ

প্রোগ্রামিংয়ে আমরা সবসময় বিভিন্ন ধরনের ডাটা নিয়ে কাজ করে থাকি । এই বিভিন্ন ধরনের ডাটাকে ডাটা টাইপ বলা হয়।




















জাভা তে ২ ধরনের ডটা টাইপ বিদ্যমান 
  1. Primitive Data Types
  2. Non-Primitive Data Type

Primitive ডাটা টাইপ ঃ

  • Boolean
  • char
  • byte
  • short
  • int
  • long
  • float
  • double










boolean :

boolean টাইপের ডাটা শুধুমাত্র true  এবং  false এই দুই ধরনের ডাটা নিয়ে কাজ করতে পারে । এই ক্ষেত্রে  true  এর ভেলু হয়  1  এবং  false  এর ভেলু হয়  0 । boolean  ডাটা টাইপের সাইজ ৮ বিট ।

char :

char টাইপের ডাটা শুধুমাত্র character টাইপের value নিয়ে কাজ করতে পারে যেমন , a, b, c ইত্যাদি।

byte :

এটি হচ্ছে signed integral data type । এটি Integer টাইপের ডাটা ধারন করে । এবং এর সাইজ হচ্ছে ৮ বিট ।

short :

এটিও একটি signed integral data type এবং এর সাইজ ১৬ বিট ।

int :

এটিও একটি signed integral data type এবং এর সাইজ 32 বিট , এবং এটি signed  নাম্বার ডারন করে।
যেমন ঃ   1 , 44, 100 etc

long : 

এই ডাটা টাইপের  সাইজ হচ্ছে ৬৪ বিট , এবং এটি  int  ডাটা টাইপের মতো Integer Value ধারন করে।

float : 

দশমিক যুক্ত সংখ্যা প্রকাশের জন্য float টাইপের ডাটা ব্যবহৃত হয়। এই টাইপের ডাটার সাইজ হয়ে থাকে ৩২ বিট। উদা ঃ 10.33 ,  33.100 etc ।

double : 

এটিও টাইপের ডাটার মতো দশমিকযুক্ত সংখ্যা ধারন করে । এবং এর সাইজ হচ্ছে ৬৪ বিট। 
 যেমন 234.2222222



আমার প্রথম জাভা প্রোগ্রাম।

একটি সাধারন জাভা প্রোগ্রাম লিখা ।

এখন আমরা একটি সাধারন জাভা প্রোগ্রাম লিখব যেটি আমাদেরকে  Hello Java!  প্রিন্ট করে দেখাবে ।

জাভা প্রোগ্রাম লিখা এবং চালানোর জন্য অনেক IDE রয়েছে তাদের মধ্যে 
  • Eclipse
  • Netbeans
  • intellij idea
যে কোন একটা ব্যবহার করা জেতে পারে ।

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


উপরের প্রোগ্রামটি লিখে রান করালে কম্পাইলার আউটপুট হিসেবে  Hello Java!  দেখাবে ।

আমরা তো আমাদের প্রথম জাভা প্রোগ্রাম লিখে ফেললাম । এখন চলুন জাভা প্রগ্রামটিকে সুন্দর ভাবে বুঝে ফেলি।

  • class  কি ওয়ার্ডটি  জাভা তে  class  ডিক্লেয়ার করতে ব্যবহৃত হয়ে থাকে।
  • public  হছে  access modifier  ।
  • static হচ্ছে একটি কি ওয়ার্ড  কোন মেথড এর পূর্বে  static  ব্যবহার করলে তাকে static method বলে।
  • void  হচ্ছে main method  এর  return  টাইপ ।
  • main  দ্বারা বুঝানো হচ্ছে যে প্রোগ্রামটি এখান থেকে চলা শুরু করবে ।
  • String[] args  কমান্ড লাইন আর্গুমেন্ট হিসেবে ব্যবহৃত হয়েছে ।
  • System.out.println() এই লাইন্টি স্ট্যান্ডার্ড আউটপুট দেখাতে ব্যবহৃত হয়েছে ।

জাভা কি ?

জাভা কি?

জাভা হচ্ছে একটি প্রোগ্রামিং ভাষা এবং একটি  Platform ।
জাভা একটি উচ্চ স্তরের, শক্তসমর্থ, নিরাপদ এবং অবজেক্ট-ওরিয়েন্টেড  প্রোগ্রামিং ভাষা।


প্ল্যাটফর্ম  ঃ 

যে হার্ডওয়্যার বা সফ্টওয়্যারের একটি প্রোগ্রাম চালায়, এটি একটি প্ল্যাটফর্ম  । জাভা এর নিজস্ব প্ল্যাটফর্ম রয়েছে । Java runtime environment (JRE)  এবং  API   হচ্ছে জাভার প্ল্যাটফর্ম  । জাভা হচ্ছে প্ল্যাটফর্ম  নিরপেক্ষ অর্থাৎ জাভা প্রোগ্রাম যে কোন প্ল্যাটফর্মেই লিখা হোক না কেন এটি সকল ধরনের প্ল্যাটফর্ম এ চলতে পারে । যেমন আমরা যদি এক ধরনের অপারেটিং সিস্টেম এ একটি জাভা প্রোগ্রাম লিখি সেটি যে কোন অপারেটিং সিস্টেমেই চলবে। কারন জাভা প্রোগ্রাম চলার জন্য ব্যবহৃত হয়  (JVM) Java Virtual Machine .

জাভা উদাহরণ ঃ

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

উপরের জাভা প্রোগ্রামটি কিভাবে কাজ করছে এবং কোন জিনিসটা কি বিস্তারিত জানার জন্য https://saifulislam007.blogspot.com/2018/02/blog-post.html এই লিংকে গিয়ে লিখাটি পরলে বিসয়টি পরিষ্কার হয়ে যাবে।

জাভা কোথায় ব্যবহার করা হয় ?

  1. Desktop Applications.
  2. Web Applications. example: javatpoint.com
  3. Enterprise Applications such as banking applications.
  4. Mobile such as Android applications.
  5. Smart cards.
  6. Robotics.
  7. Games.

Tuesday, March 6, 2018

String

public static void main(String[] args){

        // create string with the constructor of string class and print the string
        System.out.println("Example of declearing string : \n");
        String str = "I am a constractor string";
        String str1 = new String("I am also a constructor string");
        System.out.println(str + "\n" + str1  +"\n");


        System.out.println("How to find length of a string : \n");
        // how to find length of a constructor
        //using length(); method we can find length of any string
        String str3 = "Can you find my length please ?";
        int len = str3.length();
        System.out.println("The length of 'str3' is "+ len +"\n");


        System.out.println("How to Reverse a string : \n");
        //how to reverse a string
        //we can reverse a string using ' reverse() ' method
        // reverse() is a method of StringBuffer class
        StringBuffer str4 = new StringBuffer("Reverse me");
        System.out.println("Original string is -> "+ str4);
        String str5 = str4.reverse().toString();
        System.out.println("The string after reverse is -> "+ str5 +"\n");


        System.out.println("How to Iterate every element of a string : \n");
        // to iterate any strings element we need " charAt() " method
        String str6 = "Saiful";
        //print string element individually with a new line
        for(int i=0; i<str6.length(); i++){
            System.out.println(str6.charAt(i));
        }
        System.out.println();

        System.out.println("How to remove all whitespace before a string (using trim()) method : \n");
        //we can do it using trim() method
        String str7 = "    Mukta";
        System.out.print("The string before removing whitespace : ->"+ str7 +"\n");
        System.out.println("The string after removing whitespace : ->"+ str7.trim() +"\n");


        System.out.println("How to break a string into tocken :");
        // bye using " StringTokenizer " class we can break a string into tocken
        /* if a string is " My name is mukta " then it will break into 3 word like
            (1) My
            (2) name
            (3) is
            (4) mukta
        */
        //for that we need a string of stringtokenizer class and hasMoreToken() and nextToken() method
        StringTokenizer str8 = new StringTokenizer("My name is mukta");
        while(str8.hasMoreTokens()){
            System.out.println(str8.nextToken());
        }
        System.out.println();

    }

Thursday, February 22, 2018

একটি জাভা প্রোগ্রামের সাধারণ গঠন ।

আমার এই লিখাটিতে আমি একটি অতি সাধারণ জাভা প্রোগ্রামের গঠন নিয়ে আলোচনা করব ।

  • উদাহরন 
           public class Hello{

public static void main(String[] args){
System.out.println("Hello Java"); } }

উপরের জাভা প্রোগ্রামটিতে লক্ষ্য করলে আমরা যে যে প্রধান বিষয়গুলু দেখতে পাই তা হল

  1. public class Hello{}
  2. public static void main(String[] args){}
  3. System.out.println("Hello Java");

  1. প্রোগ্রামটির প্রথমেই আমরা যে লিখাটি দেখতে পাই সেটি হল public class Hello{}। এখানে
  2. public class Hello লিখাটি Hello নামের একটি সর্বজনীন class সৃষ্টি করে । তারপর আমরা দেখতে পাই দুটি {} দ্বিতীয় বন্ধনী , যেটি class এর ভিতরের সকল নির্দেশনা গুলুকে একসাথে আবধ্য রাখে ।

  3. দ্বিতীয়ত প্রোগ্রামটিতে আমরা যে বিসয়টি লক্ষ্য করতে পারি সেটি হল public static void main(String[] args)। আমরা সবাই জানি যে প্রতিটা জাভা প্রোগ্রামে একটি main method থাকা অত্যাবশ্যকীয় । হে এটি ই হচ্ছে আমাদের উদাহরণের প্রোগ্রামটির main method । যেখানে public শব্দটি বুঝাচ্ছে এই method টি কে অন্য যে কোন class থেকে ব্যবহার করা যাবে। এবং static শব্দটি দিয়ে বুঝানো হয়েছে যে এটি একটি স্থির method । তারপর main() হচ্ছে একটি method যেখান থেকে প্রোগ্রামটি চলা শুরু করে।
  4. তারপর main method এর ভিতরে আমরা আরেকটি লাইন লক্ষ্য করি যেটি হল System.out.println(); । এই লাইনটি তে System হচ্ছে একটি final class এবং out হচ্ছে System class এর static member । তারপর println হচ্ছে একটি method যেটি একটি নতুন লাইন সহ text প্রিন্ট করে এবং write() method কে call করে এবং output দেখায় । এবং আমরা System.out.println(); এর মাধ্যমে যে text দেখাতে চাই সেটি প্রথম বন্ধনীর ভিতরে inverted comma এর ভিতরে লিখতে হয় । যেমন প্রোগ্রামটি তে আমরা "Hello Java" লিখেছি ।

লিখাটি পরার জন্য ধন্যবাদ ।

Monday, January 22, 2018

জাভা দিয়ে কি কি এপ্লিকেশন বানানো যায় ?

জাভা এপ্লিকেশনের প্রকারভেদ ঃ

There are mainly 4 types of applications that can be created using java programming:

1) Standalone Application

It is also known as desktop application or window-based application. An application that we need to install on every machine such as media player, antivirus etc. AWT and Swing are used in java for creating standalone applications.

2) Web Application

An application that runs on the server side and creates dynamic page, is called web application. Currently, servlet, jsp, struts, jsf etc. technologies are used for creating web applications in java.

3) Enterprise Application

An application that is distributed in nature, such as banking applications etc. It has the advantage of high level security, load balancing and clustering. In java, EJB is used for creating enterprise applications.

4) Mobile Application

An application that is created for mobile devices. Currently Android and Java ME are used for creating mobile applications.

জাভা কোথায় কোথায় ব্যবহার করা হয় ?

 জাভা ব্যবহৃত হয়  ঃ

  1. Desktop Applications such as acrobat reader, media player, antivirus etc.
  2. Web Applications such as irctc.co.in, javatpoint.com etc.
  3. Enterprise Applications such as banking applications.
  4. Mobile
  5. Embedded System
  6. Smart Card
  7. Robotics
  8. Games etc.

Tuesday, January 16, 2018

অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং জাভা শেখার পর কি সকল এনড্রয়েড সফ্টঅয়্যার তৈরি করা যায়?

অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং জাভা শেখার পর সকল এনড্রয়েড সফ্টঅয়্যার তৈরি করা যায়?

উত্তর ঃ
-- Android Apps তৈরির জন্য Java Programming language জানা আবশ্যক। তবে শুধু Java Programming language এর syntax জানলে হবে না। কারন Java just একটা language না; একটা echo-system. জাভা program কিভাবে রান করে, JVM কি, কিভাবে Memory management / garbage collection হয়, সেসব বিষয়ে idea থাকতে হবে। আরো অনেক বিষয় আছে। সবচেয়ে ভালো হয়, Effective Java - Second Edition (by Joshua Bloch) [2008] বই টা পুরাটা বুঝে পড়তে পারলে। এখানে জাভার বিভিন্ন বিষয় অনেক সুন্দর ভাবে বলা আছে।
নাকি অরও কোনো বিষয় জানতে হবে?
Java বাদেও আরো অন্যান্য কিছু বিষয়ে ভালো concept/understanding থাকা লাগবে; যেমন:
  1. XML
  2. Build System - Gradle
  3. Networking (e.g. HTTP...request, response, GET/POST/PUT/DELETE)
  4. Design Pattern
  5. Operating System basics (Process/Thread/File System ইত্যাদি)
  6. বিভিন্ন architectural pattern (e.g. MVC/MVVM)
  7. Linux (জানা থাকলে ভালো; আবশ্যক না; recommended)

প্রশ্ন উত্তর

প্রশ্ন উত্তর

Wednesday, December 6, 2017

How to delete a specific character and sort all the value and delete duplicate value from a string ? in c++

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    s.erase(remove(s.begin(),s.end(), ' '),s.end());
    sort(s.begin(), s.end());
    s.erase(unique(s.begin(), s.end()), s.end());

    cout<<s<<endl;

return 0;
}

Wednesday, November 15, 2017

How to set all of the element of an array as 0 in c++ programming

Using memset keyword we can set 0 for all index of an array .

we can don  it in two different way

1 .
    int  array[5] = {0,0,0,0,0};

2 .
   #include<bits/stdc++.h>
using namespace std;
int main()
{
    int array[5];

    memset(a, 0, sizeof(a));    // This is the line where we set 0 as value for all index of the array

    for(int i=0; i<5; i++){
        cout<<" "<<array[i];
    }
    cout<<endl;

    return 0;
}

Tuesday, November 14, 2017

C++ program to Calculate Factorial Using Recursion

    This program takes a positive integer from user and calculates the factorial of that number. Suppose, user enters 6 then,
Factorial will be equal to 1*2*3*4*5*6 = 720
You'll learn to find the factorial of a number using a recursive function in this example.
If you face any problem with the code please put your question into the comment box below....

    #include <bits/stdc++.h>

    using namespace std;

    int factorial(int n) {
        if(n > 1)
            return n * factorial(n-1);
        else
            return 1;
    }
    int main() {
        int n;
        cin >> n;
        int result = factorial(n);
        cout << result << endl;
        return 0;
    }

Monday, November 13, 2017

Stringstream in c++ and its operator and method...

stringstream is a stream class to operate on strings. It basically implements input/output operations on memory (string) based streams. stringstream can be helpful in different type of parsing. The following operators/functions are commonly used here
  • Operator >> Extracts formatted data.
  • Operator << Inserts formatted data.
  • Method str() Gets the contents of underlying string device object.
  • Method str(string) Sets the contents of underlying string device object.
Its header file is sstream.

Sunday, November 12, 2017

ডাটা স্ট্রাকচার কি ?

ডাটা স্ট্রাকচার কোন নির্দিষ্ট প্রোগ্রামিং ভাষা নয় । প্রোগ্রামিংইয়ে  ডাটা  নিয়ে  কাজ  করতে  ডাটা স্ট্রাকচারের  বিকল্প  নেই ।

ডাটা স্ট্রাকচার সাধারণত  দুই  ধরনের  ...
    ১  রৈখিক ।  ( Linear )
             Linear Array  হচ্ছে  রৈখিক  ডাটা  স্ট্রাকচার  এর  একটি  উদাহরণ । কারন  লিনিয়ার  Array                 তে  ডাটা  রৈখিক  ভাবে  অবস্থান  করে  ।

    ২ অরৈখিক । ( Non-linear )
             ট্রি  ,  গ্রাফ  হলো  অরৈখিক  ডাটা  স্ট্রাকচারের  উদাহরণ ।

প্রোগ্রামিং  এ  প্রোগ্রামারদের  সারাক্ষণই  বিভিন্ন  ডাটা  নিয়ে  কাজ  করতে  হয় । প্রোগ্রাম  দ্রুত  কাজ  করার  জন্য  এবং  প্রোগ্রামের  মেমোরি  কমিয়ে  আনার  জন্য  আমাদের  ডাটা  স্ট্রাকচার  সম্পর্কে  ভাল  জ্ঞান  থাকা  প্রয়োজন  ।

ডাটা  স্ট্রাকচার  নিয়ে  একটি  সম্পূর্ণ  ধারাবাহিক  লিখা  প্রকাশিত  হবে  ।



Wednesday, October 18, 2017

Deque in C++ (STL container)

What is deque ? how to insert and delete value from deque


A deque is a double ended queues sequence container of expresion and contraction with both the
ends. they are similar to vectors but are more efficient in case of insertion and deletion
and other opperation.

Deque diclaretion -->

                   std::deque <data type> deq;


Insertion >>

#include<bits/stdc++.h>
using namespace std;
int main()
{
    deque <int> dq;
    dq.push_back(10);
    dq.push_front(20);
    dq.push_back(11);
    dq.push_front(21);

    cout<<"Deque elements are : "<<endl;

    for(int i=0; i<dq.size(); i++)
    {
        cout<<dq[i]<<" ";
    }
    cout<<endl;
    return 0;
}


Deletion >>>

#include<bits/stdc++.h>
using namespace std;
int main()
{
    deque <int> dq;
    dq.push_back(10);
    dq.push_front(20);
    dq.push_back(11);
    dq.push_front(21);

    cout<<"Deque elements are : "<<endl;

    for(int i=0; i<dq.size(); i++)
    {
        cout<<dq[i]<<" ";
    }
    cout<<endl;

    dq.pop_back();
    dq.pop_front();

    cout<<"Deque elements after deletion are : "<<endl;

    for(int i=0; i<dq.size(); i++)
    {
        cout<<dq[i]<<" ";
    }
    cout<<endl;
    return 0;
}

কম্পিউটার প্রোগ্রামিং শেখা কতটা গুরুত্বপূর্ণ ?

প্রোগ্রামিং কতটা গুরুত্বপূর্ণ? কম্পিউটার বিজ্ঞানের অনেক বড় একটা অংশ জুড়েই রয়েছে প্রোগ্রামিংয়ের দখল। প্রোগ্রামিং ছাড়া আমর...