Selasa, 03 April 2012

String


String mendefinisikan dan mendukung string karakter. Pada beberapa bahasa pemrograman string
merupakan array dari karakter, sedangkan di Java string merupakan object.
Membangun sebuah string (Contructing String)
Sebuah string dapat dibuat secara langsung dengan menulis :
String greeting = "Hello world!";
Pada contoh diatas, kata : "Hello world!" merupakan string litera, yaitu serangkaian karakter dalam
suatu penggalan program yang diapit oleh kutip ganda. Kapanpun ditemukan string literal dalam program, maka
compiler akan membentuk objek String dengan nilai yang terkandung didalamnya, pada contoh diatas adalah
Hello world!.
Membangun string juga seperti membangun object pada umumnya, yaitu dengan menggunakan
keyword new dan memanggil constructor String. Class String mempunyai 11 constructor yang memungkinkan
pemrogram untuk mendeklarasikan sebuah string dengan berbagai cara, contoh :
String str = new String (“Hello”);
Perintah diatas akan membuat object String dengan nama str yang berisi string karakter “Hello”. Dapat
juga membangun String dari String lainnya, contoh :
String str = new String (“Hello”);
String str2 = new String(str);
atau
char[] helloArray = { 'H', 'e', 'l', 'l', 'o', '.'};
String helloString = new String(helloArray);
System.out.println(helloString);
Program sederhana :
1. //Introduce String
2. class StringDemo {
3. public static void main (String args[]) {
4. //declare strings in various ways
5. String str1 = new String (“Java strings are objects.”);
6. String str2 = “They are constructed various ways.”;
7. String str3 = new String (str2);
8. System.out.println (str1);
9. System.out.println (str2);
10. System.out.println (str3);
11. } }
Output :
Java strings are objects.
They are constructed various ways.
They are constructed various ways.
Length string dan Concat String
int length() Menghasilkan panjang dari string, yaitu banyaknya karakter yang
menyusun string tersebut
string1.concat(string2); Berfungsi untuk menyambung 2 buah string
Contoh :
1. public class StringDemo {
2. public static void main(String[] args) {
3. //Mencari Panjang String
4. String palindrome = "Dot saw I was Tod";
5. int len = palindrome.length();
6. System.out.println ("Panjang String = " + len);
7.
8. //menggabungkan string
9. String str1 = "Belajar";
10. String str2 = " Bahasa";
11. String str3 = " Java";
12. String str4 = str1 + str2 + str3;
13. System.out.println("Hasil str4 = "+ str4);
14. System.out.println("Belajar".concat(" Bahasa").concat(" Java"));
15. } }
Output : Panjang String : 17
Hasil Str4 = Belajar Bahasa Java
Belajar Bahasa Java
Mencari karakter dan substring dengan index
char charAt(int index) Mengembalikan karakter dalam index yang dispesifikasikan oleh
index. indeks pertama = 0, dan indeks terakhir (str.length()-1)
Penggalan program berikut akan mengambil karakter yang berada pada index 9 dalam sebuah string :
String anotherPalindrome = "Niagara. O roar again!";
char aChar = anotherPalindrome.charAt(9);
maka, ilustrasi yang diperoleh :
Jika menginginkan untuk mengambil beberapa karakter, dapat digunakan perintah substring dibawah ini :
String substring (int beginIndex,
int endIndex)
Mengembalikan string baru, merupakan substring dari string.
argumen integer pertama menspesifikasikan indeks dari karakter
pertama, argumen integer kedua merupakan index dari karakter
terakhir + 1.
String substring(int beginIndex) Mengembalikan string baru, merupakan substring dari string.
argumen integer pertama menspesifikasikan indeks dari karakter
pertama hingga akhir string
Contoh penggalan program dan ilustrasi pengambilan karakter :
String anotherPalindrome = "Niagara. O roar again!";
String roar = anotherPalindrome.substring(11, 15);
Contoh :
1. class StringDemo {
2. public static void main (String args[]) {
3. String orgstr = "Java Makes the Web move";
4. String substr = orgstr.substring(5, 18);
5. String substr1 = orgstr.substring(5);
6.
7. System.out.println("orgstr : " + orgstr);
8. System.out.println("substr : " + substr);
9. System.out.println("substr1 : " + substr1);
10. } }
Output : orgstr : Java Makes the Web move
substr : Makes the Web
substr1 : Makes the Web move
Manipulasi String
String[] split(String regex)
String[] split(String regex, int
limit)
Pencarian untuk spesifikasi yang sesuai dengan argumen string
(yang mengandung ekspresi regular) dan memisahkan string ini
kedalam array dari string. Argumen integer optional
menspesifikasikan ukuran maksimum array yang dikembalikan
CharSequence
subSequence(int beginIndex,
int endIndex)
Mengembalikan untaian karakter yang dibangun dari beginIndex
hingga endIndex - 1.
String trim() Mengembalikan salinan dari string dengan menghapuskan spasi
diawal dan diakhir string
String toLowerCase()
String toUpperCase()
Mengembalikan salinan dari string dan mengubahnya menjadi
lowercase atau uppercase. Jika tidak menyebabkan perubahan,
maka akan mengembalikan nilai aslinya.
int indexOf(String str) Mencari string yang diminta untuk substring yang dispesifikasikan
oleh str. Mengembalikan index pertama yang sama atau –1 jika
salah
int lastIndexOf(String str) Mencari string yang diminta untuk substring yang dispesifikasikan
oleh str. Mengembalikan index terakhir yang sama atau –1 jika
salah
contoh :
1. public class StringDemo {
2. public static void main(String[] args) {
3. //ToUpper dan ToLower
4. System.out.println("HeLLo".toLowerCase());
5. System.out.println("HeLLo".toUpperCase());
6.
7. //Trim => menghilangkan bagian kosong didepan dan belakang
8. System.out.println(" Hello World ".trim());
9.
10. //indexOf dan lastIndexOf
11. String str1 = "Now is the time for all good men to come to the aid of their country.";
12.
13. System.out.println("Length of str1 : " + str1.length());
14. System.out. println("indexof ('t') : " + str1.indexOf('t'));
15. System.out. println("lastindexof ('t') : " + str1.lastIndexOf ('t'));
16. System.out. println("indexof (\"the\") : " + str1.indexOf("the"));
17. System.out. println("lastindexof (\"the\") : " + str1.lastIndexOf ("the"));
18. } }
Output : hello
HELLO
Hello World
Length of str1 : 69
indexof ('t') : 7
lastindexof ('t') : 65
indexof (\"the\") : 7
lastindexof (\"the\") : 55
Mengganti string/substring
String replace(char oldChar, char newChar) Mengembalikan hasil string dari penggantian seluruh rangkaian
karakter lama dengan karakter yang baru.
String replace(CharSequence target,
CharSequence replacement)
Mengganti setiap substring dari suatu string yang sesuai antara
urutan literal target dengan spesifikasi urutan literal pengganti
String replaceAll(String regex,
String replacement)
Mengganti setiap substring dari suatu string yang sesuai antara
ekspresi regular yang diberikan dengan penggantian yang
diberikan
String replaceFirst(String regex,
String replacement)
Mengganti awal substring dari suatu stringyang sesuai antara
ekspresi regular yang diberikan dengan penggantian yang
diberikan
Contoh :
1. public class StringDemo {
2. public static void main(String[] args) {
3.
4. //replace karakter
5. System.out.println("Hello".replace('l', 'w'));
6. } }
Output : Hewwo
Perbandingan string
int compareTo(String anotherString) Membandingkan 2 string secara lexicographikal.
Mengembalikan nilai yang mengindikasikan apakah string
tersebut lebih besar, (Hasil > 0), sama (hasil = 0), atau lebih
kecil (hasil < 0) dari pada argument.
int compareToIgnoreCase(String str) Membandingkan 2 string secara lexicographikal dengan
mengabaikan huruf besar/kecil. Mengembalikan nilai yang
mengindikasikan apakah string tersebut lebih besar, (Hasil >
0), sama (hasil = 0), atau lebih kecil (hasil < 0) dari pada
argument.
boolean equals(String str) Mengembalikan nilai true jika string yang diminta sama
dengan karakter dalam str
boolean equalsIgnoreCase(String Str) Mengembalikan nilai true jika dan hanya jika string yang
diminta sama dengan karakter dalam str dengan
mengabaikan huruf besar/kecil.
boolean endsWith(String suffix)
boolean startsWith(String prefix)
Mengembalikan nilai true jika string diawali atau diakhiri
dengan substring yang dispesifikasikan dalam argumen
boolean startsWith(String prefix, int offset)
Mempertimbangkan string yang diawali di index offset, dan
mengembalikan nilai true jika diawali dengan substring yang
dispesifikasikan dalam argumen.
boolean regionMatches(int toffset, String other,
int ooffset, int len)
Menguji apakah region yang dispesisikasikan pada string ini
sesuai dengan region yang dispesifikasikan pada string
dalam argumen.
Region adalah length len dan mulai pada index toffset untuk
string yang dimaksud dan ooffset untuk string lainnya.
boolean regionMatches(boolean ignoreCase, int
toffset, String other, int ooffset, int len)
Menguji apakah region yang dispesisikasikan pada string ini
sesuai dengan region yang dispesifikasikan pada string
dalam argumen.
Region adalah length len dan mulai pada index toffset untuk
string yang dimaksud dan ooffset untuk string lainnya
Argumen boolean mengindikasikan pengabaian karakter
besar/kecil
boolean matches(String regex) Menguji apakah string yang dimaksud sesuai dengan
ekspresi regular yang dispesifikasikan.
Contoh :
1. public class StringDemo {
2. public static void main(String[] args) {
3. String str1 = "budi";
4. String str2 = "budy";
5. int result;
6.
7. result = str1.compareToIgnoreCase(str2);
10. System.out.println("Hasil : " + result);
11. if(result < 0 ) System.out.println(str1 + " < " + str2);
12. else if(result > 0 ) System.out.println(str1 + " > " + str2);
13. else System.out.println(str1 + " = " + str2);
14. } }
Output : Hasil = -16
budi < budy
Contoh :
1. //Some string operation
2. class StrBuffer {
3. public static void main (String args[]) {
4. StringBuffer str = new StringBuffer ("Hello World");
5. System.out.println("buffer before = " + str);
6. System.out.println("charAt(1) before = " + str.charAt(1));
7. str.setCharAt(1, 'i');
8. str.setLength(2);
9. System.out.println("buffer after = " + str);
10. System.out.println("charAt(1) after = " + str.charAt(1));
11.
12. //Append
13. StringBuffer str1 = new StringBuffer (40);
14. int a = 2;
15. String S = str1.append("Hello ").append(a).append("-IA..!!!").toString();;
16. System.out.println(S);
17.
18. //Insert
19. StringBuffer str2 = new StringBuffer ("Hello World");
20. str2.insert(6, "there ");
21. System.out.println(str2);
22. }
23. }
Output :
buffer before = Hello World
charAt(1) before = e
buffer after = Hi
charAt(1) after = i
Hello 2-IA..!!!
Hello there World

Tidak ada komentar:

Posting Komentar