Tuesday, January 21, 2014

Java Tutorial 8

Java Tutorial 8(String)

Java မွာ “string” ဆိုတဲ့ variable type တစ္မ်ိဴးရွိပါတယ္၊ သူ႔ကတကယ္ေတာ့ java library ရဲ႕ class တစ္ခုပါပဲ။ character sequence (စကားလံုးအစဥ္တန္း) သို႔မဟုတ္ စာသား ကိုသိမ္းတဲ့ေနရာမွာ string ကိုသံုးပါတယ္။ String ကိုဒီလို String message = “Have a nice day”; အသံုးျပဳရပါတယ္။ string variable ရဲ႕တန္ဖိုးကို “ ” အတြင္းထည့္ေပးရပါတယ္။ ဒီ string variable ရဲ႕တန္ဖိုးကို System.out.print() နဲ႔ထုက္ၾကည့္မယ္ဆိုရင္ စာသားေတြထြက္လာမွာပါ။ String ဟာ java library ရဲ႕ class တစ္ခုျဖစ္တာေၾကာင့္ new နဲ႔ေၾကာ္ျငာလို႔ရပါတယ္၊ ဒီလိုပါ String message = new String(“Have a nice day”); အဲဒီလိုေၾကာ္ျငာလို႔လည္းရပါတယ္။

ဒီ java class ျဖစ္တဲ့ string မွာ function (method) ေတြ member variable ေတြအမ်ားႀကီးရွိပါတယ္၊ member function ႏွင့္ member variable အေၾကာင္းကိုေတာ့ေနာက္မွ အေသးစိတ္ရွင္းျပပါမယ္။ ေလာေလာဆယ္သိထားရမွာက string ရဲ႕ ဘယ္ function ေတြကိုသံုးရင္ဘာေတြျဖစ္တယ္ ဘာေတြလုပ္တယ္ဆိုတာပါပဲ။ string ရဲ႕အရွည္ တစ္နည္းေျပာရရင္ string ထဲမွာပါတဲ့ စကားလံုးအေရအတြက္၊ အဲဒါကိုသိခ်င္ရင္ .length() လို႔ေရးရပါမယ္၊ နမူနာကိုၾကည့္ပါ။

String message = “have a nice day”;

int len = message.length();

System.out.println(len);

 

ဒီနမူနာကုဒ္ကို run ၾကည့္ရင္အေျဖ 15 လို႔ထြက္ပါလိမ့္မယ္၊ သူက “have a nice day” ဆိုတဲ့စာသားကိုေရတြက္လိုက္တာပါ၊ space ေတြကိုပါထည့္သြင္းေရတြက္ပါတယ္။ တကယ္လို႔ “I like java” ဆိုတဲ့စာသားကိုေရတြက္မယ္ဆိုရင္ 11 ဆိုတဲ့အေျဖထြက္လိမ့္မယ္။ ေအာက္မွာေနာက္ထပ္ နမူနာ program တစ္ပုဒ္ထက္ေပးထားပါတယ္။

“StringSample.java”

public class StringSample {

public static void main(String[] args) {

String str1 = “this is string”;

System.out.println(str1.length());

String str2 = “I like java”;

System.out.println(str2.length());

}

}

String ႏွစ္ခုကိုေပါင္းစပ္လို႔ရပါတယ္၊ str1.concat(str2); လို႔ေရးရပါတယ္။ + ကိုသံုးလည္းရပါတယ္၊ str1 + str2; အဲလိုေရးရမွာပါ။ နမူနာကုဒ္ကိုစမ္းၾကည့္ပါ။

String str1 = “Hello ”;

String str2 = “World”;

String str3 = str1.concat(str2);

System.out.println(str1);

System.out.println(str2);

System.out.println(str3);

System.out.println(str1+str2);

String ကေနတျခား variable ေတြျဖစ္တဲ့ Byte, Integer, Double, Float, Long ႏွင့္ Short တို႔ကိုေျပာင္းခ်င္ရင္၊ ေျပာင္းခ်င္တဲ့ variable type ေနာက္ကေန .parse….(var) လို႔ေရး လက္သည္းကြင္းထဲမွာ ေျပာင္းခ်င္တဲ့ variable ကိုထည့္ေပးရပါတယ္။

String str = “11”;

int a = Integer.parseInteger(str);

float b = Float.parseFloat(str);

 

