ورودی در کاتلین
ورودی در کاتلین
درین قسمت با مشاجره به چنگ آوردن ورودیهای مخاطب در گویش نرمافزارنویسی کاتلین آشنا خواهیم شد. برای تلاوت یک خط از فن ورودی در کاتلین می بایست از تابع ()readline طراحی اپلیکیشن در مشهد استعمال کنیم.
نمونه سوم: پرینت حرفه وارداتی از سوی مخاطب
1fun main(args: Array) {
2 print("Enter text: ")
3
4 val stringInput = readLine()!!
5 println("You entered: $stringInput")
6}
خروجی اپ فوق به طور تحت میباشد:
Enter text: Hmm, interesting!
You entered: Hmm, interesting!
ما می توانیم ورودی یک مخاطب را به طور یک فن با به کارگیری از تابع ()readLine بگیریم و آن را به طور مصرح به مقادیر نوع دیگر مانند Int تبدیل کنیم.
در حالتی که می خواهید ورودیهای مخاطب را با گونه های دیگری از داده بگیرید، میتوانید از شیء scanner به کارگیری فرمائید. بدین خواسته بایستی کلاس scanhner را از کتابخانه استاندارد جاوا ایمپورت فرمایید:
1import java.util.Scanner
آن گاه می بایست شیء Scanner را از این کلاس بسازید.
1val reader = Scanner(System.`in`)
در حال حاضر شیء reader می تواند برای اخذ ورودی از استفاده کننده گزینه به کار گیری قرار گیرد.
نمونه چهارم: اخذ عدد درست ورودی از سوی مخاطب
1import java.util.Scanner
2
3fun main(args: Array) {
4
5 // Creates an instance which takes input from standard input (keyboard)
6 val reader = Scanner(System.`in`)
7 print("Enter a number: ")
8
9 // nextInt() reads the next integer from the keyboard
10 var integer:Int = reader.nextInt()
11
12 println("You entered: $integer")
13}
با اجرای اپلیکیشن فوق، خروجی پایین ایجاد می شود:
Enter a number: -12
You entered: -12
دراین کد، شیء reader از کلاس Scanner ساختوساز می شود. بعد مشی ()nextInt فراخوانی میگردد که یک ورودی درست از استفاده کننده می گیرد و آن را در متغیر Integer ذخیره مینماید.
برای اخذ ورودیهای از نوع Long ،Float ،double و Boolean از استفاده کننده خواهیم توانست به ترتیب از متدهای ()nextLong() ،nextFloat() ،nextDouble و ()nextBoolean استعمال کنیم.
عبارت if در کاتلین
دراین نصیب از نوشتهعلمی یادگرفتن کاتلین به امداد برخی نمونهها به نظارت نحوه به کار گیری از عبارت if در کاتلین میپردازیم.
کاربرد سنتی if...else
ساختار if...else به طور تحت میباشد:
1if (testExpression) {
2 // codes to run if testExpression is true
3}
4else {
5 // codes to run if testExpression is false
6}
عبارت if در صورتیکه که مقدار testExpression به طور true بررسی خواهد شد، قسمت خاصی از کد را اعمال مینماید. درصورتیکه یک حایل ازروی اراده else وجود داشته باشد، کدهای داخل سد else چنانچه اعمال میشوند که مقدار testExpression به طور false تحلیل گردد.
مثالی از کاربرد سنتی if...else
1fun main(args: Array) {
2
3 val number = -10
4
5 if (number > 0) {
6 print("Positive number")
7 } else {
8 print("Negative number")
9 }
10}
خروجی اجرای کد فوق به طور پایین میباشد:
Negative number
عبارت if در کاتلین
برخلاف جاوا و دیگر لهجههای اپلیکیشننویسی، عبارت if در کاتلین میتواند در یک عبارت و خیر پاراگراف نیز گزینه به کارگیری قرار گیرد. به نمونه پایین اعتنا نمایید:
مثالی از عبارت if در کاتلین
1fun main(args: Array) {
2
3 val number = -10
4
5 val result = if (number > 0) {
6 "Positive number"
7 } else {
8 "Negative number"
9 }
10
11 println(result)
12}
با اجرای کد فوق، خروجی ذیل روی برگه اکران مییابد:
Negative number
شاخه esle کد در شکل به کارگیری از if به طور یک عبارت، ضروری خواهد بود. درصورتیکه بدنه if مانند نمونه پایین، فقط یک جمله داشته باشد، به کارگیری از آکولادها، از روی اراده خواهد بود:
1fun main(args: Array) {
2 val number = -10
3 val result = if (number > 0) "Positive number" else "Negative number"
4 println(result)
5}
این خلق شبیه عملگر سهتایی در جاوا میباشد. از این رو در کاتلین هیچ عملگر سهتایی نیست.
مثالی از بلوک if با عبارتهای چندگانه
درصورتی که یک شاخه از بلوک if دربرگیرنده بیشتراز یک عبارت باشد، واپسین عبارت تحت عنوان مقدار بلوک برگشت مییابد.
1fun main(args: Array) {
2
3 val a = -9
4 val b = -11
5
6 val max = if (a > b) {
7 println("$a is larger than $b.")
8 println("max variable holds value of a.")
9 a
10 } else {
11 println("$b is larger than $a.")
12 println("max variable holds value of b.")
13 b
14 }
15 println("max = $max")
16}
مشاهده بدون نقص کدها
خروجی کد فوق به طور ذیل میباشد:
-9 is larger than -11.
max variable holds value of a.
max = -9