a, b என்ற இரு
வேரியபிள்களில் முறையே 10,20 என்று இருப்பதாக
வைத்துக் கொள்வோம்.
அதாவது
a=10;
b=20;
இதில் a-ன்
மதிப்பு b-க்கும் b-ன் மதிப்பு a -க்கும் போய் சேர வேண்டும்.
இதை எவ்வாறு
செய்வது?.
நிறைய பேர்
கண்ணை மூடிக் கொண்டு சொல்வது
a=b;
b=a;
ஆனால் இவ்வாறு
செய்தால் a,b ஆகிய இரு வேரியபிள்களிலும் 20 என்றே இருக்கும்.
உண்மையில் மூன்றாவது
வேரியபிள் ஒன்றை பயன்படுத்தி இதைச் செய்யலாம்.
சான்றாக
temp என்றொரு வேரியபிள் எடுத்துக் கொள்வோம்.
temp=a; //temp=10
a=b; //a=20
b=temp; //b=10
முழு நிரலும்
கீழே கொடுக்கப்பட்டுள்ளது.
package swap;
public class Swap {
public static void main(String[] args) {
int a=10;
int b=20;
System.out.println("before swap");
System.out.println("a="+a);
System.out.println("b="+b);
int temp=a;
a=b;
b=temp;
System.out.println("after swap");
System.out.println("a="+a);
System.out.println("b="+b);
}
}
வெளியீடு:
before swap
a=10
b=20
after swap
a=20
b=10
இப்பொழுது மூன்றாவது
வேரியபிள் பயன் படுத்தாமலே செய்யலாமா என்றால் செய்யலாம்.
a=a+b; // a=30
b=a-b; //b=10
a=a-b; //a=20;
முழு நிரலும்
கீழ் காணலாம்.
package swap;
public class Swap {
public static void main(String[] args) {
int a=10;
int b=20;
System.out.println("before swap");
System.out.println("a="+a);
System.out.println("b="+b);
a=a+b;
b=a-b;
a=a-b;
System.out.println("after swap");
System.out.println("a="+a);
System.out.println("b="+b);
}
}
வெளியீடு:
before swap
a=10
b=20
after swap
a=20
b=10
இப்பொழுது +,
- ஆகிய இரு ஆபரேட்டருக்கு பதில் *, / ஆகிய ஆபரேட்டர்கள் பயன்படுத்தியும் இன்டெர்சேஞ்ச்
செய்யலாம்
முழு நிரல்
package swap;
public class Swap {
public static void main(String[] args) {
int a=10;
int b=20;
System.out.println("before swap");
System.out.println("a="+a);
System.out.println("b="+b);
a=a*b;
b=a/b;
a=a/b;
System.out.println("after swap");
System.out.println("a="+a);
System.out.println("b="+b);
}
}
வெளியீடு:
before swap
a=10
b=20
after swap
a=20
b=10;
நன்றி.
முத்து கார்த்திகேயன்,மதுரை
Full stack web development with ..Net, Java, C, C++, PHP, Java script, web designing, classes is going on.
Both direct and online classes.
contact:91 9629329142
No comments:
Post a Comment