Number ေတြကေန String ကိုေျပာင္းခ်င္ရင္ String.valueOf(var) လို႔ တြန္႔ကြင္းထဲမွာ variable ကိုထည့္ေရးရပါတယ္။

int a = 11;

String str = String.valueOf(a);

ဒီလိုလည္းေရးလို႔ရေသးတယ္။

long b = 11;

String strb = Long.toString(b);

 

String ႏွစ္ခုကိုႏွိဳင္းယွဥ္တဲ့အခါ “==” ဆိုတဲ့ operator ကိုမသံုးရပါဘူး၊ ဒီလို str1.equals(str2); မ်ိဴးေရးရပါမယ္။

String str = “Hello”;

if(str.equals(“Hello”)){

 

} else if(“Hello”.equals(str)) {

 

}

တကယ္လို႔ ကိုယ္ႏွိဳင္းယွဥ္တဲ့ string ႏွစ္ခုမွာ စာလံုးအႀကီးအေသးကို ထည့္သြင္းၿပီးမႏွိဳင္းယွဥ္ခ်င္ရင္ ဒီလို str1.equalsIgnoreCase(str2); ေရးရပါမယ္။

String ထဲမွာပါဝင္တဲ့ စကားလံုးေတြဟာ ကိုယ္ပိုင္ “တည္ေနရာ”(position) ရွိၾကပါတယ္။ ဒီ string ကိုၾကည့္ပါ “Hello” ဒီမွာ “H” ဆိုတဲ့စကားလံုးဟာ position 0 (position zero) ေနရာမွာရွိပါတယ္၊ “o” စကားလံုးဟာ ၄ ေနရာမွာ(position 4) ရွိပါတယ္။ charAt(2) ဆိုတာ position 2 မွာရွိတဲ့စကားလံုးကို ဆြဲထုတ္လိုက္တာပါ။

String str = “Tell me something”;

char a = str.charAt(3);

System.out.println(a);  //output is “l”

System.out.println(str.charAt(5));  //output is “m”

 

String Builder

String အပိုင္းအစေတြကို ခဏခဏေပါင္းစပ္ေနမယ္ဆိုရင္ အခ်ိန္ၾကာပါတယ္၊ ဒီေနရာမွာ string builder ဆိုတဲ့ class ကိုသံုးသင့္ပါတယ္။ string builder နဲ႔ဆိုရင္ string ကို ေပါင္းစပ္လို႔ရတယ္၊ string ထဲကအစိတ္အပိုင္းတစ္ခုကို ဖ်က္လိုက္လို႔ရတယ္၊ အစားထိုးလို႔ရတယ္၊ string ကိုေျပာင္းျပန္လွန္လို႔ရတယ္၊ string ထဲကကိုယ္ႀကိဳက္တဲ့ေနရာမွာရွိတဲ့ character (စကားလံုးကို) ဆြဲထုတ္လို႔ရတယ္။ append() ဆိုတာ string ကိုေနာက္ကေနေပါင္းထည့္တာပါ။

char ch = “H”;

String str = “ello”;

StringBuilder builder = new StringBuilder();

builder.append(ch); // appends a single character

builder.append(str); // appends a string

String completedString = builder.toString();

System.out.println(completedString);

 

reverse() ဆိုတာ string ကိုေျပာင္းျပန္လွန္တာပါ။ ေနာက္ထပ္နမူနာ တစ္ခုပါ။

public class StringBuilderDemo {

public static void main(String[] args) {

String palindrome = "Dot saw I was Tod";

StringBuilder sb = new StringBuilder(palindrome);

sb.reverse();  // reverse it

System.out.println(sb);

}

}

 

StringBuilder အေၾကာင္းကို documention ဖတ္ၿပီးမိမိဘာသာဆက္လက္ ေလ့လာၾကည့္ပါ။

Previous : Java Tutorial 7

Next : Java Tutorial 9

2 comments:

  1. […] Java Tutorial 8breaking news for master thesis 20th batch of ucsyJava Tutorial 7Microsoft fixes Surface Pro 2 […]

    ReplyDelete
  2. […] Java Tutorial 9Samsung Tech Institute mobile app trainingJava Tutorial 8breaking news for master thesis 20th batch of ucsyJava Tutorial 7Microsoft fixes Surface Pro 2 […]

    ReplyDelete