Šajā rakstā es jūs iepazīstināšu ar vienkāršu, tomēr svarīgu jēdzienu, kas ir divu Java skaitļu pievienošana. Bet pirms došanās uz priekšu, es iesaku jums iepazīties ar “Kas ir Java”, Java funkcijām un kā jūs varat instalēt Java savā sistēmā, ko varat atrast iepriekšējos . Tas palīdzēs jums ātri un viegli sagrābt nākamās koncepcijas. Pārējie emuāri šajā Java apmācību sērijā, kuru autori ir mūsu eksperti padziļināti aplūkos visas svarīgās Java un J2EE tēmas,
Šajā rakstā tiks apskatīti šādi norādījumi,
- 1. metode
- 2. metode
- Atkārtots vienotais operators
- Sākotnējā cilpas tabula
- Bitwise un Bitshift operators Java
- Rekursija
Tad ļaujiet mums sākt darbu,
Divu skaitļu pievienošana Java valodā
1. metode
Sapratīsim tieši, izstrādājot programmu Java, lai ekrānā drukātu “Divu skaitļu pievienošana”.
Klase AddTwoNumbers {public static void main (String [] args) {System.out.println (“Divu skaitļu 10 + 20 pievienošana ir” + (10 + 20))}}
Rezultāts
Kā atrast lielāko masīva java numuru
Mums tas ir jāsaprot, ka šeit skaitļi tiek pievienoti, tieši sakot, 10 + 20, tas ir 30. Bet ko mēs iegūstam skaitļus no konsoles. Tādā gadījumā vērtības tiks saglabātas mainīgajā. Runājot par Java, mainīgais String masīvs mainīs šos skaitļus, pamatojoties uz to indeksu.
public class Main {public static void main (String [] args) {System.out.println ('Divu skaitļu pievienošana' + args [0] + '+' + args [1] + 'ir' + (args [0 ] + args [1]))}}
Rezultāts būs tāds, kā parādīts konsolē, kad mēs nodosim to pašu skaitli, kas ir 10 un 20.
Eh, rezultāts, ko mēs šeit ieguvām, nav vēlams. 30. Atcerieties String [] argumentus, katrs ievads, ko lietojat no konsoles, tiek attēlots virknē. Tātad, lai aprēķinātu pievienojumu, mums šīs virknes jāpārvērš par veselu skaitli.
public class Main {public static void main (String [] args) {//System.out.println('Divu skaitļu pievienošana '+ args [0] +' + '+ args [1] +' ir '+ (args [0] + args [1])) System.out.println ('Divu skaitļu pievienošana' + args [0] + '+' + args [1] + 'ir' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}
Rezultāts
Tagad vēlamais rezultāts ir tas, ko mēs vēlamies. Tas ir 10 un 20 ir 30 pievienojums pēc tam, kad mēs tos parsējām no virknes līdz veselam skaitlim.
Nākamais šajā rakstā par divu ciparu pievienošanu Java
2. metode
Izmantojot atņemšanas operatoru: Mēs varam izmantot atņemšanu, lai pievienotu divus skaitļus tā, lai tas noliegtu negatīvo vērtību un tādējādi tiktu pievienots.
public class AddTwoNumbers {public static int add (int a, int b) {return a - (-b)} public static void main (String [] args) {System.out.println (add (10, 20)) System. out.println (pievienot (-10, 20))}}
Ouputs
30
10
Nākamais šajā rakstā par divu ciparu pievienošanu Java
Atkārtots vienotais operators
Tas ir saistīts ar ciklu, bet pamatideja tam ir nulles līmeņa pirmā operanda vērtība. Un turpināt palielināt tā atbilstošo otro operandu par tādu pašu atkārtojumu daudzumu. Apsveriet šo piemēru pats.
public class HelloWorld {public static void main (String [] args) {System.out.println ('pievienot' + pievienot (10, 20)) System.out.println ('pievienot' + pievienot (-10, 20)) } public static int add (int a, int b) {//System.out.println ('--->' + a + ':' + b) while (a> 0) {//System.out.println ('kamēr a> 0 --->' + a + ':' + b) b ++ a--} kamēr (a<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) atgriešanās b}}
Ouputs
$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld pievienojiet 30 pievienojiet 10
Nākamais šajā rakstā par divu ciparu pievienošanu Java
Bitwise un Bitshift operators Java
Mēs varam arī pievienot divus veselus skaitļus, izmantojot XOR operatoru bitiem un pārnēsāšanu var iegūt operators AND. Lai pievienotu pārneses summu, mums jāizmanto parakstīts kreisās maiņas operators. Kā tas notiek? Vispirms redzēsim piemēru.
public class HelloWorld {public static void main (String [] args) {System.out.println ('Papildinājums, izmantojot + ve' + addUsingBits (10, 20)) System.out.println ('Papildinājums, izmantojot -ve' + addUsingBits ( -10, 20))} public static int addUsingBits (int a, int b) {while (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }
Rezultāts
$ javac HelloWorld.java
$ java -Xmx128M -Xms16M HelloWorld
Pievienošana, izmantojot + ve 30
Pievienošana, izmantojot -ve 10
Vienmēr atcerieties, ka XOR darbība tiek izmantota, lai novērtētu divu bitu pievienošanu. AND darbību izmanto, lai novērtētu divu bitu pārnēsāšanu. Atdalīsim to, vai ne? Pārejot pēc ievades vērtībām, pieņemsim, ka pirmais nosacījums ir a = 10 un b = 20.
Darbība | Izteiksmes novērtējums | Binārais ekvivalents | Decimālvērtība |
uz | 10 | 00001010 | 10 |
b | divdesmit | 00010100 | divdesmit |
kamēr (b! = 0) | taisnība | ||
int pārvadāt = (a & b) | 10 un 20 | 0 | 0 |
a = a ^ b | 10 ^ 20 | 00011110 | 30 |
b = nēsāt<< 1 | 0<< 1 | 0 | 0 |
atgriezties a | 30 | 00011110 | 30 |
Tagad ņemsim negatīvu ievadi, teiksim -10. Apskatīsim, kas notiek zemāk esošajā tabulā.Tas ļauj mums cilpā, līdz pārnešanas decimālā vērtība kļūst negatīva.
Nākamais šajā rakstā par divu ciparu pievienošanu Java
Sākotnējā cilpas tabula
Darbība | Izteiksmes novērtējums | Binārais ekvivalents | Decimālvērtība |
uz | -10 | 11110110 | -10 |
b | divdesmit | 00010100 | divdesmit |
kamēr (b! = 0) | taisnība | ||
int pārvadāt = (a & b) | -10 un 20 | 00010100 | divdesmit |
a = a ^ b | -10 ^ 20 | 11100010 | -30 |
b = nēsāt<< 1 | divdesmit<< 1 | 00101000 | 40 |
1. cilpa.
Darbība | Izteiksmes novērtējums | Binārais ekvivalents | Decimālvērtība |
uz | -30 | 11100010 | -30 pavedienu sinhronizēšana Java piemērā |
b | 40 | 00101000 | 40 |
kamēr (b! = 0) | taisnība | ||
int pārvadāt = (a & b) | -30 un 40 | 00100000 | 32 |
a = a ^ b | -30 ^ 40 | 11001010 | -54 |
b = nēsāt<< 1 | 32<< 1 | 00101000 | 64. |
Un tā tālāk & hellip, līdz īsuma dēļ cilpa izrādās b = 0, ne visi rezultāti šeit ir parādīti. Tātad zemāk esošā tabula apzīmē šīs operācijas pēdējo cilpu.
Darbība | Izteiksmes novērtējums | Binārais ekvivalents | Decimālvērtība |
uz | -2147483638 | 1111111111111111111111111111111110000000000000000000000000000000001010 | -2147483638 |
b | -2147483648 | 1111111111111111111111111111111110000000000000000000000000000000000000 | -2147483648 |
kamēr (b! = 0) | taisnība | ||
int pārvadāt = (a & b) | -2147483638 un -2147483648 | 1111111111111111111111111111111110000000000000000000000000000000000000 | -2147483648 |
a = a ^ b | -2147483638 ^ -2147483648 | 00001010 | 10 |
b = nēsāt<< 1 | -2147483648<< 1 | 0 | 0 |
atgriezties a | 10 | 00001010 | 10 |
Tātad šādi tika aprēķināts papildinājums. Phew! tik par domu. Vienkārši padomājiet, vai šo aprēķinu veica cilvēki manuāli, galvenokārt bināros aprēķinos.
Nākamais šajā rakstā par divu ciparu pievienošanu Java
Rekursija
Mēs arī varam uzrakstīt iepriekš minēto programmu, izmantojot arī rekursiju. Aprēķina daļa nedaudz atšķiras, ļaujot to ņemt vērā mājas darbos, vai ne? Es šeit došu izrakstu rekursijai, un jūs mēģināt izveidot savu galdu, lai jūs zinātu, kā tas darbojas iekšēji. Turklāt tas nav nepieciešams, lai tas viss būtu tikai reprezentācijas nolūkos, ja vien jūs neuztraucat par iekšējo darbību šeit.
public static int addUsingRecursion (int a, int b) {if (b == 0) atgriež int summu = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }
Tas viss bija paredzēts divu skaitļu pievienošanai Java, izmantojot + operatoru un neizmantojot + operatoru. Jebkura no šiem iemesliem iemesls būs pilnībā atkarīgs no projekta vajadzības un prasības.
Es neesmu novērtējis un pārbaudījis abu scenāriju darbību, lai izdomātu sniegumu. Es domāju, ka tas stāsies spēkā tikai tad, ja jūs būvējat raķeti un nogādājat to kosmosā.
Es īsumā izskaidroju tikai skaitļus, kas saistīti ar Integers, kam ir savs atmiņas ierobežojums. Es atstāju jums iespēju turpināt izpētīt, izmantojot pludiņus, dubultus utt. Vienmēr atcerieties, ka, ja jūs pārsniedzat primitīvo tipu robežvērtību, rezultāts parādīs atšķirīgu atbildi.
Pārbaudiet Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Mēs esam šeit, lai palīdzētu jums katrā solī jūsu ceļojumā, lai kļūtu par labāko, mēs piedāvājam mācību programmu, kas paredzēta studentiem un profesionāļiem, kuri vēlas būt Java izstrādātāji.