CodeGym /وبلاگ جاوا /Random-FA /عملگرهای عددی در جاوا
John Squirrels
مرحله
San Francisco

عملگرهای عددی در جاوا

در گروه منتشر شد
سلام! امروز یک موضوع بسیار مهم را بررسی خواهیم کرد، یعنی عملگرهای عددی در جاوا .
عملگرهای عددی در جاوا - 1
در برنامه نویسی، اعداد همه جا هستند. اگر عمیق بگردید و دوران دبیرستان را به خاطر بسپارید، ممکن است به خاطر بیاورید که یک کامپیوتر تمام اطلاعات را در قالب عددی نشان می دهد: ترکیبی از صفر و یک که به عنوان کد باینری نیز شناخته می شود.
عملگرهای عددی در جاوا - 2
عملگرهای عددی زیادی در برنامه نویسی وجود دارد، بنابراین ما از مثال هایی برای بررسی مهم ترین آنها استفاده می کنیم :) بیایید با ساده ترین آنها شروع کنیم: عملگرهای حسابی . این عملگرهای معروف جمع ( +)، تفریق ( -)، ضرب ( *) و تقسیم ( /) هستند.
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       System.out.println(x+y);
       System.out.println(x-y);
       System.out.println(x*y);
       System.out.println(x/y);
   }
}
خروجی کنسول: 1032 966 32967 30 شما قبلاً از همه اینها استفاده کرده اید. به این گروه می توانید به %عملگر باقی مانده یا مدول ( ) اضافه کنید.
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 33%2;
       System.out.println(y);
   }
}
خروجی کنسول: 1 در این مثال، 33 را بر 2 تقسیم می کنیم. این عدد 16 را به دست می دهد، با یک "دم" اضافی (یک) که بر 2 قابل تقسیم نیست. این "دم" نتیجه عملیات "باقی مانده از تقسیم" است. جاوا همچنین عملگرهای مقایسه/رابطه ای را (درست مانند ریاضیات) پیاده سازی می کند. آنها احتمالاً از مدرسه برای شما نیز آشنا هستند:
  • مساوی با ( ==)
  • بزرگتر از ( >)
  • کمتر از ( <)
  • بزرگتر یا مساوی با ( >=)
  • کمتر یا مساوی ( <=)
  • نا برابر ( !=)
در اینجا باید به یک نکته مهم توجه کنید که باعث اشتباه بسیاری از مبتدیان می شود. عملگر "برابر" نوشته شده است ==، نه =. در جاوا، یک عملگر انتساب= است که زمانی استفاده می شود که به یک متغیر یک عدد، رشته یا مقدار متغیر دیگری اختصاص داده شود.
عملگرهای عددی در جاوا - 3
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x=y);// We expect false to be displayed
   }
}
خروجی کنسول: 999 اوه! واضح است که این نتیجه ای نیست که ما انتظار داشتیم. این یک نوع داده کاملاً متفاوت است: انتظار داشتیم یک Boolean ببینیم ، اما یک عدد دریافت کردیم. همه به این دلیل است که ما به جای مقایسه از یک عملگر انتساب در پرانتز استفاده کردیم . مقدار (999) به متغیر اختصاص داده شد و سپس مقدار . در اینجا روش صحیح انجام آن آمده است: x=yyxx
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x==y);
   }
}
خروجی کنسول: false حالا این دو عدد را به درستی با هم مقایسه کرده ایم! :) در اینجا یکی دیگر از ویژگی های عملگر انتساب ( =): می توان آن را به هم "زنجیره" کرد:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;
       int z = 256;

       x = y = z;
       System.out.println(x);
   }
}
خروجی کنسول: 256 به یاد داشته باشید که تخصیص از راست به چپ است . این عبارت ( x = y = z) در مراحل زیر اجرا می شود:
  • y = z، به این معنا که،y = 256
  • x = y، به این معنا که،x = 256

عملگرهای Unary

آنها را " یونری " از کلمه " uno " به معنای " یک " می نامند . آنها این نام را به این دلیل گرفتند که بر خلاف اپراتورهای قبلی، بر روی یک عدد عمل می کنند، نه چندین. این شامل:
  • منهای یکنواختی علامت عدد را برمیگرداند.

public class Main {

   public static void main(String[] args) {

       int x = 999;

       // Change the sign for the first time
       x = -x;
       System.out.println(x);

       // Change the sign for the second time
       x= -x;
       System.out.println(x);
   }
}
خروجی کنسول: -999 999 ما دو بار از عملگر unary minus استفاده کردیم. در نتیجه عدد ما اول منفی شد و بعد دوباره مثبت شد!
  • افزایش (++) و کاهش (--)
