سلام به همه ی دوستان و علاقه مندان به جاوا . در این درس از سری آموزش جاوا می خواهیم شمارا با کلاس Scanner و متد nextInt در جاوا آشنا کنیم .
این درس را با یک مثال و یا تمرین شروع میکنیم و مثل گذشته موادر جدید را به شما آموزش می دهیم .

برنامه NetBeans را اجرا کنید و همانند ( درس دوم ) یک برنامه جدید ایجاد کنید :

برنامه به این صورت کار میکند که دو عدد را از درودی دریافت میکند و سپس آنها را با هم جمع میکند
کد زیرا تایپ کنید :

package sum;
import java.util.Scanner;
public class Sum {

    public static void main(String[] args) {
        Scanner myInput = new Scanner(System.in);
        
        int number1;
        int number2;
        int sum ;
        
        System.out.print("Enter First number :");
        number1 = myInput.nextInt();
        
        System.out.print("Enter Second Number :");
        number2 = myInput.nextInt();
        
        sum = number1 + number2 ;
        
        System.out.printf("Sum Is : %d\n", sum);
    }
    
}

برنامه را اجرا کنید ( F6 )
مشاهده خواهید کرد که از شما درخواست می کند عدد اول را وارد کنید و سپس کلید Enter را فشار دهید و عدد دوم را وارد کنید و باز هم کلید Enter را فشار دهید . مشاهده میکنید که در خروجی جمع اعداد شما را نمایش میدهد .
خروجی ما بصورت زیر خواهد بود:
درس چهارم : کلاس Scanner و متد nextInt در جاوا
خب بریم خطوط جدید را برای شما توضیح دهیم :

import java.util.Scanner;

این خط از برنامه را به طور معمول اعلان Import می گویند که نشان می دهد می خواهیم در این برنامه از چه کلاسی استفاده کنیم . این کلاس ها در پکیج هایی هستند به به آنها کتابخانه کلاس جاوا یا Java API می گویند .
از Import برای استفاده از کلاس های از پیش تعریف شده جاوا استفاده می کنیم . مثلا در این برنامه از کلاس Scanner از پکیج java.util استفاده میکنیم .

نکته : اعلان های Import باید قبل از تعریف کلاس باشند .
نکته : اگر از import استفاده نکنیم و بخواهیم از کلاس استفاده کنیم پیغام cannot find symbol را در زمان کامپایل برنامه مشاهده خواهیم کرد .
در رابطه با دو خط زیر در دروس گذشته توضیح دادیم :

