CodeGym /جاوا بلاگ /Random-UR /جاوا میں عددی آپریٹرز
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 افوہ! ظاہر ہے یہ وہ نتیجہ نہیں ہے جس کی ہم توقع کر رہے تھے۔ یہ مکمل طور پر مختلف ڈیٹا کی قسم ہے: ہمیں بولین دیکھنے کی امید تھی ، لیکن ہمیں ایک نمبر ملا۔ سب اس لیے کہ ہم نے تقابل کے بجائے قوسین میں اسائنمنٹ آپریٹر کا استعمال کیا ۔ (999) کی قدر متغیر کو تفویض کی گئی تھی ، اور پھر ہم نے کی قدر ظاہر کی ۔ ایسا کرنے کا صحیح طریقہ یہ ہے: x=yyxx
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x==y);
   }
}
کنسول آؤٹ پٹ: غلط اب ہم نے دونوں نمبروں کا مناسب طریقے سے موازنہ کیا ہے! :) یہاں اسائنمنٹ آپریٹر کی ایک اور خصوصیت ہے ( =): اسے ایک ساتھ "زنجیروں سے باندھا" جا سکتا ہے:
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

یونری آپریٹرز۔

انہیں لفظ " uno " سے " unary " کہا جاتا ہے ، جس کا مطلب ہے " ایک "۔ انہیں یہ نام اس لیے ملا کیونکہ، پچھلے آپریٹرز کے برعکس، وہ ایک نمبر پر کام کرتے ہیں، متعدد نہیں۔ یہ شامل ہیں:
  • یونیری مائنس۔ یہ نمبر کے نشان کو پلٹتا ہے۔

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 ہم نے یونیری مائنس آپریٹر کو دو بار استعمال کیا۔ نتیجے کے طور پر، ہمارا نمبر پہلے منفی تھا، اور پھر یہ دوبارہ مثبت ہو گیا!
  • اضافہ (++) اور کمی (--)
آپریٹر ++ایک نمبر کو ایک سے بڑھاتا ہے، اور --آپریٹر ایک نمبر کو اسی رقم سے گھٹاتا ہے۔
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++ کہا جاتا ہے یہاں ایک اہم نکتہ ہے۔ انکریمنٹ اور ڈیکریمنٹ آپریٹرز کی دو قسمیں ہیں: پوسٹ فکس اور پریفکس ۔ x++- postfix ++x- prefix نمبر سے پہلے یا بعد میں پلس/مائنس ڈالنے میں بنیادی فرق کیا ہے؟ ہم مندرجہ ذیل مثال میں دیکھیں گے:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
   }
}
کنسول آؤٹ پٹ: 999 کچھ ٹھیک نہیں ہے! ہم x1 کا اضافہ کرنا چاہتے تھے اور متغیر 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 درحقیقت، یہی وجہ ہے کہ اس آپریشن کو پوسٹ فکس کہا جاتا ہے: یہ مرکزی اظہار کے بعد انجام دیا جاتا ہے۔ اس کا مطلب ہے، ہمارے معاملے میں: 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؛ پھانسی دی گئی کسی حقیقی پروگرام میں غلطیاں کرنے سے بچنے کے لیے آپ کو فوراً اس فرق کو میموری میں کرنا چاہیے جہاں پوسٹ فکس کے بجائے سابقہ ​​استعمال کرنے سے سب کچھ الٹا ہو سکتا ہے :)

کمپاؤنڈ آپریٹرز

اس کے علاوہ، جاوا میں نام نہاد کمپاؤنڈ آپریٹرز موجود ہیں۔ وہ دو آپریٹرز کو جوڑتے ہیں:
  • تفویض
  • ریاضی کے آپریٹرز
یہ شامل ہیں:
  • +=
  • -=
  • *=
  • /=
  • %=
آئیے ایک مثال پر غور کریں:
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۔ دونوں علامتیں اختصار کی خاطر لگاتار استعمال ہوتی ہیں۔ مجموعے -=، *=اور اسی طرح کام کرتے ہیں /=۔%=

منطقی آپریٹرز

عددی آپریٹرز کے علاوہ، جاوا میں ایسے آپریشنز بھی ہوتے ہیں جن میں بولین ویلیوز ( true اور false ) شامل ہوتی ہیں۔ یہ کارروائیاں منطقی آپریٹرز کا استعمال کرتے ہوئے کی جاتی ہیں۔
  • !- منطقی نہیں . یہ بولین کی قدر کو پلٹتا ہے۔
public class Main {

   public static void main(String[] args) {

       boolean x = true;
       System.out.println(!x);
   }
}
کنسول آؤٹ پٹ: غلط
  • &&- منطقی اور . یہ صرف اسی صورت میں درست لوٹتا ہے جب دونوں کام درست ہوں۔
public class Main {

   public static void main(String[] args) {

       System.out.println(100 > 10 && 100 > 200);
       System.out.println(100 > 50 && 100 >= 100);
   }
}
کنسول آؤٹ پٹ: غلط سچ پہلے آپریشن کا نتیجہ غلط ہے، کیونکہ آپرینڈز میں سے ایک غلط ہے، یعنی 100 > 200۔ سچ کو واپس کرنے کے لیے، &&آپریٹر کا تقاضہ ہے کہ دونوں آپرینڈس سچے ہوں (جیسا کہ دوسری لائن میں ہے)۔
  • ||- منطقی یا . جب کم از کم ایک آپرینڈ صحیح ہو تو یہ درست ہو جاتا ہے ۔
جب ہم اس آپریٹر کو استعمال کرتے ہیں، تو ہماری پچھلی مثال ایک مختلف نتیجہ پیدا کرتی ہے:
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