I den här artikeln ska jag introducera dig till ett enkelt men ändå viktigt koncept som är tillägg av två nummer i Java. Men innan du går vidare föreslår jag att du bekantar dig med 'Vad är Java', funktioner i Java och hur kan du installera Java på ditt system, vilket du kan hitta i tidigare . Detta hjälper dig att ta tag i de kommande koncepten snabbt och enkelt. De andra bloggarna i denna Java-handledningsserie skriven av vår experter kommer att täcka alla viktiga ämnen i Java och J2EE på djupet,
Följande tips kommer att behandlas i den här artikeln,
- Metod 1
- Metod 2
- Upprepad unary operatör
- Initialt loopstabell
- Bitvis och Bitshift-operatör i Java
- Rekursion
Så låt oss komma igång då,
Tillägg av två nummer i Java
Metod 1
Låt oss förstå det direkt genom att utveckla ett program i Java för att skriva ut 'Lägg till två nummer' på skärmen.
Klass AddTwoNumbers {public static void main (String [] args) {System.out.println (“Addition of two numbers 10 + 20 is” + (10 + 20))}}
Produktion
Vi måste förstå detta att här läggs siffror till direkt säga 10 + 20 som är 30. Men vad vi får siffror från konsolen. I så fall lagras värdena i en variabel. När det gäller Java kommer strängmatrisvariabel att lagra dessa siffror baserat på deras index.
public class Main {public static void main (String [] args) {System.out.println ('Adding of two numbers' + args [0] + '+' + args [1] + 'is' + (args [0 ] + args [1]))}}
Utgången för detta kommer att visas som visas i konsolen när vi passerar samma nummer som är 10 och 20.
Eh, resultatet vi fick här är inte önskvärt 30. Kom ihåg String [] args, varje ingång du tar från konsolen representeras i String. Så här måste vi konvertera dessa strängar till heltal för att beräkna tillägget.
public class Main {public static void main (String [] args) {//System.out.println('Addition of two numbers '+ args [0] +' + '+ args [1] +' is '+ (args [0] + args [1])) System.out.println ('Addition of two numbers' + args [0] + '+' + args [1] + 'is' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1]))}}
Produktion
Nu är önskad produktion vad vi vill ha. Det är tillägget av 10 och 20 är 30 efter att vi analyserat det från sträng till heltal.
Nästa i den här artikeln om tillägg av två nummer i Java
Metod 2
Använda subtraktionsoperatör: Vi kan använda subtraktion för att lägga till två tal så att det negerar det negativa värdet och därmed resulterar i tillägg.
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 (lägg till (-10, 20))}}
Ouput
30
10
Nästa i den här artikeln om tillägg av två nummer i Java
Upprepad unary operatör
Detta involverar medan loop, den grundläggande idén bakom detta är att sätta värdet av första operand till noll. Och för att fortsätta öka sin motsvarande andra operand med samma mängd iterationer. Tänk på exemplet nedan själv.
offentlig klass 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 ('medan a> 0 --->' + a + ':' + b) b ++ a--} medan (a<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) returnera b}}
Ouput
$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld lägg till 30 lägg till 10
Nästa i den här artikeln om tillägg av två nummer i Java
Bitvis och Bitshift-operatör i Java
Vi kan också lägga till två heltal genom att använda XOR bitvis operator och bär kan erhållas av AND-operatören. För att lägga till summan måste vi använda den undertecknade vänstra skiftoperatören. Hur händer detta? Låt oss först se ett exempel.
public class HelloWorld {public static void main (String [] args) {System.out.println ('Addition using + ve' + addUsingBits (10, 20)) System.out.println ('Addition using -ve' + addUsingBits ( -10, 20))} offentliga statiska int addUsingBits (int a, int b) {medan (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }
Produktion
$ javac HelloWorld.java
$ java -Xmx128M -Xms16M HelloWorld
Tillägg med + ve 30
Tillsats med -ve 10
Kom alltid ihåg att XOR-operation används för att utvärdera tillägg av två bitar. OCH-operation används för att utvärdera bärande av två bitar. Låt oss dissekera detta ska vi? Går vi efter ingångsvärdena, låt oss ta a = 10 och b = 20 för det första villkoret.
Drift | Uttrycksutvärdering | Binär ekvivalent | Decimalvärde |
till | 10 | 00001010 | 10 |
b slå samman sorteringsalgoritmen c ++ | tjugo | 00010100 | tjugo |
medan (b! = 0) | Sann | ||
int bär = (a & b) | 10 & 20 | 0 | 0 |
a = a ^ b | 10 ^ 20 | 00011110 | 30 |
b = bär<< 1 | 0<< 1 | 0 | 0 |
returnera a | 30 | 00011110 | 30 |
Låt oss nu ta en negativ inmatning säga -10 för a. Låt oss undersöka vad som händer i tabellen nedan.Detta låter oss gå ihop tills det decimala värdet av bär blir negativt.
Nästa i den här artikeln om tillägg av två nummer i Java
Initialt loopstabell
Drift | Uttrycksutvärdering | Binär ekvivalent | Decimalvärde |
till | -10 | 11110110 | -10 |
b | tjugo | 00010100 | tjugo |
medan (b! = 0) | Sann | ||
int bär = (a & b) | -10 & 20 | 00010100 | tjugo |
a = a ^ b | -10 ^ 20 | 11100010 | -30 |
b = bär<< 1 | tjugo<< 1 | 00101000 | 40 |
Slinga 1.
kassandra tabell vs kolumnfamilj
Drift | Uttrycksutvärdering | Binär ekvivalent | Decimalvärde |
till | -30 | 11100010 | -30 |
b | 40 | 00101000 | 40 |
medan (b! = 0) | Sann | ||
int bär = (a & b) | -30 & 40 | 00100000 | 32 |
a = a ^ b | -30 ^ 40 | 11001010 | -54 |
b = bär<< 1 | 32<< 1 | 00101000 | 64 |
Och så vidare & hellip tills loop visar sig vara b = 0 för korthet visas inte alla resultat här. Så nedanstående tabell representerar sista slingan i denna operation.
Drift | Uttrycksutvärdering | Binär ekvivalent | Decimalvärde |
till | -2147483638 | 1111111111111111111111111111100000000000000000000000000000001010 | -2147483638 |
b | -2147483648 | 1111111111111111111111111111100000000000000000000000000000000000 | -2147483648 |
medan (b! = 0) | Sann | ||
int bär = (a & b) | -2147483638 & -2147483648 | 1111111111111111111111111111100000000000000000000000000000000000 | -2147483648 |
a = a ^ b | -2147483638 ^ -2147483648 | 00001010 | 10 |
b = bär<< 1 | -2147483648<< 1 | 0 | 0 |
returnera a | 10 | 00001010 | 10 |
Så så blev tillägget beräknat. Few! så mycket för tanken. Tänk bara om denna beräkning gjordes manuellt av människor, främst binära beräkningar.
Nästa i den här artikeln om tillägg av två nummer i Java
Rekursion
Vi kan också skriva ovanstående program med rekursion. Beräkningsdelen skiljer sig något kan överväga detta för läxor för dig ska vi? Jag kommer att ge utdraget här för rekursionen och du försöker bygga ditt eget bord så att du vet hur det fungerar internt. Inget behov av att råna allt detta som endast är för representationsändamål såvida du inte är glada över interna arbeten här.
public static int addUsingRecursion (int a, int b) {if (b == 0) returnerar en int-summa = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }
Detta var allt för att lägga till två nummer i Java med att använda + -operatören och utan att använda + -operatör. Anledningen till att gå till någon av dessa beror helt på projektbehovet och kravet.
Jag har inte utvärderat och testat hur båda scenarierna fungerar för att komma fram till prestanda. Jag antar att det bara kommer att träda i kraft om du bygger raketen och levererar den till rymden.
Jag har bara förklarat siffror relaterade till heltal för korthet som har sin egen minnesgräns. Jag lämnar det åt dig att vidare utforska med float, double, etc. Kom alltid ihåg att om du överskrider gränsvärdet för primitiva typer kommer resultatet att visa olika svar.
Kolla in av Edureka, ett pålitligt online-lärande företag med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Vi är här för att hjälpa dig med varje steg på din resa, för att bli ditt bästa, kommer vi med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare.