Sajjad Tayyebi

استفاده از دستور شرطی if برای String در جاوا نت بینز

Sajjad Tayyebi ۱۳۹۵/۰۴/۱۰ زبان برنامه‌نویسی جاوا

سلام.

آیا می توان دستور if را برای String به اجرا در آورد؟همان طور که می توان از دستور شرطی switch بهره برد.

پاسخ‌ها به این تاپیک
b4hr4m
b4hr4m
۱۳۹۵/۰۴/۲۲

برای اطلاع عرض کنم که بهتر است از متد equal استفاده کنید . زیرا در کلاس String هنگامی که شی ساخته میشود جاوا علاوه بر مقدار شی به جایگاه آن در حافظه هم توجه می کند . بنابرین در دستور if بالا حتی اگه از نظر منطقی درست باشد شما با جواب false مواجه خواهید شد

stack programer
stack programer
۱۳۹۵/۰۴/۱۱

سلام،بله می شود

String str;
str="john";
if(str=="john")
{//first work to do

}
else{
//second work to do
}
Morteza Narouie
Morteza Narouie
۱۳۹۶/۰۱/۰۸

استفاده دستور == برای یک نمونه از کلاس String اشتباه است و باید از دستور equals استفاده کنید(در مثال فوق به جواب درست میرسیم اما اگر دو شی از نوع رشته با عملگر == مورد بررسی قرار بگیرند، برنامه درست عمل نمیکند)

اما دلیل : خیلی ساده است زمانی که شی یا نمونه‌ای از کلاس String را با عملگر == بررسی میکنیم مقدار یا رشته درون نمونه بررسی نمیشود بلکه آدرس خانه حافظه آن بررسی میشود، برنامه آدرس خانه حافظه دو شی را بررسی میکند اگر با هم برابر بودند بدنه if اجرا میشود واگرنه else.

String str;
str="john";
if(str.equals("john"))
{  //first work to do
}
else{
  //second work to do
}

موفق باشید.

در پاسخ به