Nhập vào các số thực cho đến khi gặp 0 đưa ra giá trị lớn nhất trong các số vừa nhập Java

Được chỉnh sửa ngày 30/10/2020.

Chào mừng các bạn đến với bài học Java số 9, bài học về các câu lệnh lặp trong Java. Bài học này nằm trong chuỗi bài học lập trình ngôn ngữ Java của Yellow Code Books.

Bài trước chúng ta đã làm quen với phần một của các Câu Lệnh Điều Khiển Luồng [Control Flow], đó là các Câu Lệnh Điều Kiện [hay Câu Lệnh Rẽ Nhánh]. Bài hôm nay chúng ta đi tiếp phần còn lại đó là các Câu Lệnh Lặp.

Lặp [tiếng Anh gọi là Loop] trong lập trình là một hành động lặp đi lặp lại một khối lệnh nào đó khi mà một điều kiện nào đó còn thỏa [thỏa – hay còn hiểu là kết quả của biểu thức đó là true]. Nếu như với các Câu Lệnh Điều Kiện giúp bạn rẽ nhánh các dòng code, thì các Câu Lệnh Lặp bài này lại giúp bạn lặp lại các dòng code nào đó.

Mình ví dụ có một yêu cầu bắt bạn in ra màn hình 1000 con số từ 1 đến 1000, chẳng lẽ bạn lại gọi 1000 lần câu lệnh System.out.println[]?

Ví dụ thực tế hơn, nếu như có yêu cầu muốn bạn in ra tên tất cả sinh viên của trường bạn [giả sử bạn đã biết câu lệnh đọc một thông tin sinh viên lên từ cơ sở dữ liệu], chẳng lẽ bạn lại viết code đọc dữ liệu của từng sinh viên và in ra màn hình?

Các ví dụ trên cho chúng ta thấy khái niệm thực tế rõ ràng và sự cần thiết khi sử dụng đến các Câu Lệnh Lặp trong bài hôm nay.

Chúng ta có 3 loại câu lệnh lặp cần làm rõ trong bài hôm nay, đó là: whiledo while và for.

while

Cú pháp cho câu lệnh while như sau.

while [điều_kiện_lặp] { các_câu_lệnh; }

Cú pháp của câu lệnh while khá đơn giản, ban đầu chương trình sẽ kiểm tra điều_kiện_lặp, nếu điều kiện này trả về kết quả true, thì các_câu_lệnh sẽ được thực thi, rồi sau đó chương trình sẽ lại kiểm tra điều_kiện_lặp. Vòng lặp while chỉ được kết thúc khi điều_kiện_lặp trả về kết quả false.

Ví dụ.

int i = 0; while [i < 10] { System.out.println["Hello!"]; i++; }

Bạn thấy ví dụ trên đây phải khởi tạo biến i [người ta gọi đây là biến đếm, vì đây là biến dùng để điều khiển số lần lặp của vòng while]. Bắt đầu vào while, bạn thấy điều_kiện_lặp được đưa ra là nếu biến i còn nhỏ hơn 10 thì các_câu_lệnh bên trong được thực hiện, ở ví dụ này chỉ là hàm in ra màn hình câu chào “Hello!”. Bạn chú ý một điều, trong thân hàm while bạn luôn phải thay đổi giá trị của biến đếm, trong ví dụ này i++; giúp tăng biến đếm lên 1 đơn vị, để sao cho đến một lúc nào đó điều_kiện_lặp phải bị phá vỡ, trường hợp này là i bằng 10, thì hàm while mới kết thúc.

Nếu lấy can đảm bỏ dòng i++; ở ví dụ trên đi rồi chạy lại, bạn sẽ thấy dòng in ra màn hình được gọi mãi mãi, người ta gọi trường hợp này là lặp vô tận.

Bạn thử áp dụng vòng lặp while để thực hiện yêu cầu sau: hãy in ra console tổng các số chẵn từ dãy số nguyên có độ lớn từ 1 đến 10.

Lưu ý kiểm tra một số chẵn bằng cách thực hiện phép chia dư số đó với 2, nếu kết quả phép chia dư là 0 thì đó là số chẵn.

Bạn hãy thử code, rồi so sánh với kết quả sau nhé.

int i = 1; int sumEven = 0; while [i

Chủ Đề