public class Sum
public static void main(String[] args) {

خط اول تعریف و اعلان کلاس و خط دوم هم متد main که اجرا کننده برنامه ما میباشد .

Scanner myInput = new Scanner(System.in);

خط بالا تعریف یک متغیر با نام myInput از نوع Scanner میباشد . در مورد متغیر ها باید بگویم که مکان هایی از حافظه هستند که مقادیری را برای استفاده در برنامه در آنها ذخیره می کنیم . همه متغیر ها باید دارای نام و نوع باشند تا بتوانیم به مقدار متغیر در حافظه دسترسی داشته باشیم .

نام متغیر می تواند دلخواه باشد ولی باید از قوانین تعریف متغیر پیروی کند .

نوع متغیر هم مشخص میکند که چه داده ای را می خواهیم در متغیر و مکان حافظه ذخیره کنیم .
همانند دیگر برنامه ها هم آخر تغریف متغیر از ; سمیکولن استفاده میکنیم .
استفاده از Scanner در این برنامه به ما کمک میکند تا اطلاعاتی از طرف کاربر را از طریق صفحه کلیک دریافت کنیم .

بعد از نما myInput از علامت = مساوی استفاده کردی که یعنی مقدار new Scanner(System.in) را در داخل متغیری از نوع Scanner با نام myInput قرار بدهد .
این طوری بگویم که استفاده از new یعنی ما یک شی از کلاس Scanner ایجاد میکنیم .
استفاده از System.in هم به ما میگوید که منتظر میماند تا کاربر عددی را تایپ کند .

تعریف متغیر در جاوا

int number1;
int number2;
int sum ;

به سه خط بالا دقت کنید . در یک مورد یکسان هستند . تمامی این متغیر ها از نوع int هستند یعنی فقط عدد صحیح را قبول میکنند . ( یعنی 11 ,12,-34 و … ) .
محدوده متغیر int از –2,147,483,648 تا +2,147,483,647 میباشد که نیاز نیست این عدد را حفظ کنید و فقط جهت اطلاع شماست .
دقت کنید که خطوط بالا تعریف متغیر میباشد یعنی از نوع int و با نام number1,number2,sum .البته می توان متغیر ها از یک نوع را بصورت زیر هم تعریف کرد

Int number1 , number2 , sum ;

که باید با یک , از هم جدا شوند .

نکته : به طور معمول برنامه نویسان نام متغیر ها را با یک حرف کوچک شروع میکنند و در ادامه کلمه بعد با اولین حرف بزرگ نوشته می شود . مثلا ( myNumber ).
System.out.print("Enter First number :");

این خط از برنامه همانند دروس گذشته به کاربر یک پیغام را نشان می دهد که اگر اول را وارد کند و از print استفاده شده یعنی بعد از چاپ این پیغام کرسر در همان خط باقی میماند .
یک نکته ریز در این دستور وجود دارد . ما گفتیم برای استفاده از کلاس های از پیش تعریف شده جاوا باید از import استفاده کنیم ولی چرا از کلاس System بدون import استفاده کردیم ؟
جواب : کلاس System در پکیج java.lang قرار دارد که این پکیج بصورت پیشفرض در تمامی برنامه ها وارد میشود و نیاز به import ندارد .

number1 = myInput.nextInt();

در این خط از برنامه از متد nextInt() استفاده کرده ایم .یک متد یک مقدار عددی صحیح را از صفحه کلید دریافت می کند و آن را در number1 به واسطه استفاده از علامت = ذخیره میکند . به عملگر = تخصیص هم میگویند . به این عملگر باینری هم میگویند چون دو عملوند دارد یعنی number1 و عددی که کاربر به واسطه استفاده از متد nextInt() وارد میکند .

System.out.print("Enter Second Number :");
number2 = myInput.nextInt();

این دو خط هم همانند number1 میباشند و یک پیغام نمایش میدهد و خط دوم هم که مقدار را در number2 ذخیره میکند .

sum = number1 + number2 ;

این خط را یک عبارت تخصیص میگویند یعنی جمع number1 را با number2 جمع میکند و به sum تخصیص میدهد یعنی قرار میدهد .
به این خطوط که دارای یک محاسبه هستند ، رابطه میگویند یا ( expression ) که من هم معادل انگلیسی اون رو حفظ نیستم و از ترجمه گوگل استفاده کردم .

System.out.printf("Sum Is : %d\n", sum);

و اما این خط پایانی از برنامه که در درس قبلی استفاده از printf را برای شما توضیح دادیم فقط یک مورد جدید وجود دارد آن هم %d میباشد که به ما میگوید می خواهیم مقداری عددی ( decimal integer ) را نمایش دهیم . یعنی مقدار Sum به جای %d قرار میگیرد و در خروجی نمایش داده میشود .
اگر بخواهیم یک خط از برنامه کم کنیم به این صورت هم میتوان نوشت

System.out.printf(“Sum Is : %d\n”,(number1 + number 2));

دوستان این آموزش هم به پایان رسید . شما فعلا کاری به نام کلاس و متد و مفهوم اون نداشته باشید در دروس آینده کاملا برای شما توضیح داده میشود .
فایل این آموزش را همانند دروس قبل برای شما قرار میدهیم . موفق باشید و فقط تمرین کنید .

دانلود فایل آموزش