mình đang ôn thi cuối học phần và trong tài liệu ôn thi mượn được từ thằng bạn thì có một câu như này nhờ mọi người cùng nhau thảo luận giúp mình nhé!
Lúc đầu mình nghĩ là sẽ in ra 2 dòng “isDigit() called”
Nhưng khi viết chương trình chạy thì chỉ hiện 1 dòng thôi.
Khi thay and trong if ở main thành or thì lại in ra 2 dòng.
Mình đã thử với rất nhiều trường hợp khác nhau nhưng vẫn không thể hiểu nổi!
Mong nhận đc sự góp ý tận tình từ mọi người!
Thân.
Thắc mắc về hàm và gọi hàm
Vì isDigit('B')
có kết quả là FALSE
nên cả biểu thức AND chắc chắn trả về FALSE
Trường hợp này các biểu thức phía sau sẽ được bỏ qua để tối ưu chi phí.
Tương tự với toán tử OR
, nếu có 1 toán hạng là TRUE
thì cả biểu thức chắc chắn là TRUE
, các toán hạng phía sau sẽ được lược bỏ.
Trong C,C++, java thì toán tử && nếu false thì bỏ qua cái sau luôn. Nên chỉ có 1 cái isDigit thôi
OK! giờ thì mình đã hiểu! Cảm ơn mọi người!
FPT University ^^.
Có lấy key không em ơi
Thi xong rồi anh @Is2IT
@lanhhuyet510 Eo chưa kịp vào thể hiện tài năng thì @lanhhuyet510 đã hiểu rồi
@dangh Thanks bro
Nếu vậy thì coi nó là toán hạng. Vì nó tham gia vào phép so sánh &&
bài này cũng hay vừa bíêt cách gọi hàm vừa phân biệt & và && mà có ai thử code trên java giống mình k ta tùm lum lỗi lun