Bài 21: String Trong Java - Lập Trình Java Cơ Bản

vncoder logo
  • Học lập trình
  • |
  • Bài viết
  • |
  • Tin tức
  • |
  • Tuyển dụng
  • |
  • Liên hệ
  • |
  • Đăng ký
  • |
  • Đăng nhập

PHP

Laravel

Android

Java

HTML5

CSS3

NodeJS

VueJS

Swift

Python

Machine Learning

C/C++

Linux/Server

SQL

Javascript

Game

Phân tích thiết kế hệ thống

Servlet/JSP

AI

  1. Trang chủ
  2. Java
  3. Lập trình Java cơ bản
  4. String trong Java
  • Bài 1: Tổng quan ngôn ngữ Java
  • Bài 2: Hướng dẫn cài đặt và cấu hình Java
  • Bài 3: Hướng dẫn cài đặt và cấu hình Intellij IDEA trên Window
  • Bài 4: Tạo Project và làm quen với Intelij IDEA
  • Bài 5: Cú pháp và quy tắc cơ bản trong Java
  • Bài 6: Các kiểu dữ liệu trong Java
  • Bài 7: Các kiểu biến trong Java
  • Bài 8: Toán tử trong Java
  • Bài 9: Hệ thống Unicode trong Java
  • Bài 10: Các kiểu vòng lặp
  • Bài 11: Câu lệnh điều khiển rẽ nhánh
  • Bài 12: Câu lệnh Break, Continue trong Java
  • Bài 13: Lớp và đối tượng
  • Bài 14: Tính chất của lập trình hướng đối tượng trong Java
  • Bài 15: Abstract class và Interface trong Java
  • Bài 16: Từ khóa super và this trong Java
  • Bài 17: Từ khóa static và final trong Java
  • Bài 18: Mảng (Array) trong Java
  • Bài 19: Package trong Java
  • Bài 21: String trong Java
  • Bài 22: StringBuffer và StringBuilder
  • Bài 23: Tổng quan về File và I/O
  • Bài 24: Xử lý nhập xuất bằng Byte Stream và Character Stream
  • Bài 25: Thao tác với tệp và thư mục trong Java
  • Bài 26: Tổng quan về Collection trong Java
  • Bài 27: Những Interface phổ biến trong Java Collection Framework
  • Bài 28: Những Class được triển khai dựa trên Interface của Java Collection
  • Bài 29: Khái niệm xử lý ngoại lệ trong Java
  • Bài 30: Hướng dẫn xử lý ngoại lệ trong Java
  • Bài 31: Đa luồng trong Java
  • Bài 32: Thread synchronization trong Java
  • Bài 33: Tổng quan về Java AWT
  • Bài 34: Container trong Java AWT
  • Bài 35: Component trong Java AWT
  • Bài 36: Layout Manager trong Java AWT
  • Bài 37: Xử lý sự kiện trong Java AWT
  • Bài 38: Tổng quan về Java Swing
  • Bài 39: Container trong Java Swing
  • Bài 40: Component trong Java Swing
  • Bài 41: Layout trong Java Swing
  • Bài 42: Event trong Java Swing
  • Bài 43: Menu trong Java Swing
  • Bài 44: Kết nối cơ sở dữ liệu với thư viện JDBC trong Java

Bài 21: String trong Java - Lập trình Java cơ bản

Đăng bởi: Admin | Lượt xem: 4155 | Chuyên mục: Java Chuỗi (String) trong Java cung cấp nhiều khái niệm đa dạng giúp bạn thao tác và xử lý với chuỗi như so sánh, cắt, nối, tìm độ dài, thay thế, tìm chuỗi con, …. Trong Java, về cơ bản chuỗi là một đối tượng mà biểu diễn dãy các giá trị char. Một mảng các ký tự làm việc khá giống như chuỗi trong Java.

1. Cách khai báo

Lớp String cung cấp hàng loạt các phương thức để thao tác với các chuỗi. Nó cung cấp các phương thức khởi tạo (constructor) khác nhau. Dưới đây là 2 phương thức được dùng thường xuyên nhất:Cách 1: Sử dụng String LiteralString literal được tạo ra bằng cách sử dụng 2 dấu nháy kép.Ví dụString str = "BkitSoftware"Mỗi khi bạo tạo một biến string literal, đầu tiên JVM sẽ kiểm tra xem giá trị đó đã tồn tại trong 1 nơi gọi là String Pool chưa. Nếu chuỗi này đã tồn tại trong Pool, thì giá trị của biến sẽ được tham chiếu đến instance đã được tạo ra trong Pool. Nếu chuỗi này không tồn tại trong Pool, một instance mới được tạo ra và đặt vào trong Pool.Ví dụ:String str1 = "BkitSoftware" String str2 = "BkitSoftware"// sẽ không tạo ra instance mớiBằng cách khai báo này, chương trình sẽ hiệu quả hơn trong việc sử dụng bộ nhớ bởi vì không có đối tượng mới nào được tạo khi mà nếu nó đã tồn tại trong Pool.Cách 2: Sử dụng từ khóa newTrong trường hợp này, JVM sẽ tạo một đối tượng mới như bình thường trong bộ nhớ Heap (không phải Pool) và hằng "xinchao" sẽ được đặt trong Pool. Biến sẽ tham chiếu tới đối tượng trong Heap (chứ không là Pool).Ví dụ:String s=new String("BkitSoftware");Khai báo bằng cách này sẽ nhanh hơn so với cách thứ nhất vì không mất thời gian truy nhập vào String Pool mà tạo trực tiếp một ô nhớ mới trong bộ nhớ Heap. Tuy nhiên, do đó sẽ dẫn đến việc dư thừa ô nhớ.

