Bài 10- Cấu trúc điều khiển if else trong Kotlin


Với Kotlin thì if, else ngoài việc đóng vai trò là một tập lệnh điều kiện (cấu trúc truyền thống), nó còn là một biểu thức trả về giá trị khá thú vị.

1)Ta vào cấu trúc if truyền thống, cú pháp:

if  (<expression> )

{

<statement>

}

Cấu trúc if ở trên chỉ quan tâm tới điều kiện đúng, khi <expression> trong if đúng thì sẽ thực hiện các lệnh <statement> ở bên trong if.

Lưu đồ hoạt động:

Ví dụ, kiểm tra điểm Trung bình >=5 thì ghi đậu:


fun main(args: Array<String>) {
var dtb:Double=8.0;
if(dtb>=5)
{
println("Đậu")
}
}

2)Ta vào cấu trúc if và else truyền thống, cú pháp:

if  (< expression > )

{

< statement 1>

}

else

{

< statement 2>

}

Cấu trúc if else quan tâm tới điều kiện đúng và sai. Nếu <expression> đúng thì nội dung <statement 1> của if sẽ được thực hiện, nếu <expression> sai thì nội dung <statement 2> của else sẽ được thực hiện. Đây là một trong những cấu trúc phổ biến nhất được sử dụng rất nhiều trong quá trình kiểm tra điều kiện.

Lưu đồ hoạt động:

Ví dụ, kiểm tra điểm Trung bình >=5 thì ghi đậu, <5 thì rớt:


fun main(args: Array<String>) {
var dtb:Double=4.0;
if(dtb>=5)
{
println("Đậu")
}
else
{
println("Cáo phó")
}
}

3)Ta có thể lồng ghép các if else vào với nhau:

Ví dụ: Nhập vào một điểm Trung bình [0..10], kiểm tra điểm này đậu hay rớt:


fun main(args: Array<String>) {
var dtb:Double=0.0;
println("Mời bạn nhập điểm trung bình:")
var s:String?= readLine()
if(s!=null)
{
dtb=s.toDouble()
if(dtb>=0 && dtb<=10) { if (dtb >= 5)
{
println("Đậu")
}
else
{
println("Rớt")
}
}
else
{
println("Thím phải nhập điểm [0...10]")
}
}
else
{
println("Thím nhập lụi")
}
}

Như vậy ở trên ta đã học được cách tiếp cận if else theo phương pháp truyền thống (như là một biểu thức điều kiện). Bây giờ Tui sẽ trình bày điểm mới if else trong Kotlin đó là nó hoạt động như một biểu thức trả về kết quả:

Ví dụ: cho 2 số a và b, tìm số lớn nhất:

Cách viết theo biểu thức
Cách viết truyền thống

fun main(args: Array<String>) {
var a:Int=10
var b:Int=15
var max:Int
max=if (a>b) a else b
println("Số lớn nhất ="+max)
}


fun main(args: Array<String>) {
var a:Int=10
var b:Int=15
var max:Int
if(a>b)
max=a
else
max=b
println("Số lớn nhất ="+max)
}

Chú ý khi viết if với dạng biểu thức trả về kết quả thì bắt buộc phải có else

Ngoài ra biểu thức if else cũng cho phép viết dạng block lệnh {}, dòng lệnh cuối cùng trong mỗi block đó chính là kết quả trả về, ví dụ:


fun main(args: Array<String>) {
var a:Int=10
var b:Int=15
var max = if (a > b) {
println("Choose a")
a
} else {
println("Choose b")
b
}
println("max ="+max)
}

Đoạn lệnh trên khi chạy sẽ ra kết quả:

Choose b
max =15

Giá trị a ở cuối if, giá trị b ở cuối else là kết quả trả về và gán vào cho biến max.

Như vậy tới đây Tui đã hướng dẫn xong cấu trúc điều khiển if, else trong Kotlin, các bạn chú ý học kỹ và hiểu được nó thông qua các ví dụ ở trên nhé. Đặc biệt nắm được lưu đồ hoạt động, cách viết theo dạng biểu thức của if else

Các bạn có thể tải source code bài này ở đây: http://www.mediafire.com/file/6c5swjx84rl9edp/HocIfElse.rar

Hẹn gặp các bạn ở những bài tiếp theo

Chúc các bạn thành công!

Trần Duy Thanh (http://ssoftinc.com/)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: