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"
và '\t'
là gì vậy.
Sự khác nhau giữa '\t' và "\t" trong java
Bạn thử
System.out.println("" + 2 + '\t' + 3) ;
Xem còn sự khác nhau giữa “\t” và ‘\t’ không nhá , 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) ;
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.
à 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
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 !!!
Vì sao char có thể hiểu là chuỗi? Nó là kí tự mới đúng chứ ạ?