3 سوال کلیدی از جاوا

0 امتیاز
68 بازدید
سوال شده مرداد 17, 1395 توسط mmohsenm  
ویرایش شده مرداد 17, 1395 توسط sajjadfcb

سلام خسته نباشید.تصمیم گرفتم قبل شروع دوره آندروید شی گرایی جاوا رو کامل یاد بگیرم.اما به سه تا مشکل تا اینجا برخوردم چون برنامه نویس مبتدی هستم تا حدودی با کد زدن مشکلاتو حل میکنم اما بعضی جاها نمیتونم.لطفا بررسی بفرمایید

1. کلمه کلیدی this چجوریه؟ دقیق تو یه مثال نشون بدین به کجا اشاره میکنه و به کدوم متغیر اگه امکانش هست.ممنون

2. اشکال خط کد زیر چیه ک میام از کاربر y میگیرم اما باز داخل if نمیره و پرینت نمیکنه که وارد شد با اینکه شرط درست میشه؟

Scanner in = new Scanner(System.in);

String a = in.next();

if (a=="y")
{

System.out.println("vared shod");

}


3. اینکه تابع مقدار برگشتی داره یعنی چی؟ مثلا از نوع وید برگشتی نداره یعنی چی؟ پس چه کابردی داره وقتی چیزی برنگردونه و فقط داخل خودش حسابشون کنه؟

این مطلب را به اشتراک بگذارید

1 پاسخ

0 امتیاز
پاسخ داده شده مرداد 17, 1395 توسط sajjadfcb  
انتخاب شده مرداد 18, 1395 توسط ASHKARAN
 
بهترین پاسخ

سلام

1.

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

public class myapp {

    int adad=0;//این قسمت بدنه کلاس است.
    public static void main(String[] args) {


    }

    public int tabe(int adad){

        this.adad=adad;

        return 0;

    }
}


به طور کلی کلمه this زمانی استفاده میشه که  داخل یک متد ،ورودی  متد همنام با متغییری باشه که در بدنه کلاس تعریف شده.

در این مثال this.adad به متغییر بدنه کلاس اشاره میکنه و adad مقابل اون به ورودی متد اشاره میکنه

 

2.

شما باید از دستور .equals برای مقایسه مقادیر رشته ای استفاده کنید از== برای مقادیر عددی وبولین و...استفاده میشه.

Scanner in=new Scanner(System.in);
System.out.println("vared konid");
        String a=in.next();
        if(a.equals("y")){

        System.out.println("vared shod");


        }


3.به این مثال توجه کنید.

public class myapp {

    public static void main(String[] args) {

        int max=AdadBozorg(10, 6, 3);
        System.out.println("Adad Bozorg Ast :" + max);

    }
    static int AdadBozorg(int a,int b,int c){

        int max=0;
        if(a>b && a>c)
        {
            max=a;
        }
        else if(b>a && b>c)
        {
            max=b;
        }
        else
        {
            max=c;
        }
        return max;

    }



}


در این مثال سه عدد به متد داده میشه و داخل متد بررسی میشه هرعددی بزرگتر بود اون مقدار برگشت داده میشه و اونو چاپ میکنه.

این از تابع برگشتی که لازمه یک نتیجه به ما برگردونه یعنی ضروریه که برگردونه.

خب به این مثال که از جنس void هست توجه کنید.

public class myapp {

    public static void main(String[] args) {

        Chap(10);

    }
    static void Chap(int adad){

        for (int i = 1; i <= adad; i++) {

            System.out.println(i);
        }



    }
}


این مثال یک عدد رو از کاربر میگره و از یک تا اون عدد رو چاپ میکنه دیگه تو این مثال لازم نیست عددی برگشت داده بشه عملیات متد انجام میشه و نتیجه تو خروجی نمایش داده میشه.

موفق باشید.

دارای دیدگاه مرداد 17, 1395 توسط mmohsenm  
واقعا ممنون از پاسخ واضحت
دارای دیدگاه مرداد 17, 1395 توسط sajjadfcb  
خواهش می کنم.

977 سوال

819 پاسخ

1,329 دیدگاه

1,273 کاربر

متاسفانه نیستم

این مطلب را به اشتراک بگذارید

ali.ashkaran@gmail
ما .....
  • سعی بر پاسخگویی به سوالات دیگران داریم.
  • به سوال و یا نظر دیگران احترام می گذاریم .
  • این وبسایت را به دیگران معرفی می کنیم.
  • همواره صمیمیت و ادب را رعایت می کنیم.
  • به سوالمان برچسب های مرتبط اضافه می کنیم.
  • در حین طرح سوال فرد خاصی را مخاطب قرار نمی دهیم .
...