Hogyan lehet két számot összeadni a Java-ban?



Ebben a cikkben egy egyszerű, de mégis fontos fogalmat ismertetünk meg, amely két szám hozzáadása a Java-ban bemutatással.

Ebben a cikkben egy egyszerű, mégis fontos fogalmat ismertetek meg, amely két szám hozzáadása a Java-ban. De mielőtt továbblépnék, azt javaslom, hogy ismerkedjen meg a „Mi az a Java” -val, a Java szolgáltatásaival és hogyan telepítheti a Java-t a rendszerére, amelyet az előzőekben is megtalálhat. . Ez segít gyorsan és egyszerűen megragadni a következő fogalmakat. A többi blog ebben a Java oktatósorozatban, amelyet mi írtunk a szakértők a Java és J2EE összes fontos témáját alaposan megvizsgálják,

A következő hivatkozásokkal foglalkozunk ebben a cikkben,





Tehát kezdjük el akkor,

Két szám hozzáadása Java-ban

1. módszer

Értsük meg közvetlenül egy Java program fejlesztésével, amely a képernyőn kinyomtatja a „Két szám hozzáadása” kifejezést.



Osztály AddTwoNumbers {public static void main (String [] args) {System.out.println ('Két 10 + 20 szám összeadása' + (10 + 20))}}

Kimenet

Kimenet - Két szám hozzáadása Java-ban - Edureka

Meg kell értenünk ezt, hogy itt a számok közvetlenül hozzáadódnak, mondjuk 10 + 20, azaz 30. De amit a konzolból kapunk. Ebben az esetben az értékeket egy változó tárolja. Java szempontjából a String tömb változó tárolja ezeket a számokat az indexük alapján.



public class Main {public static void main (String [] args) {System.out.println ('Két szám összeadása' + args [0] + '+' + args [1] + 'is' + (args [0 ] + érvek [1]))}}

Ennek kimenete a konzolon látható lesz, amikor átadjuk ugyanazt a számot, amely 10 és 20.

Eh, az itt kapott eredmény nem kívánatos. 30. Emlékezz a String [] argumentumokra, minden konzolról bevitt adat a Stringben jelenik meg. Tehát itt meg kell alakítanunk ezeket a húrokat egész számba az összeadás kiszámításához.

public class Main {public static void main (String [] args) {//System.out.println('Két szám hozzáadása '+ args [0] +' + '+ args [1] +' is '+ (args [0] + args [1])) System.out.println ('Két szám összeadása' + args [0] + '+' + args [1] + 'is' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}

Kimenet

Most a kívánt kimenetet akarjuk. Ez azt jelenti, hogy 10 és 20 összeadása 30, miután elemeztük a karakterláncról az egész számra.

Ez a cikk következik a Java két számának hozzáadásáról

2. módszer

  1. Kivonás operátor használata: Kivonással használhatunk két számot úgy, hogy az negatív értéket tagadjon, és így összeadódáshoz jusson.

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 (add (-10, 20))}}

Ouput

30

10.

Ez a cikk következik a Java két számának hozzáadásáról

Ismételt Unary Operator

Ez magában foglalja a while ciklust, ennek alapgondolata az, hogy az első operandus értékét nullára hozza. És folyamatosan növelni a megfelelő második operandusát ugyanannyi iterációval. Vegye figyelembe maga az alábbi példát.

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 ('míg a> 0 --->' + a + ':' + b) b ++ a--} míg (a<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) return b}}

Ouput

$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld add 30 add 10

Ez a cikk következik a Java két számának hozzáadásáról

Bitenként és Bitshift operátor Java-ban

Két egész szám hozzáadását is megtehetjük az XOR bitenkénti operátor használatával, és a hordozást az AND operátor kapja meg. Ahhoz, hogy összeadjuk az összeget, aláírt bal váltás operátort kell használnunk. Hogyan történik ez? Lássunk először egy példát.

