Giống như nhiều ứng dụng và ngôn ngữ lập trình khác, Scala cũng có các câu lệnh điều kiện if-else để ra quyết định. Khối điều kiện if sẽ được thực thi nếu điều kiện là True; nếu không, khối điều kiện else sẽ được thực thi (chỉ khi có câu lệnh else).
Thông thường, câu lệnh else không có điều kiện; nó chỉ chạy khi điều kiện if là False. Tóm lại, các câu lệnh if-else gồm các biểu thức boolean hoạt động trên cơ sở True-False.
Có nhiều kiểu câu lệnh if-else khác nhau:
- Câu lệnh If,
- Câu lệnh If-Else,
- If-else lồng nhau,
- If-Else-If-Else.
Trước khi bắt đầu tìm hiểu các kiểu if-else khác nhau, hãy nhanh chóng thiết lập môi trường Scala cho người dùng mac theo các bước dưới đây.
Lưu ý: Hãy đảm bảo bạn đã cài Java, nếu chưa thì vui lòng làm theo hướng dẫn tại đây.
Sau khi xong các bước trên, hãy nhanh chóng kiểm tra cài đặt bằng cách gõ scala trong terminal, bạn sẽ thấy đầu ra như bên dưới.
Lưu ý: Trong hướng dẫn này, bạn sẽ viết mã trong trình soạn thảo vim và thực thi từ terminal.
Câu lệnh if trong Scala
Câu lệnh if bao gồm một biểu thức có bản chất là boolean (đúng hoặc sai). Nếu biểu thức là đúng, khối mã bên trong câu lệnh if sẽ được thực thi; nếu biểu thức là sai, dòng mã đầu tiên ngay sau phần kết thúc của câu lệnh if sẽ được thực thi.
if(boolean expression){
execute if boolean expression holds true}Được hỗ trợ bởi
Đầu tiên, bạn sẽ định nghĩa một object hoặc class tên scala_if; bên trong đó bạn đặt hàm main và viết phần thân chính của mã. Bạn sẽ tạo một biến số nguyên x với giá trị 20. Cuối cùng là phần cốt lõi: khối if với điều kiện x<=20; vì x có giá trị 20 nên khối bên trong câu lệnh if sẽ được thực thi.
Hãy lưu đoạn mã dưới đây với tên if.scala.
Để chạy đoạn mã trên, bạn chỉ cần gõ scala if.scala và bạn sẽ thấy đầu ra như bên dưới.
Câu lệnh if-else trong Scala
Tương tự câu lệnh if, câu lệnh if-else cũng gồm một biểu thức có bản chất boolean (đúng hoặc sai). Nếu điều kiện if là đúng thì khối mã trong if sẽ được thực thi; nếu sai thì khối mã trong else sẽ được thực thi.
if(boolean expression){
execute if boolean expression holds true}else{
execute block if boolean expression(if statement) holds false}Được hỗ trợ bởi
Đoạn mã sau sẽ thực thi câu lệnh else vì biến x có giá trị lớn hơn 20, do đó khối mã bên trong else sẽ được chạy.
Hãy lưu đoạn mã dưới đây với tên if-else.scala.
Để chạy đoạn mã trên, bạn chỉ cần gõ scala if-else.scala và bạn sẽ thấy đầu ra như bên dưới.
If-else lồng nhau trong Scala
Tương tự như thường có một câu lệnh if theo sau bởi một câu lệnh else, cấu trúc if-else lồng nhau cũng tương tự về tinh thần. Trong if-else lồng nhau, bạn có thể dùng một câu lệnh if hoặc else-if bên trong một câu lệnh if hoặc else-if khác.
Ở phần tiếp theo, bạn sẽ xem các câu lệnh else-if.
Đoạn mã sau sử dụng các câu lệnh nested-if để so sánh bốn biến số nguyên là $v$, $x$, $y$ và $z$, và cuối cùng, nếu tất cả điều kiện đúng, nó sẽ in kết quả ra terminal.
Hãy lưu đoạn mã dưới đây với tên nested-if-else.scala.
Câu lệnh else-if trong Scala
Câu lệnh else-if mạnh mẽ hơn so với if-else. Khác với if-else, nơi một else theo sau một câu lệnh if, else-if bản thân nó là một câu lệnh đơn. Nó cho phép bạn kiểm tra nhiều điều kiện.
Tuy nhiên, có một vài quy tắc cần lưu ý khi dùng else-if:
Một else-if chỉ nên xuất hiện sau một câu lệnh if; một câu lệnh if có thể có không hoặc nhiều else-if.
Tương tự, một else chỉ nên xuất hiện sau các câu lệnh if và else-if; một câu lệnh if có thể có không hoặc một câu lệnh else.
Khi một else-if thành công, tất cả các else-if hoặc else còn lại sẽ bị bỏ qua.
if(boolean expression 1){
execute block 1if boolean expression 1 holds true}else-if(boolean expression 2){
execute block 2if boolean expression 2 holds true}else{
execute this block if all of the above statements holds false}Được hỗ trợ bởi
Kết luận
Chúc mừng bạn đã hoàn thành hướng dẫn.
Hướng dẫn này là điểm khởi đầu tốt cho người mới muốn học các câu lệnh điều kiện IF ELSE trong Scala.
Một bài tập nhỏ cho bạn: hãy viết một đoạn mã ngắn sử dụng câu lệnh else-if trong Scala và thử hiểu cách các câu lệnh này khác với những kiểu còn lại.
Giống như nhiều ứng dụng và ngôn ngữ lập trình khác, Scala cũng có các câu lệnh điều kiện
if-elseđể ra quyết định. Khối điều kiệnifsẽ được thực thi nếu điều kiện là True; nếu không, khối điều kiệnelsesẽ được thực thi (chỉ khi có câu lệnhelse).Thông thường, câu lệnh
elsekhông có điều kiện; nó chỉ chạy khi điều kiệniflà False. Tóm lại, các câu lệnhif-elsegồm các biểu thức boolean hoạt động trên cơ sởTrue-False.Có nhiều kiểu câu lệnh
if-elsekhác nhau:- Câu lệnh If,
- Câu lệnh If-Else,
- If-else lồng nhau,
- If-Else-If-Else.
Trước khi bắt đầu tìm hiểu các kiểu
if-elsekhác nhau, hãy nhanh chóng thiết lập môi trường Scala cho người dùng mac theo các bước dưới đây.Lưu ý: Hãy đảm bảo bạn đã cài Java, nếu chưa thì vui lòng làm theo hướng dẫn tại đây.
- \$ brew update
- \$ brew install scala
- \$ brew install sbt
- \$ echo '-J-XX:+CMSClassUnloadingEnabled' >>
/usr/local/etc/sbtopts
- \$ echo '-J-Xmx2G' >> /usr/local/etc/sbtopts
Sau khi xong các bước trên, hãy nhanh chóng kiểm tra cài đặt bằng cách gõ
scalatrong terminal, bạn sẽ thấy đầu ra như bên dưới.Lưu ý: Trong hướng dẫn này, bạn sẽ viết mã trong trình soạn thảo
vimvà thực thi từ terminal.Câu lệnh if trong Scala
Câu lệnh
ifbao gồm một biểu thức có bản chất làboolean(đúng hoặc sai). Nếu biểu thức là đúng, khối mã bên trong câu lệnhifsẽ được thực thi; nếu biểu thức là sai, dòng mã đầu tiên ngay sau phần kết thúc của câu lệnhifsẽ được thực thi.Đầu tiên, bạn sẽ định nghĩa một
objecthoặcclasstênscala_if; bên trong đó bạn đặt hàmmainvà viết phần thân chính của mã. Bạn sẽ tạo một biến số nguyênxvới giá trị 20. Cuối cùng là phần cốt lõi: khốiifvới điều kiệnx<=20; vìxcó giá trị 20 nên khối bên trong câu lệnhifsẽ được thực thi.Hãy lưu đoạn mã dưới đây với tên
if.scala.Để chạy đoạn mã trên, bạn chỉ cần gõ
scala if.scalavà bạn sẽ thấy đầu ra như bên dưới.Câu lệnh if-else trong Scala
Tương tự câu lệnh
if, câu lệnhif-elsecũng gồm một biểu thức có bản chấtboolean(đúng hoặc sai). Nếu điều kiệniflà đúng thì khối mã trongifsẽ được thực thi; nếu sai thì khối mã trongelsesẽ được thực thi.Đoạn mã sau sẽ thực thi câu lệnh
elsevì biếnxcó giá trị lớn hơn 20, do đó khối mã bên trongelsesẽ được chạy.Hãy lưu đoạn mã dưới đây với tên
if-else.scala.Để chạy đoạn mã trên, bạn chỉ cần gõ
scala if-else.scalavà bạn sẽ thấy đầu ra như bên dưới.If-else lồng nhau trong Scala
Tương tự như thường có một câu lệnh
iftheo sau bởi một câu lệnhelse, cấu trúcif-elselồng nhau cũng tương tự về tinh thần. Trong if-else lồng nhau, bạn có thể dùng một câu lệnh if hoặc else-if bên trong một câu lệnh if hoặc else-if khác.Ở phần tiếp theo, bạn sẽ xem các câu lệnh else-if.
Đoạn mã sau sử dụng các câu lệnh
nested-ifđể so sánh bốn biến số nguyên là $v$, $x$, $y$ và $z$, và cuối cùng, nếu tất cả điều kiện đúng, nó sẽ in kết quả ra terminal.Hãy lưu đoạn mã dưới đây với tên
nested-if-else.scala.Câu lệnh else-if trong Scala
Câu lệnh
else-ifmạnh mẽ hơn so vớiif-else. Khác với if-else, nơi mộtelsetheo sau một câu lệnhif,else-ifbản thân nó là một câu lệnh đơn. Nó cho phép bạn kiểm tra nhiều điều kiện.Tuy nhiên, có một vài quy tắc cần lưu ý khi dùng
else-if:Một
else-ifchỉ nên xuất hiện sau một câu lệnhif; một câu lệnhifcó thể có không hoặc nhiềuelse-if.Tương tự, một
elsechỉ nên xuất hiện sau các câu lệnhifvàelse-if; một câu lệnhifcó thể có không hoặc một câu lệnhelse.Khi một
else-ifthành công, tất cả cácelse-ifhoặcelsecòn lại sẽ bị bỏ qua.Kết luận
Chúc mừng bạn đã hoàn thành hướng dẫn.
Hướng dẫn này là điểm khởi đầu tốt cho người mới muốn học các câu lệnh điều kiện IF ELSE trong Scala.
Một bài tập nhỏ cho bạn: hãy viết một đoạn mã ngắn sử dụng câu lệnh
else-iftrong Scala và thử hiểu cách các câu lệnh này khác với những kiểu còn lại.Tài liệu tham khảo:
Vui lòng đặt câu hỏi liên quan đến hướng dẫn này trong phần bình luận bên dưới.