String
String Terdiri atas deretan karakter String diimplementasikan oleh java dalam bentuk class. Dapat langsung di konstruksi tanpa perintah new String namaVariable;
Dapat pula dikonstruksi dengan perintah new String namaVariable = new String(“data inisialisasi”);
Deklarasi dan Inisialisasi Deklarasi: String namaVariabel; String namaVariable = new String(“data inisialisasi”);
Inisialisasi namaVariable = “data string”; namaVariable = new String(“data inisialisasi”);
Konstruktor String Selain cara-cara diatas, String dapat dibentuk melalui
inisialisasi array karakter. Contoh: char kata[] = {‘h’, ’a’, ’l’, ’l’, ’o’}; String s1 = new String (kata); String s2 = new String (kata, 2, 3);
Konkatenasi string String dapat digabungkan dengan string lain
menggunakan operator “+” String s1 = “Cabe Pedas”; String s2 = “ Enak”; String s3; s2 = s1 + s2; System.out.println(s1+s2); S3 = s1.concat(s2);
String null vs String kosong String kosong berbeda dengan String null!!! String null bila belum dialokasikan pada memory. String s; s = null; //atau belum diinisialisasikan apapun
String kosong bila yang dialokasikan pada memory tidak memiliki karakter apapun String s; s = “”;
Membandingkan dua untai string Tidak dapat dilakukan dengan operator “==“ s1 = “satu”; s2 = “dua”; If (s1==s2) //Tidak dapat dengan cara ini!!! System.out.println(“sama”) else System.out.println(“beda”);
Dapat dilakukan dengan method equals() s1 = “satu”; s2 = “dua”; If (s1.equals(s2)) System.out.println(“sama”) else System.out.println(“beda”);
Cara lain membandingkan String Dapat dibandingkan dengan cara String s1=“satu”; If (s1.equals(“satu”)) System.out.println(“isinya satu”);
//atau If (“satu”.equals(s1)) System.out.println(“isinya satu”);
String Array Deklarasi: String namaVariable[] = new String[jumlahArray]; String namaVariable[] = {“data1”, ”data2”, ”data3”, ”data4”, ”data5”, ”data6”, ”data7”, ”data8”};
Inisialisasi String [indexArray] = “data”;
import java.util.Scanner; import static java.lang.System.out; class ProcessMoreData { public static void main(String args[]) { Scanner myScanner = new Scanner(System.in); String fullName; double amount, total; boolean taxable; out.print(“Customer’s full name: “); fullName = myScanner.nextLine(); out.print(“Amount: “); amount = myScanner.nextDouble(); out.print(“Taxable? (true/false) “); taxable = myScanner.nextBoolean(); if (taxable) { out.println(); total = amount * 1.05; out.print(“The total for “); } else { out.print(fullName); total = amount; out.print(“ is “); } out.print(total); out.println(“.”); } }
Argumen Argumen pada method main() berupa array string. public static void main(String [] argv) { }
Argumen didapat melalui java runtime. java ContohArgumen argsatu argdua argtiga java ContohArgumen “arg satu” “arg dua” “arg tiga”
Argumen tersebut diterima oleh String array yang menjadi parameter dari method main(String [] argv)
Argumen (cont-2) Argumen yang satu dengan argumen lainnya dipisahkan dengan spasi. Jika ingin memasukkan spasi sebagai bagian dari sebuah argumen, beri tanda double quote (“”) yang mengapit argumen tersebut, sehingga argumen tersebut dianggap satu kesatuan. Jumlah argumen dapat dikenali melalui method length. Contoh: args.length
Mengakses argumen Sebagai array, maka untuk membaca argumen dapat
dilakukan dengan memberikan nilai index nya args[0] args[1] args[2]
public class TesInputArgumen { public static void main(String[] args) { String nama = args[0]; String zodiac = args[1]; int umur = stringToInt(args[2]); System.out.println("Hello " + nama); System.out.println("Zodiak anda adalah " + zodiac); if (zodiac.equals("capricorn")) System.out.println(“Isi ramalan capricorn.."); else System.out.println("Isi ramalan lain .. "); } }
Modifikasi String String tidak dapat diganti isinya secara langsung
karakter per karakter. Hanya dapat diganti isinya dengan memberikan nilai baru. Untuk mengganti karakter-karakter pada string, harus mempergunakan method-method string yang disediakan oleh class String
Beberapa contoh method untuk mengakses string String substring(int offset) Contoh: s1 = s.substring(5);
String substring(int offset, int endIndex) Contoh: s1 = s.substring(5,10);
int lastIndexOf(char c) int lastIndexOf(char c, int startPos) Int IndexOf(String s) int lastIndexOf(String s) int lastIndexOf(String s, int startPos) String valueOf(char c) String valueOf(char c) String valueOf(float f) String valueOf(int i) char charAt(int index) Method lainnya dapat dilihat dari lampiran Class String dari API docs.
String Buffer Objek yang dibentuk dari Class StringBuffer yang
terdapat pada package java.lang Untuk menampung byte yang dapat diubah isinya Konstruktor: StringBuffer(int n) Menciptakan String Buffer dengan untaian karakter
sebanyak n
Contoh StringBuffer Menggunakan method append() untuk menambah karakter pada suatu objek yang dibentuk dari StringBuffer public class contohStrBuf { public static void main(String args[]) { String str = “Ini String Asli”; int panjang = str.length(); StringBuffer strBuf = new StringBuffer(len); char ch; for (int i = (len-1); i>= 0; i--) { ch = str.charAt(i); strBuf.append(ch); } System.out.println(strBuf);
}
}
Cek Palindrome String import java.util.Scanner; public class PeriksaPalindrome { /** Metode utama */ public static void main(String[] args) { // Menciptakan Scanner Scanner masukan = new Scanner(System.in);
// Meminta pengguna memasukkan suatu string System.out.print("Masukkan suatu string: "); String s = masukan.nextLine(); if(apaPalindrome(s) ) System.out.println(s + " adalah suatu palindrome"); else System.out.println(s + " bukan suatu palindrome"); }
/** Memeriksa apakah suatu string adalah suatu palindrome */ public static boolean apaPalindrome( String s) { // Indeks pertama dalam string int bawah = 0; // Indeks terkahir string int atas = s.length()- 1; while (bawah < atas) { if(s.charAt(bawah) != s.charAt(atas)) return false; // Bukan suatu palindrome bawah++; atas--; } return true; // The string is a palindrome } }
Cek Palindrome String