Copyright © 2008-2015 Công ty Cổ phần VCCorp - Chịu trách nhiệm quản lý nội dung: Bà Nguyễn Bích Minh
Hotline: (84)-4-73095555 (ext: 62173) - Email: info@vccorp.vn
Địa chỉ: Tầng 17,19,20,21 Toà nhà Center Building - Hapulico Complex, Số 1 Nguyễn Huy Tưởng, Thanh Xuân, Hà Nội
Giấy phép thiết lập mạng xã hội trên mạng số: 278/GP-BTTT do Bộ Thông tin và Truyền thông cấp ngày 14 tháng 6 năm 2017
@anhpndnet giải thích đơn giản là
- while () {} kiểm tra điều kiện trước, điều kiện ok rồi mới làm
- do {} while () là làm trước rồi mới kiểm tra
cả 2 đều là lệnh lặp (tức là điều kiện OK thì lại làm tiếp)
---
lấy ví dụ thực tế:
- việc cần làm là đưa tiền cho vợ
- điều kiện là vợ vui vẻ
vậy giờ bác có 2 lựa chọn:
- cứ đưa tiền cho vợ, lúc nào vợ vui thì thôi (do - while)
- kiểm tra xem vợ vui chưa, vui rồi thì thôi ko đưa, còn nếu không vui thì đưa (while - do)
(giả dụ mỗi lần đưa 1T, lúc nào ok thì dừng. Lúc buồn ít thì đưa 5 lần, buồn nhiều đưa 10 lần, vd thế)
Lúc nào thì chọn 1, lúc nào chọn 2? Quá đơn giản, lúc mà bác biết chắc chắn vợ đang không vui thì bác do - while; còn lúc bác không biết chắc thì bác while - do
giống cái ảnh lõi cuộn giấy vệ sinh minh họa cho null
@haiyannotme cái lõi vẫn xoay xoay chà chà đc nha bác
@dangquang1020 null là không còn cái lõi luôn rồi bác
@dangquang1020 cái lõi là giá trị 0 đối với Int hoặc rỗng với String
.
Cái này nghĩ là sao nhỉ ?
@anhpndnet check điều kiện trước khi thực hiện lệnh chạy thì nếu gặp bờ rìa nó sẽ dừng lại. Check điều kiện sau thì nó chạy đến vực rồi mới dừng, nôm na là có thể gặp lỗi. Em ko phải coder
@Mr_TK mình cũng tạm hiểu thế nhưng mình thắc mắc là nếu nó đã vô dụng kiểu như hình trên thì người ta còn làm theo cách đó để làm gì đâu nhỉ
@anhpndnet ko khác nhau gì nhiều đâu bác ạ. 1 cái chạy từ 0 đến n-1, 1 cái từ 1 đến n thôi. Khi bác phải chạy ít nhất 1 lần để có dữ liệu thì cái thứ 2 tiện hơn.
@anhpndnet thực tế cái vòng lặp thứ 2 được sử dụng rất nhiều, nhất là trong trường hợp đọc file theo từng block data (nói chung là streaming data processing).
@inlephant @vitoj78640 mấy bác giải thích càng khiến mình lú hơn
mình mới chỉ đọc học Python sơ sơ để chạy phân tích dữ liệu thôi chứ không rành lập trình cho lắm
@anhpndnet vậy bác chắc không phải coder rồi :v
@anhpndnet dễ hiểu mà bác, ví dụ bác đọc data từ file, nhất là file lớn, bác sẽ chỉ đọc từng block 4k bytes, bác phải đọc thử trước 1 phần, nếu file có data hoặc chưa kết thúc file thì mới chạy tiếp, như vậy thì bác phải run() trước, sau đó mới kiểm tra điều kiện để lặp lại chạy tiếp.
@anhpndnet giải thích đơn giản là
- while () {} kiểm tra điều kiện trước, điều kiện ok rồi mới làm
- do {} while () là làm trước rồi mới kiểm tra
cả 2 đều là lệnh lặp (tức là điều kiện OK thì lại làm tiếp)
---
lấy ví dụ thực tế:
- việc cần làm là đưa tiền cho vợ
- điều kiện là vợ vui vẻ
vậy giờ bác có 2 lựa chọn:
- cứ đưa tiền cho vợ, lúc nào vợ vui thì thôi (do - while)
- kiểm tra xem vợ vui chưa, vui rồi thì thôi ko đưa, còn nếu không vui thì đưa (while - do)
(giả dụ mỗi lần đưa 1T, lúc nào ok thì dừng. Lúc buồn ít thì đưa 5 lần, buồn nhiều đưa 10 lần, vd thế)
Lúc nào thì chọn 1, lúc nào chọn 2? Quá đơn giản, lúc mà bác biết chắc chắn vợ đang không vui thì bác do - while; còn lúc bác không biết chắc thì bác while - do
@inlephant @KaZaT @vitoj78640 @accelerando @Mr_TK mình mới post link này, mời các bác coder qua đàm đạo cho vui
https://linkhay.com/link/5453774/t...
@anhpndnet một cái thì check xem hoa đã có chủ chưa rồi mới tán, một cái thì tán trước rồi check sau
Thực tế thì 2 lệnh thay thế cho nhau được
while ko còn đc sử dụng nhìu trong ngôn ngữ lập trình phổ biến hiện nay.
Phim con gà tốc độ này coi cuốn phết, với cả nàng tiên cá với con cá mập, 3 con gián =]]
Có những case phải "do" thử mới biết có thỏa mãn hay ko. chứ ko phải lúc nào cũng why xong do dc