سلام اڄ اسان هڪ اهم موضوع تي غور ڪنداسين، يعني جاوا ۾ عددي آپريٽرز .
پروگرامنگ ۾، انگ هر جڳهه آهن. جيڪڏهن توهان ڳوڙها ڳاڙيندا آهيو ۽ هاءِ اسڪول کي ياد ڪندا آهيو، توهان کي ياد هوندو ته ڪمپيوٽر سڀني معلومات کي عددي شڪل ۾ پيش ڪري ٿو: صفر ۽ هڪ جو مجموعو، جنهن کي بائنري ڪوڊ پڻ چيو ويندو آهي.
پروگرامنگ ۾ تمام گھڻا عددي آپريٽرز آھن، تنھنڪري انھن مان سڀ کان وڌيڪ اھم کي ڳولڻ لاءِ مثال استعمال ڪنداسين :) اچو ته سڀ کان آسان سان شروع ڪريون: رياضي وارو آپريٽر . اهي مشهور شامل آهن (


+
)، ذيلي تقسيم ( -
)، ضرب ( *
)، ۽ ڊويزن ( /
) آپريٽر.
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 سان ورهائي نه ٿو سگهجي. هي "دم" "ڊيويزن مان باقي" آپريشن جو نتيجو آهي. جاوا پڻ تقابلي / لاڳاپو آپريٽرز کي لاڳو ڪري ٿو (جهڙوڪ رياضي ۾). اهي شايد توهان کي اسڪول کان واقف آهن، پڻ:
- برابر (
==
) - کان وڏو (
>
) - کان گھٽ (
<
) - کان وڏو يا برابر (
>=
) - کان گھٽ يا برابر (
<=
) - برابر نه آهي (
!=
)
==
، نه =
. جاوا ۾، هڪ واحد تفويض=
آپريٽر آهي ، جيڪو استعمال ڪيو ويندو آهي جڏهن هڪ متغير هڪ نمبر، اسٽرنگ، يا ٻي متغير جي قيمت مقرر ڪئي وئي آهي.

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 ڏسڻ جي اميد هئي ، پر اسان کي هڪ نمبر مليو. سڀ ڇاڪاڻ ته اسان هڪ اسائنمينٽ آپريٽر استعمال ڪيو قوس ۾ مقابلي بدران . x=y
(999) جو قدر y
متغير کي مقرر ڪيو ويو x
، ۽ پوء اسان ڏيکاريو قدر جي قيمت x
. هتي اهو ڪرڻ جو صحيح طريقو آهي:
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++ ٻولي بابت ٻڌو آهي. ان جي ٺاھيندڙن ھي دلچسپ نالو استعمال ڪيو ان خيال کي پھچائڻ لاءِ ته ”سي ++ سي ٻوليءَ جي توسيع آھي“ Notepad جو ھڪ مشهور سڌريل نسخو Notepad++ سڏجي ٿو، ھتي ھڪڙو اھم نقطو آھي. اتي ٻه قسم جا واڌارا ۽ گهٽتائي آپريٽرز آهن: پوسٽ فڪس ۽ پريفڪس . x++
- پوسٽ فڪس ++x
- اڳياڙي نمبر کان اڳ يا بعد ۾ پلس/مائنس لڳائڻ ۾ بنيادي فرق ڇا آهي؟ اسان هيٺ ڏنل مثال ۾ ڏسندا سين:
public class Main {
public static void main(String[] args) {
int x = 999;
int y = x++;
System.out.println(y);
}
}
ڪنسول آئوٽ: 999 ڪجهه صحيح ناهي! اسان چاهيون ٿا ته x
1 وڌائي ۽ نئين قيمت کي متغير 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
. اختصار خاطر اهي ٻئي علامتون لڳاتار استعمال ڪيون وينديون آهن. مجموعا -=
، *=
۽ ساڳيءَ طرح ڪم ڪن ٿا /=
.%=
منطقي آپريٽرز
عددي آپريٽرز کان علاوه، جاوا ۾ پڻ آپريشن آھن جن ۾ بولان ويلز شامل آھن ( سچو ۽ غلط ). اهي آپريشن منطقي آپريٽرز استعمال ڪندي ڪيا ويا آهن!
- منطقي نه . اهو هڪ بوليان جي قيمت کي ڦٽو ڪري ٿو
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);
}
}
ڪنسول آئوٽ پٽ: صحيح اظهار 100 > 200
اڃا به غلط آهي، پر OR آپريٽر لاءِ اهو مڪمل طور تي ڪافي آهي ته پهريون حصو ( 100 > 10
) صحيح آهي.
GO TO FULL VERSION