Thứ Tư, 4 tháng 7, 2018

Java - Biểu thức chính quy

lập trình Java cung cấp gói java.util.regex để khớp mẫu với các biểu thức chính quy. Các biểu thức chính quy của Java rất giống với ngôn ngữ lập trình Perl và rất dễ học.

NIIT-ICT
ảnh minh họa


Cụm từ thông dụng là chuỗi ký tự đặc biệt giúp bạn khớp hoặc tìm các chuỗi hoặc bộ chuỗi khác bằng cách sử dụng cú pháp chuyên biệt được giữ trong mẫu. Chúng có thể được sử dụng để tìm kiếm, chỉnh sửa hoặc thao tác văn bản và dữ liệu.

Gói java.util.regex chủ yếu bao gồm ba lớp sau:

Pattern Class - Một đối tượng Pattern là một biểu diễn được biên dịch của một biểu thức chính quy. Lớp Pattern không cung cấp các hàm tạo công khai. Để tạo một mẫu, trước tiên bạn phải gọi một trong các phương thức biên dịch tĩnh công khai của nó , sau đó sẽ trả về một đối tượng Pattern. Các phương thức này chấp nhận một biểu thức chính quy làm đối số đầu tiên.

Lớp đối sánh - Đối tượng Matcher là công cụ diễn giải mẫu và thực hiện các phép toán khớp với chuỗi đầu vào. Giống như lớp Pattern, Matcher định nghĩa không có các hàm tạo công khai nào. Bạn có được một đối tượng Matcher bằng cách gọi phương thức matcher () trên một đối tượng Pattern.

PatternSyntaxException - Một đối tượng PatternSyntaxException là một ngoại lệ không được kiểm tra cho biết một lỗi cú pháp trong một mẫu biểu thức chính quy.

Chụp nhóm

Chụp nhóm là cách để xử lý nhiều ký tự dưới dạng một đơn vị. Chúng được tạo ra bằng cách đặt các ký tự được nhóm lại bên trong một tập hợp các dấu ngoặc đơn. Ví dụ: biểu thức chính quy (dog) tạo một nhóm chứa các chữ "d", "o" và "g".

Các nhóm chụp được đánh số bằng cách đếm dấu ngoặc đơn mở của chúng từ trái sang phải. Trong biểu thức ((A) (B (C))), ví dụ, có bốn nhóm như vậy -

((A) (B (C)))

(A)

(B (C))

(C)

Để tìm hiểu có bao nhiêu nhóm có mặt trong biểu thức, hãy gọi phương thức groupCount trên đối tượng đối sánh. Phương thức groupCount trả về một inthiển thị số lượng các nhóm chụp có trong mẫu của đối sánh.

Ngoài ra còn có một nhóm đặc biệt, nhóm 0, luôn đại diện cho toàn bộ biểu thức. Nhóm này không được bao gồm trong tổng số được báo cáo bởi groupCount.

Thí dụ

Ví dụ sau minh họa cách tìm chuỗi chữ số từ chuỗi ký tự chữ và số -
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches {

   public static void main( String args[] ) {
      // String to be scanned to find the pattern.
      String line = "This order was placed for QT3000! OK?";
      String pattern = "(.*)(\\d+)(.*)";

      // Create a Pattern object
      Pattern r = Pattern.compile(pattern);

      // Now create matcher object.
      Matcher m = r.matcher(line);
      if (m.find( )) {
         System.out.println("Found value: " + m.group(0) );
         System.out.println("Found value: " + m.group(1) );
         System.out.println("Found value: " + m.group(2) );
      }else {
         System.out.println("NO MATCH");
      }
   }
}
Điều này sẽ tạo ra kết quả sau

Đầu ra

Found value: This order was placed for QT3000! OK?
Found value: This order was placed for QT300
Found value: 0

Cú pháp biểu thức chính quy

Dưới đây là bảng liệt kê tất cả cú pháp metacharacter biểu thức chính quy có sẵn trong Java 

