Sự khác nhau giữa '\t' và "\t" trong java

Khi em sử dụng hàm System.out.println (2 + "\t" + 3) thì ra kết quả 2 3 cái này thì em biết.
Nhưng sao khi đổi lại thành System.out.println (2 + '\t' + 3) thì kết quả ra là 14 em thấy lạ.
Cho em hỏi tại sao lại ra như vậy và sự khác nhau giữa "\t"'\t' là gì vậy.

3 Likes

Bạn thử

System.out.println("" + 2 + '\t' + 3) ;

Xem còn sự khác nhau giữa “\t” và ‘\t’ không nhá :smile:, ngoài ra còn có thể thử thêm:

System.out.println(2 + 'a' + 3) ;
System.out.println(2 + "a" + 3) ;
System.out.println("" + 2 + 'a' + 3) ;
3 Likes

Theo mình nghĩ thì ở ví dụ trên “\t” được hiểu là string nên cast hai số int thành kiểu string rồi cộng string còn ví dụ dưới hiểu là kiểu char nên cast qua int rồi thực hiện phép cộng số int.

5 Likes

à ra là vậy nếu “\t” thì hiểu là escape character còn nếu ‘\t’ thì nó hiểu là character à giớ mới biết :smile:

Theo như mình biết trong ‘/t’ được hiểu là kiểu dữ liệu char. Mà char có thể hiểu là chuỗi mà cũng có thể hiểu là 1 số nguyên theo bảng ASCII Table ‘/t’ là Horizontal tab <=> số 9 vì thế khi thực hiện phép cộng
‘t’ + 0 sẽ cho ra kết quả là 9. Còn “/t” được hiểu là chuỗi kí tự <=> tab. Có thể tham khảo thêm ở đây để hiểu thêm nhé http://www.java2s.com/example/java/language-basics/displaying-multiple-lines-of-text-with-a-single-statement.html. GoodLuck !!!

2 Likes

Vì sao char có thể hiểu là chuỗi? Nó là kí tự mới đúng chứ ạ?

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?