اپراتور ++یک عدد را یک عدد افزایش می دهد و --اپراتور عددی را به همان مقدار کاهش می دهد.
public class Main {

   public static void main(String[] args) {

       int x = 999;
       x++;
       System.out.println(x);

       x--;
       System.out.println(x);
   }
}
خروجی کنسول: 1000 999 اگر نام زبان C++ را شنیده باشید، ممکن است این نماد برای شما آشنا باشد. سازندگان آن از این نام جالب برای انتقال این ایده استفاده کردند که "C++ یک پسوند زبان C است" یک نسخه بهبود یافته محبوب Notepad Notepad ++ نام دارد. دو نوع عملگر افزایشی و کاهشی وجود دارد: پسوند و پیشوند . x++- پسوند ++x- پیشوند تفاوت اساسی بین قرار دادن مثبت/منفی قبل یا بعد از عدد چیست؟ در مثال زیر خواهیم دید:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
   }
}
خروجی کنسول: 999 چیزی درست نیست! ما می خواستیم 1 را افزایش دهیم xو مقدار جدید را به متغیر y اختصاص دهیم. به عبارت دیگر، y باید 1000 باشد. اما در عوض چیز دیگری دریافت می کنیم: 999. به نظر می رسد x افزایش نیافته است و عملگر افزایش کار نمی کند؟ اما کار کرد. برای متقاعد کردن خود، سعی کنید xدر انتها نمایش دهید :)
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
       System.out.println(x);
   }
}
خروجی کنسول: 999 1000 در واقع، دقیقاً به همین دلیل است که این عملیات postfix نامیده می شود: بعد از عبارت اصلی انجام می شود. این به این معنی است که در مورد ما: int y = x++; y = xابتدا انجام می شود (و متغیر yبه مقدار مقدار دهی اولیه می شود x)، و تنها پس از آن x++اجرا می شود اگر این رفتاری که ما می خواهیم نباشد چه می شود؟ سپس باید از نماد پیشوند استفاده کنیم :
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = ++x;
       System.out.println(y);
   }
}
در این مورد، ++xابتدا پردازش می شود و تنها پس از آن است y = x. اجرا شده. شما باید فوراً این تفاوت را به حافظه اختصاص دهید تا از اشتباه کردن در یک برنامه واقعی جلوگیری کنید که در آن استفاده از postfix به جای پیشوند می تواند همه چیز را وارونه کند :)

عملگرهای مرکب

علاوه بر این، در جاوا به اصطلاح عملگرهای ترکیبی وجود دارد. آنها دو عملگر را ترکیب می کنند:
  • وظیفه
  • عملگرهای حسابی
این شامل:
  • +=
  • -=
  • *=
  • /=
  • %=
بیایید یک مثال را در نظر بگیریم:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       x += y;
       System.out.println(x);
   }
}
خروجی کنسول: 1032 x += y یعنی x = x + y. این دو علامت به خاطر اختصار به طور متوالی استفاده می شوند. ترکیبات -=، *=و به روشی مشابه کار می کنند /=.%=

عملگرهای منطقی

جاوا علاوه بر عملگرهای عددی، عملیاتی نیز دارد که شامل مقادیر بولی ( درست و نادرست ) است. این عملیات با استفاده از عملگرهای منطقی انجام می شود
  • !- منطقی نه این مقدار یک بولی را تغییر می دهد
public class Main {

   public static void main(String[] args) {

       boolean x = true;
       System.out.println(!x);
   }
}
خروجی کنسول: false
  • &&- منطقی و . فقط در صورتی true را برمی گرداند که هر دو عملوند true باشند.
public class Main {

   public static void main(String[] args) {

       System.out.println(100 > 10 && 100 > 200);
       System.out.println(100 > 50 && 100 >= 100);
   }
}
خروجی کنسول: false true نتیجه عملیات اول نادرست است، زیرا یکی از عملوندها، یعنی 100 > 200. برای برگرداندن true، &&عملگر نیاز دارد که هر دو عملوند true باشند (همانطور که در خط دوم وجود دارد).
  • ||- منطقی یا زمانی که حداقل یکی از عملوندها true باشد مقدار true را برمی گرداند .
وقتی از این عملگر استفاده می کنیم، مثال قبلی ما نتیجه متفاوتی را ایجاد می کند:
public class Main {

   public static void main(String[] args) {

       System.out.println(100 > 10 || 100 > 200);
   }
}
خروجی کنسول: true این عبارت 100 > 200همچنان نادرست است، اما برای عملگر OR کاملاً کافی است که قسمت اول ( 100 > 10) درست باشد.
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION