Šiame straipsnyje aš supažindinsiu jus su paprasta, bet svarbia koncepcija, kuri yra dviejų skaičių pridėjimas „Java“. Tačiau prieš eidamas į priekį, aš jums siūlyčiau susipažinti su „Kas yra Java“, „Java“ funkcijomis ir kaip galite įdiegti „Java“ savo sistemoje, kurią galite rasti ankstesnėse versijose. . Tai padės greitai ir lengvai perimti ateinančias idėjas. Kiti šios „Java“ mokymo programos tinklaraščiai, parašyti mūsų ekspertai nuodugniai išnagrinės visas svarbias „Java“ ir „J2EE“ temas,
Tolimesni patarimai bus aptarti šiame straipsnyje,
- 1 metodas
- 2 metodas
- Pakartotinis „Unary“ operatorius
- Pradinė kilpų lentelė
- „Bitwise“ ir „Bitshift“ operatorius „Java“
- Rekursija
Taigi pradėkime tada,
Dviejų skaičių pridėjimas „Java“
1 metodas
Supraskime tiesiogiai, sukurdami „Java“ programą, kad ekrane atspausdintume „Dviejų skaičių pridėjimą“.
Class AddTwoNumbers {public static void main (String [] args) {System.out.println („Dviejų skaičių 10 + 20 pridėjimas yra“ + (10 + 20))}}
Rezultatas
duomenų abstrakcija c ++
Turime tai suprasti, kad čia pridedami skaičiai, tiesiai sakant, 10 + 20, tai yra 30. Bet ką mes gauname iš konsolės. Tokiu atveju vertės bus saugomos kintamajame. Kalbant apie „Java“, „String“ masyvo kintamasis išsaugos tuos skaičius pagal jų indeksą.
public class Pagrindinis {public static void main (String [] args) {System.out.println ('Dviejų skaičių pridėjimas + args [0] +' + '+ args [1] +' yra '+ (args [0 ] + argumentai [1]))}}
Tai bus tokia, kokia parodyta „Console“, kai praleisime tą patį skaičių, kuris yra 10 ir 20.
Ech, rezultatas, kurio čia gavome, nėra pageidaujamas. 30. Prisiminkite „String“ [] argumentus, kiekvienas įvestis iš konsolės yra pateiktas eilutėje. Taigi, norėdami apskaičiuoti priedą, turime šias eilutes paversti sveikaisiais skaičiais.
public class Main {public static void main (String [] args) {//System.out.println('Du skaičių papildymas '+ args [0] +' + '+ args [1] +' yra '+ (args [0] + args [1])) System.out.println ('Dviejų skaičių pridėjimas' + args [0] + '+' + args [1] + 'yra' + (Integer.parseInt (args [0] ) + Sveikasis skaičius.parseInt (argumentai [1])))}}
Rezultatas
Dabar norimas rezultatas yra tai, ko mes norime. Tai yra 10 ir 20 pridėjimas yra 30 po to, kai mes juos išanalizavome nuo eilutės iki sveiko skaičiaus.
Kitas šiame straipsnyje apie dviejų skaičių pridėjimą „Java“
2 metodas
Naudojant atimties operatorių: Mes galime naudoti atimtis, kad pridėtume du skaičius taip, kad jis paneigtų neigiamą vertę ir gautųsi taip.
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 (pridėti (-10, 20))}}
Ouputas
30
10
Kitas šiame straipsnyje apie dviejų skaičių pridėjimą „Java“
Pakartotinis „Unary“ operatorius
Tai apima „loop“, pagrindinė idėja yra nulio pirmojo operando vertė. Ir toliau didinti atitinkamą antrąjį operandą tuo pačiu pakartojimų kiekiu. Apsvarstykite žemiau pateiktą pavyzdį patys.
public class HelloWorld {public static void main (String [] args) {System.out.println ('add' + add (10, 20)) System.out.println ('add' + add (-10, 20)) } public static int add (int a, int b) {//System.out.println ('--->' + a + ':' + b) while (a> 0) {//System.out.println ('o a> 0 --->' + a + ':' + b) b ++ a--}, kol (a<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->„+ a +“: „+ b) grįžti b}}
Ouputas
$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld pridėti 30 pridėti 10
Kitas šiame straipsnyje apie dviejų skaičių pridėjimą „Java“
„Bitwise“ ir „Bitshift“ operatorius „Java“
Mes taip pat galime pridėti du sveikus skaičius naudodami XOR operatorių bitais, o nešimą gali gauti operatorius AND. Norėdami pridėti sumą, turėtume naudoti pasirašytą kairės pamainos operatorių. Kaip tai vyksta? Pirmiausia pažiūrėkime pavyzdį.
public class HelloWorld {public static void main (String [] args) {System.out.println ('Papildymas naudojant + ve' + addUsingBits (10, 20)) System.out.println ('Papildymas naudojant -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 } }
Rezultatas
$ javac HelloWorld.java
$ java -Xmx128M -Xms16M HelloWorld
Priedas naudojant + ve 30
Papildymas naudojant -ve 10
Visada atminkite, kad XOR operacija naudojama dviejų bitų pridėjimui įvertinti. AND operacija naudojama dviejų bitų nešimui įvertinti. Išskleiskime tai, ar ne? Eidami pagal įvesties reikšmes, imkime a = 10 ir b = 20 pirmajai sąlygai.
Operacija | Išraiškos vertinimas | Dvejetainis atitikmuo | Dešimtainė vertė |
į | 10 | 00001010 | 10 |
b | dvidešimt | 00010100 | dvidešimt |
o (b! = 0) | tiesa | ||
int nešioti = (a & b) | 10 ir 20 | 0 | 0 |
a = a ^ b | 10 ^ 20 | 00011110 | 30 |
b = nešiotis<< 1 | 0<< 1 | 0 | 0 |
grąžinti a | 30 | 00011110 | 30 |
Dabar paimkime neigiamą įvestį, tarkime -10. Panagrinėkime, kas vyksta žemiau esančioje lentelėje.Tai leidžia mums judėti, kol dešimtainė perkėlimo vertė tampa neigiama.
Kitas šiame straipsnyje apie dviejų skaičių pridėjimą „Java“
Pradinė kilpų lentelė
Operacija | Išraiškos vertinimas | Dvejetainis atitikmuo | Dešimtainė vertė |
į | -10 | 11110110 | -10 |
b | dvidešimt | 00010100 | dvidešimt |
o (b! = 0) | tiesa | ||
int nešioti = (a & b) | -10 ir 20 | 00010100 | dvidešimt |
a = a ^ b | -10 ^ 20 html ir xml skirtumai | 11100010 | -30 |
b = nešiotis<< 1 | dvidešimt<< 1 | 00101000 | 40 |
1 kilpa.
Operacija | Išraiškos vertinimas | Dvejetainis atitikmuo | Dešimtainė vertė |
į | -30 | 11100010 | -30 |
b | 40 | 00101000 | 40 |
o (b! = 0) | tiesa | ||
int nešioti = (a & b) | -30 ir 40 | 00100000 | 32 |
a = a ^ b | -30 ^ 40 | 11001010 | -54 |
b = nešiotis<< 1 | 32<< 1 | 00101000 | 64 |
Ir taip toliau & hellip, kol trumpumas paaiškės, kad b = 0, ne visi rezultatai čia rodomi. Taigi lentelėje pateikiama paskutinė šios operacijos kilpa.
Operacija | Išraiškos vertinimas | Dvejetainis atitikmuo | Dešimtainė vertė |
į | -2147483638 | 1111111111111111111111111111111110000000000000000000000000000000001010 | -2147483638 |
b | -2147483648 | 1111111111111111111111111111111110000000000000000000000000000000000000 | -2147483648 |
o (b! = 0) | tiesa | ||
int nešioti = (a & b) | -2147483638 ir -2147483648 | 1111111111111111111111111111111110000000000000000000000000000000000000 | -2147483648 |
a = a ^ b | -2147483638 ^ -2147483648 | 00001010 | 10 |
b = nešiotis<< 1 | -2147483648<< 1 | 0 | 0 |
grąžinti a | 10 | 00001010 | 10 |
Taigi taip apskaičiuotas priedas. Phew! tiek apie mintį. Tik pagalvokite, ar šį skaičiavimą žmonės atliko rankiniu būdu, daugiausia dvejetainiais skaičiavimais.
Kitas šiame straipsnyje apie dviejų skaičių pridėjimą „Java“
Rekursija
Mes taip pat galime parašyti aukščiau pateiktą programą naudodami rekursiją. Skaičiavimo dalis šiek tiek skiriasi, todėl galime tai apsvarstyti atlikdami namų darbus, ar ne? Aš čia pateiksiu išrašą rekursijai, o jūs pabandykite sukurti savo stalą, kad žinotumėte, kaip jis veikia viduje. Be to, nereikia viso to puoselėti tik reprezentacijos tikslais, nebent jus jaudina čia esantis vidinis darbas.
public static int addUsingRecursion (int a, int b) {if (b == 0) grąžinti int sum = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }
Visa tai buvo skirta pridėti du „Java“ numerius naudojant + operatorių ir nenaudojant + operatoriaus. Bet kurio iš šių priežasčių priežastis priklausys nuo projekto poreikio ir reikalavimo.
Aš nevertinau ir netestavau abiejų scenarijų veikimo, kad galėčiau sugalvoti našumą. Spėju, kad tai įsigalios tik tuo atveju, jei statysite raketą ir pristatysite ją į kosmosą.
Aš paaiškinau tik tuos skaičius, kurie susiję su sveikaisiais skaičiais ir kurie turi savo atminties ribą. Aš palieku jums toliau tyrinėti naudojant plūduriuojančius, dvigubus ir tt Visada atminkite, kad jei viršysite pirmykščių tipų ribinę vertę, rezultatas parodys skirtingą atsakymą.
Patikrinkite sukūrė „Edureka“ - patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą. Mes norime jums padėti kiekviename žingsnyje, kad taptumėte geriausiu, mes parengėme mokymo programą, skirtą studentams ir specialistams, norintiems būti „Java“ kūrėjais.