SubexpressionKết quả phù hợp
^Phù hợp với sự bắt đầu của dòng.
$Phù hợp với kết thúc của dòng.
.Khớp với bất kỳ ký tự đơn nào ngoại trừ dòng mới. Sử dụng tùy chọn m cho phép nó khớp với dòng mới.
[...]Phù hợp với bất kỳ ký tự đơn nào trong dấu ngoặc đơn.
[^ ...]Khớp với bất kỳ ký tự đơn nào không nằm trong dấu ngoặc đơn.
\ ABắt đầu toàn bộ chuỗi.
\ zKết thúc toàn bộ chuỗi.
\ ZKết thúc của toàn bộ chuỗi ngoại trừ terminator cuối cùng cho phép.
re *Khớp với 0 hoặc nhiều lần xuất hiện của biểu thức trước.
re +Phù hợp với 1 hoặc nhiều điều trước đó.
lại?Phù hợp với 0 hoặc 1 lần xuất hiện của biểu thức trước.
re {n}Kết hợp chính xác n số lần xuất hiện của biểu thức trước.
re {n,}Khớp với n hoặc nhiều lần xuất hiện của biểu thức trước.
re {n, m}Khớp với ít nhất n và nhiều nhất là các lần xuất hiện m của biểu thức trước.
a | bCác trận đấu a hoặc b.
(lại)Nhóm biểu thức chính quy và ghi nhớ văn bản phù hợp.
(?: lại)Nhóm biểu thức chính quy mà không nhớ văn bản phù hợp.
(?> lại)Phù hợp với mô hình độc lập mà không cần quay lại.
\ wPhù hợp với các ký tự từ.
\ WPhù hợp với các ký tự không phải từ.
\SPhù hợp với khoảng trắng. Tương đương với [\ t \ n \ r \ f].
\SKhớp không gian trống.
\ dKhớp các chữ số. Tương đương với [0-9].
\ DPhù hợp với nondigits.
\ APhù hợp với sự bắt đầu của chuỗi.
\ ZPhù hợp với phần cuối của chuỗi. Nếu một dòng mới tồn tại, nó sẽ khớp ngay trước dòng mới.
\ zPhù hợp với phần cuối của chuỗi.
\ GPhù hợp với điểm mà trận đấu cuối cùng kết thúc.
\ nQuay lại tham chiếu để nắm bắt số nhóm "n".
\ bKhớp các ranh giới từ khi nằm ngoài dấu ngoặc đơn. Phù hợp với backspace (0x08) khi bên trong dấu ngoặc vuông.
\ BPhù hợp với ranh giới không có từ.
\ n, \ t, v.v.Khớp các dòng mới, trả về vận chuyển, tab, v.v.
\ QThoát (trích dẫn) tất cả ký tự lên đến \ E.
\ EKết thúc trích dẫn bắt đầu bằng \ Q.

Các phương thức của lớp Matcher

Dưới đây là danh sách các phương thức dụ hữu ích

Phương pháp chỉ mục

Các phương thức chỉ mục cung cấp các giá trị chỉ mục hữu ích cho thấy chính xác vị trí khớp trong chuỗi đầu vào 

Sr.No.Phương thức & Mô tả
1int công khai bắt đầu ()

Trả về chỉ mục bắt đầu của kết quả phù hợp trước đó.
2int công khai bắt đầu (int nhóm)

Trả về chỉ số bắt đầu của chuỗi được bắt bởi nhóm đã cho trong quá trình so khớp trước đó.
3kết thúc công khai ()

Trả về giá trị bù trừ sau khi ký tự cuối cùng khớp.
4int công khai (int group)

Trả về giá trị bù trừ sau ký tự cuối cùng của chuỗi được bắt bởi nhóm đã cho trong quá trình so khớp trước đó.

Phương pháp nghiên cứu

Phương pháp nghiên cứu xem lại chuỗi đầu vào và trả về một Boolean cho biết mẫu có được tìm thấy hay không 
Sr.No.Phương thức & Mô tả
1public boolean lookingAt ()