public class HelloWorld {public static void main (String [] args) {System.out.println ('Hozzáadás a + ve használatával + addUsingBits (10, 20)) System.out.println (' Hozzáadás -ve használatával + 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 } }

Kimenet

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

Összeadás a + ve 30 gombbal

Összeadás a -ve 10 használatával

Mindig emlékezzen arra, hogy az XOR műveletet két bit hozzáadásának kiértékelésére használják. Az AND műveletet két bit átvitelének értékelésére használják. Bontsuk fel ezt? A bemeneti értékek mentén vegyük az a = 10 és b = 20 értékeket az első feltételhez.

Művelet

Kifejezés kiértékelése

Bináris egyenérték

Tizedesérték

nak nek

10.

amit a java sorosít

00001010

10.

b

húsz

00010100

húsz

míg (b! = 0)

igaz

int carry = (a & b)

10 és 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = hordoz<< 1

0<< 1

0

0

vissza a

30

00011110

30

Vegyünk egy negatív bemenetet, mondjuk a -10-et. Vizsgáljuk meg, mi történik az alábbi táblázatban.Ez lehetővé teszi számunkra a hurkot, amíg a tizedesértéke negatív lesz.

Ez a cikk következik a Java két számának hozzáadásáról

Kezdeti hurok táblázat

Művelet

Kifejezés kiértékelése

Bináris egyenérték

Tizedesérték

nak nek

-10

11110110

-10

b

húsz

00010100

húsz

míg (b! = 0)

igaz

int carry = (a & b)

-10 és 20

00010100

húsz

a = a ^ b

-10 ^ 20

11100010

-30

b = hordoz<< 1

android tevékenység életciklusa

húsz<< 1

00101000

40

1. hurok.

Művelet

Kifejezés kiértékelése

Bináris egyenérték

Tizedesérték

nak nek

-30

11100010

-30

b

40

00101000

40

míg (b! = 0)

igaz

int carry = (a & b)

-30 és 40

00100000

32

a = a ^ b

-30 ^ 40

11001010

-54

b = hordoz<< 1

32<< 1

00101000

64.

És így tovább & hellip, amíg a hurok rövidsége miatt b = 0 lesz, nem minden eredmény jelenik meg itt. Tehát az alábbi táblázat a művelet utolsó ciklusát jelenti.

Művelet

Kifejezés kiértékelése

Bináris egyenérték

Tizedesérték

nak nek

-2147483638

111111111111111111111111111111111000000000000000000000000000000101010

-2147483638

b

-2147483648

1111111111111111111111111111111110000000000000000000000000000000000000

-2147483648

míg (b! = 0)

igaz

int carry = (a & b)

-2147483638 és -2147483648

1111111111111111111111111111111110000000000000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

10.

b = hordoz<< 1

-2147483648<< 1

0

0

vissza a

10.

00001010

10.

Tehát így számolták ki az összeadást. Phew! ennyit a gondolatról. Gondoljunk csak arra, ha ezt a számítást emberek végeznék manuálisan, főleg bináris számításokkal.

Ez a cikk következik a Java két számának hozzáadásáról

Rekurzió

A fenti programot rekurzióval is megírhatjuk. A számítási rész kissé eltér, és ezt figyelembe vehetjük a házi feladatoknál? A rekurzióhoz itt adom meg a kivonatot, és megpróbálja felépíteni a saját asztalát, hogy tudja, hogyan működik belsőleg. Ezenkívül nincs szükség mindezekre, amelyek csak reprezentációs célokat szolgálnak, hacsak nem izgatott az itteni belső működés.

public static int addUsingRecursion (int a, int b) {if (b == 0) visszatér egy int összeg = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }

Ez mind két Java szám hozzáadásához szólt a + operátor használatával és a + operátor használata nélkül. Az egyik vagy másik fél elmulasztásának oka teljesen a projekt szükségletétől és követelményétől függ.

Nem értékeltem és nem teszteltem mindkét forgatókönyv működését a teljesítmény elérése érdekében. Gondolom, ez csak akkor lép életbe, ha építi a rakétát és szállítja az űrbe.

Csak az egész számokkal kapcsolatos számokat magyaráztam rövidség céljából, amelyeknek saját memóriakorlátjuk van. Rátok bízza, hogy tovább vizsgálja az úszó, dupla stb. Használatát. Mindig emlékezzen arra, hogy ha túllépi a primitív típusok határértékét, akkor az eredmény más választ mutat.

Nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Azért vagyunk itt, hogy segítséget nyújtsunk utazásának minden lépésében, hogy a legjobbak legyünk, kidolgozunk egy tananyagot, amelyet olyan hallgatók és szakemberek számára tervezünk, akik Java fejlesztők szeretnének lenni.