2. So sánh 2 chuỗi

Chúng ta có thể so sánh chuỗi trong Java dựa trên cơ sở nội dung và tham chiếu. Nó được sử dụng trong sự xác nhận bởi phương thức equal(), sắp xếp bởi phương thức compareTo(), so khớp tham chiếu bởi toán tử ==, …Cách 1: Sử dụng phương thức equal(), được sử dụng để so sánh nội dung của 2 chuỗi. Lớp String cung cấp 2 phương thức equals():
  • equal(): so sánh 2 chuỗi có phân biệt chữ hoa, chữ thường.
  • equalsIgnoreCase(): so sánh 2 chuỗi nhưng không phân biệt chữ hoa, chữ thường.
Ví dụ:package com.company; public class Main { public static void main(String args[]) { String str1 = "BkitSoftware"; String str2 = new String("Bkitsoftware"); System.out.println(str1.equals(str2)); System.out.println(str1.equalsIgnoreCase(str2)); } }false trueCách 2: Sử dụng toán tử "=="Toán tử == được sử dụng để so sánh tham chiếu (không phải giá trị) của 2 chuỗi.Ví dụ:package com.company; public class Main { public static void main(String args[]) { String str1 = "BkitSoftware"; String str2 = str1; String str3 = new String("BkitSoftware"); System.out.println(str1==str2); System.out.println(str1==str3); } }true// Do str1 và str2 cùng tham chiếu tới 1 instance false// Do str1 và str3 tham chiếu tới 2 instance khác nhauCách 3: Sử dụng phương thức compareTo()Phương thức compareTo () so sánh các giá trị theo thứ tự từ điển và trả về một giá trị số nguyên mô tả nếu chuỗi đầu tiên nhỏ hơn, bằng hoặc lớn hơn chuỗi thứ hai.Giả sử s1 và s2 là hai biến chuỗi. Nếu:
  • s1 == s2 : 0
  • s1 > s2 : giá trị > 0
  • s1 < s2 : giá trị < 0
Ví dụ:package com.company; public class Main { public static void main(String args[]) { String str1 = "BkitSoftware"; String str2 = str1; String str3 = new String("Code"); System.out.println(str1.compareTo(str2)); System.out.println(str1.compareTo(str3)); } }0 -1

3. Các phương thức lớp String