Cố gắng khớp chuỗi đầu vào, bắt đầu từ đầu vùng, so với mẫu.
2boolean find ()

Cố gắng tìm chuỗi tiếp theo của chuỗi đầu vào khớp với mẫu.
3tìm kiếm boolean công khai (int start)

Đặt lại trình so khớp này và sau đó cố gắng tìm chuỗi tiếp theo của chuỗi đầu vào khớp với mẫu, bắt đầu từ chỉ mục được chỉ định.
4kết quả boolean công khai ()

Cố gắng khớp toàn bộ khu vực với mẫu.

Phương pháp thay thế

Phương pháp thay thế là phương pháp hữu ích để thay thế văn bản trong chuỗi đầu vào 

Sr.No.Phương thức & Mô tả
1public Matcher appendReplacement (StringBuffer sb, String thay thế)

Thực hiện một bước chắp thêm và thay thế không đầu cuối.
2công khai StringBuffer appendTail (StringBuffer sb)

Thực hiện một bước chắp thêm và thay thế đầu cuối.
3public String replaceAll (Chuỗi thay thế)

Thay thế mọi chuỗi của chuỗi đầu vào khớp với mẫu với chuỗi thay thế đã cho.
4công khai String replaceFirst (String thay thế)

Thay thế dãy đầu tiên của chuỗi đầu vào khớp với mẫu với chuỗi thay thế đã cho.
5công cộng tĩnh Chuỗi quoteReplacement (String s)

Trả về một chuỗi thay thế bằng chữ cho Chuỗi được chỉ định. Phương pháp này tạo ra một String rằng sẽ làm việc như một sự thay thế nghĩa đen s trong phương pháp appendReplacement của lớp Matcher.
Phương thức bắt đầu và kết thúc

Sau đây là ví dụ đếm số lần từ "mèo" xuất hiện trong chuỗi đầu vào -

Thí dụ
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches {

   private static final String REGEX = "\\bcat\\b";
   private static final String INPUT = "cat cat cat cattie cat";

   public static void main( String args[] ) {
      Pattern p = Pattern.compile(REGEX);
      Matcher m = p.matcher(INPUT);   // get a matcher object
      int count = 0;

      while(m.find()) {
         count++;
         System.out.println("Match number "+count);
         System.out.println("start(): "+m.start());
         System.out.println("end(): "+m.end());
      }
   }
}
Điều này sẽ tạo ra kết quả sau

Đầu ra

Match number 1
start(): 0
end(): 3
Match number 2
start(): 4
end(): 7
Match number 3
start(): 8
end(): 11
Match number 4
start(): 19
end(): 22

Bạn có thể thấy rằng ví dụ này sử dụng các ranh giới từ để đảm bảo rằng các chữ "c" "a" "t" không chỉ đơn thuần là chuỗi con trong một từ dài hơn. Nó cũng cung cấp một số thông tin hữu ích về vị trí trong chuỗi đầu vào mà sự trùng khớp đã xảy ra.

Phương thức start trả về chỉ số bắt đầu của chuỗi được bắt bởi nhóm đã cho trong quá trình so khớp trước đó, và kết thúc trả về chỉ mục của ký tự cuối cùng được so khớp, cộng với một.

Các đối sánh và phương thức lookAt

Các phương thức đối sánh và phương thức lookAt đều cố khớp với chuỗi đầu vào dựa trên mẫu. Tuy nhiên, sự khác biệt là các kết quả phù hợp yêu cầu toàn bộ chuỗi đầu vào phải khớp, trong khi lookAt thì không.

Cả hai phương thức luôn bắt đầu ở đầu chuỗi đầu vào. Dưới đây là ví dụ giải thích chức năng -

Thí dụ
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches {

   private static final String REGEX = "foo";
   private static final String INPUT = "fooooooooooooooooo";
   private static Pattern pattern;
   private static Matcher matcher;

   public static void main( String args[] ) {
      pattern = Pattern.compile(REGEX);
      matcher = pattern.matcher(INPUT);

      System.out.println("Current REGEX is: "+REGEX);
      System.out.println("Current INPUT is: "+INPUT);

      System.out.println("lookingAt(): "+matcher.lookingAt());
      System.out.println("matches(): "+matcher.matches());
   }
}
Điều này sẽ tạo ra kết quả sau

Đầu ra

Current REGEX is: foo
Current INPUT is: fooooooooooooooooo
lookingAt(): true
matches(): false

Phương án replaceFirst và replaceAll

Phương thức replaceFirst và replaceAll thay thế văn bản phù hợp với cụm từ thông dụng nhất định. Như tên của chúng cho biết, replaceFirst thay thế lần xuất hiện đầu tiên và replaceAll thay thế tất cả các lần xuất hiện.

Dưới đây là ví dụ giải thích chức năng

Thí dụ

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches {

   private static String REGEX = "dog";
   private static String INPUT = "The dog says meow. " + "All dogs say meow.";
   private static String REPLACE = "cat";

   public static void main(String[] args) {
      Pattern p = Pattern.compile(REGEX);
      
      // get a matcher object
      Matcher m = p.matcher(INPUT); 
      INPUT = m.replaceAll(REPLACE);
      System.out.println(INPUT);
   }
}
Điều này sẽ tạo ra kết quả sau

Đầu ra

The cat says meow. All cats say meow.

Các phương thức appendReplacement và appendTail

Lớp Matcher cũng cung cấp các phương thức appendReplacement và appendTail để thay thế văn bản.

Dưới đây là ví dụ giải thích chức năng

Thí dụ

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches {

   private static String REGEX = "a*b";
   private static String INPUT = "aabfooaabfooabfoob";
   private static String REPLACE = "-";
   public static void main(String[] args) {

      Pattern p = Pattern.compile(REGEX);
      
      // get a matcher object
      Matcher m = p.matcher(INPUT);
      StringBuffer sb = new StringBuffer();
      while(m.find()) {
         m.appendReplacement(sb, REPLACE);
      }
      m.appendTail(sb);
      System.out.println(sb.toString());
   }
}
Điều này sẽ tạo ra kết quả sau

Đầu ra

-foo-foo-foo-

Phương thức Class Syntax Exception Class

Một Pattern Syntax Exception là một ngoại lệ không được kiểm tra cho biết một lỗi cú pháp trong một mẫu biểu thức chính quy. Lớp Pattern Syntax Exception cung cấp các phương thức sau để giúp bạn xác định điều gì đã xảy ra

Sr.No.Phương thức & Mô tả
1public getDescription String ()

Truy xuất mô tả lỗi.
2public int getIndex ()

Lấy chỉ mục lỗi.
3public String getPattern ()

Lấy mẫu biểu thức chính quy sai.
4public String getMessage ()

Trả về một chuỗi nhiều dòng chứa mô tả về lỗi cú pháp và chỉ mục của nó, mẫu biểu thức chính quy không chính xác và chỉ báo trực quan của chỉ mục lỗi trong mẫu.

Thứ Ba, 3 tháng 7, 2018

Java - Mảng

Học lập trình Java cung cấp một cấu trúc dữ liệu, mảng , lưu trữ một bộ sưu tập tuần tự kích thước cố định của các phần tử cùng loại. Một mảng được sử dụng để lưu trữ một bộ sưu tập dữ liệu, nhưng thường hữu ích hơn khi nghĩ về một mảng như một tập hợp các biến cùng loại.

Thay vì khai báo các biến riêng lẻ, chẳng hạn như number0, number1, ... và number99, bạn khai báo một biến mảng như số và số sử dụng [0], số [1] và ..., số [99] để biểu diễn các biến riêng lẻ.

Hướng dẫn này giới thiệu cách khai báo các biến mảng, tạo mảng và xử lý các mảng bằng cách sử dụng các biến được lập chỉ mục.

