عندما نتحدث عن الأسبقية في Java، يأتي عامل التشغيل أولاً في الاعتبار. توجد قواعد معينة محددة في Java لتحديد الترتيب الذي يتم به تقييم العوامل في التعبير. أسبقية المشغل هو مفهوم تحديد مجموعة المصطلحات في التعبير. أسبقية عامل التشغيل هي المسؤولة عن تقييم التعبيرات. في جافا , الأقواس () و صفيف منخفض[] لديك أعلى الأسبقية في جافا. على سبيل المثال، الجمع والطرح لهما أسبقية أعلى من عاملي الإزاحة اليسرى واليمنى.
يوجد أدناه جدول محدد يظهر فيه عامل الأسبقية الأدنى في الجزء العلوي منه.
الأولوية | المشغل أو العامل | يكتب | الترابط |
---|---|---|---|
1) | = += -= *= /= %= | تكليف مهمة الإضافة مهمة الطرح مهمة الضرب مهمة القسمة مهمة المعامل | من اليمين الى اليسار |
2) | ؟ : | الثلاثي المشروط | من اليمين الى اليسار |
3) | || | منطقية أو | من اليسار إلى اليمين |
4) | && | منطقي و | من اليسار إلى اليمين |
5) | | | شاملاً للبت OR | من اليسار إلى اليمين |
6) | ^ | Bitwise حصريًا OR | من اليسار إلى اليمين |
7) | & | Bitwise AND | من اليسار إلى اليمين |
8) | != == | العلائقية لا تساوي العلائقية تساوي | من اليسار إلى اليمين |
9) | < <= > >= حالة=> | العلائقية أقل من العلائقية أقل من أو يساوي العلائقية أكبر من العلائقية أكبر من أو يساوي مقارنة النوع (الكائنات فقط) | من اليسار إلى اليمين |
10) | >> << >>> | التحول إلى اليمين باتجاه البت مع امتداد الإشارة التحول إلى اليسار باتجاه البت التحول إلى اليمين باتجاه البت مع امتداد صفر | من اليسار إلى اليمين |
أحد عشر) | - + | الطرح إضافة | من اليسار إلى اليمين |
12) | * / % | عمليه الضرب قسم معامل | من اليسار إلى اليمين |
13) | - + ~ ! ( يكتب) | الأحادي ناقص الأحادي زائد تكملة bitwise الأحادية النفي المنطقي الأحادي التلبيس الأحادي | من اليمين الى اليسار |
14) | ++ -- | أحادية بعد الزيادة أحادي بعد النقصان | من اليمين الى اليسار |
خمسة عشر) | · () [] | عامل نقطة بين قوسين صفيف منخفض | من اليسار إلى اليمين |
ترتيب الأسبقية
عندما يتشارك عاملان في معامل واحد، فإن العامل الذي له الأسبقية الأعلى يذهب أولاً. على سبيل المثال، يتم التعامل مع x + y * z كـ x + (y * z)، بينما يتم التعامل مع x * y + z كـ (x * y) + z لأن عامل التشغيل * له الأسبقية الأعلى مقارنة بعامل التشغيل +.
التاريخ الحالي في جافا
الترابط
الترابط هو مفهوم يتعلق بالعوامل التي يتم تطبيقها عندما يأتي عاملان لهما نفس الأسبقية في التعبير. إن مفهوم الارتباط مفيد جدًا للخروج من هذا الموقف. لنفترض أن لدينا تعبير أ + ب - ج (+ و- للمشغلين نفس الأولوية) ، وسيتم التعامل مع هذا التعبير على أنه (أ + (ب - ج)) لأن هؤلاء المشغلين هم من اليمين إلى اليسار النقابي. من ناحية أخرى، سيتم التعامل مع a+++--b+c++ على أنه ((أ++)+((--ب)+(ج++))) لأن عوامل التشغيل الأحادية اللاحقة للزيادة والنقصان تكون من اليمين إلى اليسار.
تم تعريف المثال أدناه لفهم كيفية تقييم التعبير باستخدام ترتيب الأسبقية والترابط؟
التعبير: س = 4 / 2 + 8 * 4 - ( 5+ 2 ) % 3
حل:
1) في التعبير أعلاه، عامل الأسبقية الأعلى هو () . لذلك، القوس يذهب أولا ويحسب أولا.
س = 4 / 2 + 8 * 4 - 7 % 3
2) الآن، /، * و % المشغلين لديهم نفس الأسبقية والأعلى من + و - هنا، نستخدم مفهوم الترابط لحلها. ترابط هؤلاء المشغلين من اليسار إلى اليمين. لذا، / المشغل يذهب أولا وبعد ذلك * و % معًا.
س = 2 + 8 * 4 - 7 % 3
س = 2 + 32 - 7 % 3
بيانات التعدين
س = 2 + 32 - 1
3) الآن، + و - كلا المشغلين لهما أيضًا نفس الأسبقية، وترابط هؤلاء المشغلين ليس على اليمين. لذا، + سوف يذهب المشغل أولا، وبعد ذلك - سنذهب.
س = 34 - 1
س = 33
أعلى الأسبقية.java
//import classes import java.util.*; //creating HighestPrecedence class to evaluate the expression public class HighestPrecedence { //main() method starts public static void main(String[] args) { //initialize variables with default values int x = 2; int y = 5; int z = 12; //calculating exp1, exp2, and exp3 int exp1 = x +(z/x+(z%y)*(z-x)^2); int exp2 = z/x+y*x-(y+x)%z; int exp3 = 4/2+8*4-(5+2)%3; //printing the result System.out.println(exp1); System.out.println(exp2); System.out.println(exp3); } }
انتاج |
النوم في شبيبة