Thay thế tất cả các chuỗi con của chuỗi này khớp với biểu thức chính quy bởi String mới replacement | |
String replaceFirst (String regex, String replacement) | Thay thế chuỗi con đầu tiên của chuỗi này khớp với biểu thức chính quy bởi một String mới replacement |
String[] split (String regex) | Tách chuỗi này thành các chuỗi con, tại các chỗ khớp với biểu thức chính quy cho trước. |
boolean startsWith (String prefix) | Kiểm tra nếu chuỗi này bắt đầu với tiền tố quy định. |
CharSequence subSequence (int beginIndex, int endIndex) | Trả về một chuỗi ký tự mới là một dãy con của dãy này. |
String substring (int beginIndex, int endIndex) | Trả về một chuỗi ký tự mới là một dãy con của dãy này. Từ chỉ số bắt đầu cho tới chỉ số cuối. |
char[] toCharArray ( ) | Chuyển chuỗi này thành mảng ký tự. |
String toLowerCase ( ) | Chuyển tất cả các ký tự của chuỗi này sang chữ thường, sử dụng miền địa phương mặc định (default locale) |
String toLowerCase (Locale locale) | Chuyển tất cả các ký tự của chuỗi này sang chữ thường, sử dụng miền địa phương (locale) cho trước. |
String toString ( ) | Trả về String này. |
String toUpperCase ( ) | Chuyển tất cả các ký tự của chuỗi này sang chữ hoa, sử dụng miền địa phương mặc định (default locale) |
String toUpperCase (Locale locale) | Chuyển tất cả các ký tự của chuỗi này sang chữ hoa, sử dụng miền địa phương (locale) cho trước. |
Có thể bạn quan tâm!
- Công nghệ Java - 1
- Công nghệ Java - 2
- Cấu Trúc Lập Trình Cơ Bản Trong Java
- Công nghệ Java - 5
- Công nghệ Java - 6
- Đối Tượng, Lớp, Kế Thừa, Giao Diện
Xem toàn bộ 232 trang tài liệu này.
Trả về một String mới, sau khi loại bỏ các ký tự trắng bên trái và bên phải. |
String trim ( )
2.4.2. StringBuffer và StringBuilder
StringBuilder và StringBuffer rất giống nhau, điều khác biệt là tất cả các phương thức của StringBuffer đã được đồng bộ, nó thích hợp khi làm việc với ứng dụng đa luồng, nhiều luồng có thể truy cập vào một đối tượng StringBuffer cùng lúc. Trong khi đó StringBuilder có các phương thức tương tự nhưng không được đồng bộ, vì vậy hiệu suất của nó cao hơn, nên sử dụng StringBuilder trong ứng dụng đơn luồng, hoặc sử dụng như một biến địa phương trong một phương thức.
Khai báo:
StringBuffer(): tạo một bộ đệm chuỗi trống với dung lượng ban đầu là 16.
StringBuffer(String str): tạo một bộ đệm chuỗi với chuỗi đã xác định.
StringBuffer(int capacity): tạo một bộ đệm chuỗi trống với dung lượng đã cho. Các phương thức quan trọng của lớp StringBuffer trong Java
public synchronized StringBuffer append (String s): Sử dụng để thêm (append) chuỗi đã cho vào chuỗi hiện tại. Phương thức append() được nạp chồng giống dạng append(char), append(boolean), append(int), append(float), append(double).
public synchronized StringBuffer insert (int offset, String s): Chèn chuỗi đã cho vào chuỗi hiện tại, tại vị trí đã cho. Phương thức insert() được nạp chồng giống dạng insert (int, char), insert (int, boolean), insert (int, int), insert (int, float), insert (int, double)
public synchronized StringBuffer replace(int startIndex, int endIndex, String str): Thay thế chuỗi từ chỉ mục ban đầu startIndex đến chỉ mục kết thúc endIndex.
public synchronized StringBuffer delete(int startIndex, int endIndex):xóa chuỗi từ chỉ mục startIndex và endIndex đã cho.
public synchronized StringBuffer reverse(): Đảo ngược chuỗi.
public char charAt(int index): Được sử dụng để trả về ký tự tại vị trí đã cho.
public int length(): Được sử dụng để trả về độ dài của chuỗi
public String substring(int beginIndex): Trả về chuỗi con từ chỉ mục bắt đầu beginIndex đã cho.
public String substring(int beginIndex, int endIndex): Trả về chuỗi con từ beginIndex đến endIndex đã cho.
2.5. Nhập/Xuất dữ liệu
Trong Java có 3 cách nhập liệu từ bàn phím:
a. Sử dụng lớp BufferReader
BufferReader là một lớp dùng để đọc dữ liệu từ bàn phím hay từ file.
Có thể dùng lớp này để đọc một chuỗi một mảng hoặc một kí tự.
Ví dụ 2.2:
import java.io.BufferedReader;
import java.io.IOException; import java.io.InputStreamReader; public class GetInputFromKeyboard
{
public static void main(String[] args)
{
// Tạo một đối tượng BufferedReader
BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );
// Biến name String name = "";
System.out.println("Please Enter Your Name:"); try
{
name = dataIn.readLine();
}
catch( IOException e )
{
System.out.println("Error!");
}
// hiển thị tên
System.out.println("Hello " + name +"!");
}
}
Kết quả:
Tham số đầu vào của BufferReader có thể là InputStreamReader hoặc FileReader (Dùng để đọc file).
Một số phương thức của lớp BufferReader:
- read() : đọc một kí tự.
- readLine() : đọc một dòng text.
b. Sử dụng JOptionPane
JOptionPane là một lớp thừa kế từ lớp JComponent. Khi biên dịch chương trình sẽ hiện lên một dialog box cho phép nhập dữ liệu.
Ví dụ 2.3:
import javax.swing.JOptionPane;
public class InputFromKeyboardJOptionPane
{
public static void main(String[] args)
{
String name = ""; name=JOptionPane.showInputDialog("Please enter your name");
String msg = "Hello " + name + "!"; JOptionPane.showMessageDialog(null, msg); System.out.println("Name is:"+msg);
}
}
Kết quả:
Một số phương thức của JOptionPane:
- showConfirmDialog() : Hiển thị một câu hỏi lựa chọn giống như yes no cancel
- showInputDialog() : Hiển thị box nhập
- showMessageDialog() : Báo cho người dùng một sự kiện vừa xảy ra.
c) Sử dụng lớp Scanner
- Lớp Scanner trong Java cho phép nhập dữ liệu từ bàn phím.
- Lớp Scanner có thể đọc được nhiều kiểu dữ liệu khác nhau chẳng hạn Int, Long, Double, String, Float.
Một số phương thức thường được sử dụng trong lớp Scanner:
Phương thức Mô tả
public String next() Trả về kết quả nội dung trước khoảng trắng public String nextLine() Trả về kết quả nội dung của một hàng public byte nextByte() Trả về kiểu dữ liệu byte
public short nextShort() Trả về kiểu dữ liệu short public int nextInt() Trả về kiểu dữ liệu int public long nextLong() Trả về kiểu dữ liệu long public float nextFloat() Trả về kiểu dữ liệu float public double nextDouble() Trả về kiểu dữ liệu double
Sự khác nhau khi sử dụng next() và nextLine() lớp Scanner trong Java:
– Phương thức next() sẽ trả về kết quả cách nhau bởi khoảng trắng.
Ví dụ 2.4:
import java.util.Scanner; public class Main {
public static void main(String[] args) {
String str = "Chào mừng bạn đến với nKênh Lập Trình"; Scanner scanner = new Scanner(str); while(scanner.hasNext()){
System.out.println(scanner.next());
}
scanner.close();
}
Kết quả:
Phương thức nextLine() sẽ trả về kết quả nội dung của một hàng, ví dụ:
import java.util.Scanner; public class Main {
public static void main(String[] args) {
String str = "Chào mừng bạn đến với nKênh Lập Trình"; Scanner scanner = new Scanner(str); while(scanner.hasNext()){
System.out.println(scanner.nextLine());
}
scanner.close();
}
}
Sử dụng lớp Scanner nhập dữ liệu từ bàn phím 2 số hạng, và tính tổng.
package exam;
import java.util.Scanner; public class Main {
public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.print("Vui lòng nhập số hạng thứ nhất: "); int sothu1 = scanner.nextInt(); System.out.print("Vui lòng nhập số hạng thứ hai: "); int sothu2 = scanner.nextInt();
System.out.println("Tính tổng: " + (sothu1 + sothu2)); scanner.close();
}}
Kết quả:
2.6. Câu lệnh và các cấu trúc lệnh trong Java
Java cung cấp hai loại cấu trúc điều khiển:
Điều khiển rẽ nhánh
Mệnh đề if-else
Mệnh đề swich-case
Vòng lặp (Loops)
Vòng lặp while
Vòng lặp do-while
Vòng lặp for
2.6.1. Lệnh, khối lệnh trong Java.
Giống ngôn ngữ C, các câu lệnh trong Java kết thúc bằng dấu chấm phẩy (;).
Một khối lệnh là đoạn chương trình gồm hai lệnh trở lên và được bắt đầu bằng dấu mở ngoặc nhọn ({) và kết thúc bằng dấu đóng ngoặc nhọc (}). Bên trong một khối lệnh có thể chứa một hay nhiều lệnh hoặc chứa các khối lệnh khác.
{ // khối 1
{ // khối 2
lệnh 2.1
lệnh 2.2
…
} // kết thúc khối lệnh 2 lệnh 1.1
lệnh 1.2
…
} // kết thúc khối lệnh 1
{ // bắt đầu khối lệnh 3
// Các lệnh thuộc khối lệnh 3
} // kết thúc khối lệnh 3
2.6.2. Câu lệnh if …else
Java đưa ra hai cấu trúc lệnh if…else như sau:
Dạng 1:
if (<điều_kiện>)
{
<khối_lệnh>;
}
Dạng 2:
if (<điều_kiện>)
{