Khai báo các biến mảng

Để sử dụng một mảng trong một chương trình, bạn phải khai báo một biến để tham chiếu mảng, và bạn phải chỉ định kiểu mảng mà biến có thể tham chiếu. Đây là cú pháp để khai báo một biến mảng -

Cú pháp

dataType[] arrayRefVar;   // preferred way.
or
dataType arrayRefVar[];  // works but not preferred way.

Lưu ý - Kiểu dữ liệu styleType [] arrayRefVar được ưu tiên. Kiểu dataType arrayRefVar [] xuất phát từ ngôn ngữ C / C ++ và được chấp nhận trong Java để chứa các lập trình viên C / C ++.

Thí dụ

Đoạn mã sau là ví dụ về cú pháp này
double[] myList;   // preferred way.
or
double myList[];   // works but not preferred way.

Tạo mảng

Bạn có thể tạo một mảng bằng cách sử dụng toán tử mới với cú pháp sau:

Cú pháp

arrayRefVar = new dataType[arraySize];

Câu nói trên làm hai điều 

Nó tạo ra một mảng bằng cách sử dụng new dataType [arraySize].

Nó gán tham chiếu của mảng mới được tạo cho mảng arrayRefVar.

Khai báo một biến mảng, tạo một mảng và gán tham chiếu của mảng cho biến có thể được kết hợp trong một câu lệnh, như hình dưới đây 

dataType[] arrayRefVar = new dataType[arraySize];
Hoặc bạn có thể tạo mảng như sau:
dataType[] arrayRefVar = {value0, value1, ..., valuek};

Các phần tử mảng được truy cập thông qua chỉ mục . Chỉ số mảng là 0 dựa trên; nghĩa là, chúng bắt đầu từ 0 đến arrayRefVar.length-1 .

Thí dụ

Tuyên bố sau tuyên bố một biến mảng, myList, tạo một mảng gồm 10 phần tử của kiểu kép và gán tham chiếu của nó cho myList 
double[] myList = new double[10];
Hình ảnh sau đại diện cho mảng myList. Ở đây, myList chứa mười giá trị kép và các chỉ số là từ 0 đến 9.

ảnh minh họa

Xử lý mảng

Khi xử lý các phần tử mảng, chúng ta thường sử dụng vòng lặp for hoặc vòng lặp foreach vì tất cả các phần tử trong một mảng có cùng loại và kích thước của mảng được biết.

Thí dụ

Dưới đây là một ví dụ hoàn chỉnh cho thấy cách tạo, khởi tạo và xử lý các mảng -
public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (int i = 0; i < myList.length; i++) {
         System.out.println(myList[i] + " ");
      }
     
      // Summing all elements
      double total = 0;
      for (int i = 0; i < myList.length; i++) {
         total += myList[i];
      }
      System.out.println("Total is " + total);
      
      // Finding the largest element
      double max = myList[0];
      for (int i = 1; i < myList.length; i++) {
         if (myList[i] > max) max = myList[i];
      }
      System.out.println("Max is " + max);  
   }
}
Điều này sẽ tạo ra kết quả sau 

Đầu ra

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

Các vòng lặp foreach

JDK 1.5 giới thiệu một vòng lặp mới được gọi là vòng lặp foreach hoặc được tăng cường cho vòng lặp, cho phép bạn duyệt qua toàn bộ chuỗi tuần tự mà không cần sử dụng biến chỉ mục.

Thí dụ

Đoạn mã sau hiển thị tất cả các phần tử trong mảng myList -
public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (double element: myList) {
         System.out.println(element);
      }
   }
}
Điều này sẽ tạo ra kết quả sau

Đầu ra

1.9
2.9
3.4
3.5

Chuyển mảng sang phương thức

Cũng giống như bạn có thể truyền các giá trị kiểu nguyên thủy cho các phương thức, bạn cũng có thể truyền các mảng tới các phương thức. Ví dụ, phương thức sau hiển thị các phần tử trong một mảng int