Giả sử ta thao tác các lệnh trên chuỗi str="BkitSoftware"
Phương thức Mô tảVí dụ
chatAt()trả về giá trị Char của chuỗi tại vị trí có chỉ số index được chỉ định được chỉ định, bắt đầu từ 0str.charAt(0) sẽ trả về 'B'
compareTo()so sánh các chuỗi cho trước với chuỗi hiện tại theo thứ tự từ điển. Nó trả về số dương, số âm hoặc 0.Đã ví dụ ở phần so sánh
concat()nối thêm chuỗi được chỉ định vào cuối chuỗi đã cho.str = str.concat(" Company")str sẽ trở thành BkitSoftware Company
contain()tìm kiếm chuỗi ký tự trong chuỗi này. Tìm thấy trả về true, ngược lại là false.str.contain("ware") trả về true
endsWith()kiểm tra nếu chuỗi này kết thúc với hậu tố nhất định.Trả về true nếu chuỗi này kết thúc với hậu tố đã cho, nếu khác thì trả về false.str.endsWith("ware") trả về true
equals()so sánh hai chuỗi đưa ra dựa trên nội dung của chuỗi.Đã ví dụ ở phần so sánh
equalsIgnoreCase()so sánh hai chuỗi đưa ra dựa trên nội dung của chuỗi không phân biệt chữ hoa chữ thường.Đã ví dụ ở phần so sánh
format()trả về một chuỗi được format theo miền địa phương.String str1 = String.format("Company is %s", str);str1 sẽ là Company is BkitSoftware
getBytes()trả về mảng byte của chuỗi.byte[ ] barr = str.getBytes();
getChars()sao chép nội dung của chuỗi thành mảng Char cụ thể. Có 4 đối số truyền vào phương thức getChars().
indexOf()trả về chỉ số của giá trị ký tự đã cho hoặc chuỗi con. Nếu không tìm thấy trả lại giá trị -1. Chỉ số (index) được đếm từ 0.str.indexOf("B") trả về 0
intern()có thể được sử dụng để trả về chuỗi từ Pool chứa hằng số chuỗi khi nó được tạo bởi từ khóa new.
isEmpty()khi chuỗi trống trả về true, ngược lại trả về false.str.isEmpty() trả về true
join()trả về một chuỗi được nối với nhau bởi dấu phân tách. Trong phương thức join chuỗi, dấu phân cách được sử dụng cho mỗi chuỗi được nối.String str1 = String.join("-","Bkit","Software")str1 là Bkit-Software
lastIndexOf()trả vể chỉ số cuối của ký tự hoặc chuỗi con. Nếu không tìm thấy trả về -1. Giá trị index được tính từ 0.str.lastIndexOf("e") trả về 11
length()trả về độ dài của chuỗi (tổng số ký tự theo mã unicode).str.length() trả về 12
replace()sử dụng để thay thế tất cả các ký tự hoặc chuỗi cũ thành ký tự hoặc chuỗi mới.str.replace('B','C') trả về CkitSoftware
replaceAll()replaceAll() trả về một chuỗi thay thế tất cả các chuỗi ký tự phù hợp với regex.str.replace("B","C") trả về CkitSoftware
split()tách chuỗi này theo biểu thức chính quy(regular expression) và trả về mảng chuỗi.
startsWith()được sử dụng để kiểm tra tiền tố của chuỗi có khớp với giá trị tiền tố đã nhập không, nếu đúng trả về true, sai trả về false.str.startsWith("ware") trả về false
substring()trả về chuỗi con của một chuỗi.str.substring(1) trả về kitSoftware
toCharArray()được sử dụng để chuyển đổi chuỗi thành các mảng ký tự. Nó trả về một mảng ký từ có độ dài tương đương độ dài của chuỗi.
toLowerCase()được sử dụng để chuyển chuỗi về dạng chữ thường.str.toLowerCase() trả về bkitsoftware
toUpperCase()được sử dụng để chuyển chuỗi về dạng chữ hoa.str.toUpperCase() trả về BKITSOFTWARE
trim()được sử dụng để xóa khoảng trẳng ở đầu và cuối chuỗi.
valueOf()được sử dụng để chuyển đối kiểu dữ liệu khác thành chuỗi.String.valueOf(11) trả về "11"
Bài tiếp theo: StringBuffer và StringBuilder >> vncoder logo

Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!

Chia sẻ bài viết
  • Bài 1: Tổng quan ngôn ngữ Java
  • Bài 2: Hướng dẫn cài đặt và cấu hình Java
  • Bài 3: Hướng dẫn cài đặt và cấu hình Intellij IDEA trên Window
  • Bài 4: Tạo Project và làm quen với Intelij IDEA
  • Bài 5: Cú pháp và quy tắc cơ bản trong Java
  • Bài 6: Các kiểu dữ liệu trong Java
  • Bài 7: Các kiểu biến trong Java
  • Bài 8: Toán tử trong Java
  • Bài 9: Hệ thống Unicode trong Java
  • Bài 10: Các kiểu vòng lặp
  • Bài 11: Câu lệnh điều khiển rẽ nhánh
  • Bài 12: Câu lệnh Break, Continue trong Java
  • Bài 13: Lớp và đối tượng
  • Bài 14: Tính chất của lập trình hướng đối tượng trong Java
  • Bài 15: Abstract class và Interface trong Java
  • Bài 16: Từ khóa super và this trong Java
  • Bài 17: Từ khóa static và final trong Java
  • Bài 18: Mảng (Array) trong Java
  • Bài 19: Package trong Java
  • Bài 21: String trong Java
  • Bài 22: StringBuffer và StringBuilder
  • Bài 23: Tổng quan về File và I/O
  • Bài 24: Xử lý nhập xuất bằng Byte Stream và Character Stream
  • Bài 25: Thao tác với tệp và thư mục trong Java
  • Bài 26: Tổng quan về Collection trong Java
  • Bài 27: Những Interface phổ biến trong Java Collection Framework
  • Bài 28: Những Class được triển khai dựa trên Interface của Java Collection
  • Bài 29: Khái niệm xử lý ngoại lệ trong Java
  • Bài 30: Hướng dẫn xử lý ngoại lệ trong Java
  • Bài 31: Đa luồng trong Java
  • Bài 32: Thread synchronization trong Java
  • Bài 33: Tổng quan về Java AWT
  • Bài 34: Container trong Java AWT
  • Bài 35: Component trong Java AWT
  • Bài 36: Layout Manager trong Java AWT
  • Bài 37: Xử lý sự kiện trong Java AWT
  • Bài 38: Tổng quan về Java Swing
  • Bài 39: Container trong Java Swing
  • Bài 40: Component trong Java Swing
  • Bài 41: Layout trong Java Swing
  • Bài 42: Event trong Java Swing
  • Bài 43: Menu trong Java Swing
  • Bài 44: Kết nối cơ sở dữ liệu với thư viện JDBC trong Java

Từ khóa » Gán Chuỗi Trong Java