در این بخش از مقاله آموزش کاتلین به بررسی روش نمایش خروجی روی صفحه و همچنین دریافت ورودیهای از کاربر در این زبان برنامهنویسی خواهیم پرداخت.
خروجی کاتلین
امکان استفاده از تابعهای ()println و ()print برای ارسال خروجی به خروجی استاندارد (صفحه نمایش) وجود دارد. به مثال زیر توجه کنید:
fun main(args : Array<String>) { println("Kotlin is interesting.")
}
زمانی که این برنامه اجرا شود، خروجی به صورت زیر روی صفحه ظاهر میشود:
Kotlin is interesting.
در این کد ()println رشته درون گیومه را در خروجی ارائه میکند.
تفاوت بین ()println و ()print
- تابع ()print رشته درون گیومه را پرینت میکند.
- تابع ()println رشته درون گیومه را مشابه تابع ()print پرینت میکند. سپس کرسر به ابتدای خط بعدی میرود.
زمانی که از تابع ()println استفاده میکنیم، تابع ()System.out.println به صورت داخلی فراخوانی میشود. این تابع به منظور نمایش خروجی روی صفحه در جاوا استفاده میشود.
اگر از IntelliJ IDEA استفاده میکنید کرسر ماوس را در کنار عبارت println قرار داده و به منوی Navigate > Declaration قرار دهید. همچنین میتوانید کلیدهای ترکیبی Ctrl+B (در مک کلیدهای Cmd+B) را بزنید. به این ترتیب فایل اعلان به نام Console.kt باز میشود. در این فایل میتوانید ببینید که تابع ()println به صورت داخلی ()System.out.println را فراخوانی میکند. به طور مشابه زمانی که از تابع ()print استفاده میکنید، تابع ()System.out.print را در جاوا فراخوانی میکند.
مثال اول: ()print و ()println
fun main(args : Array<String>) { println("1. println "); println("2. println ");
print("1. print "); print("2. print");
}
خروجی برنامه فوق به صورت زیر است:
1. println 2. println 1. print 2. Print
مثال دوم: پرینت متغیرها و مقادیر لفظی
fun main(args : Array<String>) { val score = 12.3
println("score") println("$score") println("score = $score") println("${score + score}") println(12.3)
}
خروجی برنامه فوق نیز به صورت زیر است:
score 12.3 score = 12.3 24.6 12.3
ورودی در کاتلین
در این بخش با بحث گرفتن ورودیهای کاربر در زبان برنامهنویسی کاتلین آشنا خواهیم شد. برای خواندن یک خط از رشته ورودی در کاتلین باید از تابع ()readline استفاده کنیم.
مثال سوم: پرینت رشته وارد شده از سوی کاربر
fun main(args: Array<String>) { print("Enter text: ")
val stringInput = readLine()!! println("You entered: $stringInput")
}
خروجی برنامه فوق به صورت زیر است:
Enter text: Hmm, interesting! You entered: Hmm, interesting!
ما میتوانیم ورودی یک کاربر را به صورت یک رشته با استفاده از تابع ()readLine بگیریم و آن را به صورت صریح به مقادیر نوع دیگر مانند Int تبدیل کنیم.
اگر میخواهید ورودیهای کاربر را با انواع دیگری از داده بگیرید، میتوانید از شیء scanner استفاده کنید. به این منظور باید کلاس scanhner را از کتابخانه استاندارد جاوا ایمپورت کنید:
import java.util.Scanner
سپس باید شیء Scanner را از این کلاس بسازید.
val reader = Scanner(System.`in`)
اکنون شیء reader میتواند برای دریافت ورودی از کاربر مورد استفاده قرار گیرد.
مثال چهارم: دریافت عدد صحیح ورودی از سوی کاربر
import java.util.Scanner
fun main(args: Array<String>) {
// Creates an instance which takes input from standard input (keyboard) val reader = Scanner(System.`in`) print("Enter a number: ")
// nextInt() reads the next integer from the keyboard var integer:Int = reader.nextInt()
println("You entered: $integer")
}
با اجرای برنامه فوق، خروجی زیر تولید میشود:
Enter a number: -12 You entered: -12
در این کد، شیء reader از کلاس Scanner ایجاد میشود. سپس متد ()nextInt فراخوانی میشود که یک ورودی صحیح از کاربر میگیرد و آن را در متغیر Integer ذخیره میکند.
برای دریافت ورودیهای از نوع Long ،Float ،double و Boolean از کاربر میتوانیم به ترتیب از متدهای ()nextLong() ،nextFloat() ،nextDouble و ()nextBoolean استفاده کنیم.