Thí dụ

public static void printArray(int[] array) {
   for (int i = 0; i < array.length; i++) {
      System.out.print(array[i] + " ");
   }
}

Bạn có thể gọi nó bằng cách truyền một mảng. Ví dụ, câu lệnh sau gọi phương thức printArray để hiển thị 3, 1, 2, 6, 4 và 2

Thí dụ

printArray(new int[]{3, 1, 2, 6, 4, 2});
Trả về một mảng từ một phương thức

Một phương thức cũng có thể trả về một mảng. Ví dụ, phương thức sau trả về một mảng là sự đảo ngược của mảng khác

Thí dụ

public static int[] reverse(int[] list) {
   int[] result = new int[list.length];

   for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
      result[j] = list[i];
   }
   return result;
}

Lớp Mảng

Lớp java.util.Arrays chứa các phương thức tĩnh khác nhau để sắp xếp và tìm kiếm các mảng, so sánh các mảng và làm đầy các phần tử mảng. Các phương thức này bị quá tải cho tất cả các kiểu nguyên thủy.

Sr.No.Phương thức & Mô tả
1public static int binarySearch (Object [] a, Khóa đối tượng)

Tìm kiếm mảng được chỉ định của đối tượng (Byte, Int, double, etc.) cho giá trị được chỉ định bằng thuật toán tìm kiếm nhị phân. Mảng phải được sắp xếp trước khi thực hiện cuộc gọi này. Điều này trả về chỉ mục của khóa tìm kiếm, nếu nó được chứa trong danh sách; nếu không, nó sẽ trả về (- (điểm chèn + 1)).
2công thức tĩnh boolean bằng (dài [] a, dài [] a2)

Trả về true nếu hai mảng dài được chỉ định bằng nhau. Hai mảng được coi là bằng nhau nếu cả hai mảng chứa cùng một số phần tử và tất cả các cặp phần tử tương ứng trong hai mảng đều bằng nhau. Điều này trả về true nếu hai mảng bằng nhau. Phương thức tương tự có thể được sử dụng bởi tất cả các kiểu dữ liệu nguyên thủy khác (Byte, short, Int, v.v.)
3công khai điền void tĩnh (int [] a, int val)

Gán giá trị int đã chỉ định cho từng phần tử của mảng int được chỉ định. Phương pháp tương tự có thể được sử dụng bởi tất cả các kiểu dữ liệu nguyên thủy khác (Byte, short, Int, v.v.)
4loại void tĩnh công cộng (Object [] a)

Sắp xếp mảng đối tượng được chỉ định thành thứ tự tăng dần, theo thứ tự tự nhiên của các phần tử của nó. Phương pháp tương tự có thể được sử dụng bởi tất cả các kiểu dữ liệu nguyên thủy khác (Byte, short, Int, v.v.)

Thứ Hai, 2 tháng 7, 2018

Java - Lớp nhân vật

Thông thường, khi chúng ta làm việc với các ký tự trong ngôn ngữ lập trình java, chúng ta sử dụng kiểu dữ liệu nguyên gốc char.

ảnh minh họa

Thí dụ

char ch = 'a';

// Unicode for uppercase Greek omega character
char uniChar = '\u039A'; 

// an array of chars
char[] charArray ={ 'a', 'b', 'c', 'd', 'e' }; 

Tuy nhiên trong quá trình phát triển, chúng ta gặp phải các tình huống mà chúng ta cần sử dụng các đối tượng thay vì các kiểu dữ liệu nguyên thủy. Để đạt được điều này, Java cung cấp lớp wrapper Character cho char kiểu dữ liệu nguyên thủy.

Lớp Character cung cấp một số phương thức lớp hữu ích (tức là tĩnh) để thao tác các ký tự. Bạn có thể tạo một đối tượng Character với hàm tạo Character

Character ch = new Character('a');

Trình biên dịch Java cũng sẽ tạo ra một đối tượng Character cho bạn trong một số trường hợp. Ví dụ, nếu bạn chuyển một char nguyên thủy vào một phương thức mong đợi một đối tượng, trình biên dịch sẽ tự động chuyển đổi char thành một ký tự cho bạn. Tính năng này được gọi là autoboxing hoặc unboxing, nếu chuyển đổi theo cách khác.

Thí dụ

// Here following primitive char 'a'
// is boxed into the Character object ch
Character ch = 'a';

// Here primitive 'x' is boxed for method test,
// return is unboxed to char 'c'
char c = test('x');

Chuỗi thoát

Một ký tự đứng trước dấu gạch chéo ngược (\) là một chuỗi thoát và có ý nghĩa đặc biệt đối với trình biên dịch.

Ký tự dòng mới (\ n) đã được sử dụng thường xuyên trong hướng dẫn này trong các câu lệnh System.out.println () để tiến tới dòng kế tiếp sau khi chuỗi được in.

Bảng sau đây cho thấy trình tự thoát Java

Trình tự thoátSự miêu tả
\ tChèn một tab vào văn bản tại thời điểm này.
\ bChèn một backspace trong văn bản vào thời điểm này.
\ nChèn một dòng mới vào văn bản tại thời điểm này.
\ rChèn một dấu xuống dòng trong văn bản tại thời điểm này.
\ fChèn nguồn cấp dữ liệu biểu mẫu vào văn bản tại thời điểm này.
\ 'Chèn một ký tự trích dẫn trong văn bản vào thời điểm này.
\ "Chèn một ký tự trích dẫn kép trong văn bản tại thời điểm này.
\\Chèn một ký tự dấu gạch chéo ngược vào văn bản tại thời điểm này.
Khi một chuỗi thoát được gặp trong một lệnh in, trình biên dịch sẽ diễn giải nó một cách phù hợp.

Thí dụ

Nếu bạn muốn đặt dấu ngoặc kép trong dấu ngoặc kép, bạn phải sử dụng chuỗi thoát, \ ", trên dấu ngoặc kép
public class Test {

   public static void main(String args[]) {
      System.out.println("She said \"Hello!\" to me.");
   }
}

Điều này sẽ tạo ra kết quả sau

Đầu ra

She said "Hello!" to me.

Phương pháp ký tự

Sau đây là danh sách các phương thức cá thể quan trọng mà tất cả các lớp con của lớp Character thực hiện
Sr.No.Phương thức & Mô tả
1isLetter ()

Xác định liệu giá trị char được chỉ định có phải là một chữ cái hay không.
2isDigit ()

Xác định liệu giá trị char được chỉ định có phải là chữ số hay không.
3isWhitespace ()

Xác định liệu giá trị char được chỉ định có là khoảng trắng hay không.
4isUpperCase ()

Xác định liệu giá trị char được chỉ định có phải là chữ hoa hay không.
5isLowerCase ()

Xác định liệu giá trị char được chỉ định có phải là chữ thường hay không.
6Đến trường hợp trên()

Trả về dạng chữ hoa của giá trị char được chỉ định.
7toLowerCase ()

Trả về dạng chữ thường của giá trị char được chỉ định.
số 8toString ()

Trả về một đối tượng String biểu diễn giá trị ký tự được chỉ định, đó là một chuỗi ký tự một.
Để biết danh sách đầy đủ các phương thức, vui lòng tham khảo đặc tả API java.lang.Character.

Tiếp theo là gì

Trong phần tiếp theo, chúng ta sẽ đi qua lớp String trong Java. Bạn sẽ học cách khai báo và sử dụng Strings một cách hiệu quả cũng như một số phương thức quan trọng trong lớp String.

Lập trình Java - Ngoại lệ

Một ngoại lệ (hoặc sự kiện đặc biệt) là một vấn đề phát sinh trong quá trình thực hiện chương trình. Khi xảy ra Ngoại lệ , luồng bình thường...