U ovom članku predstavit ću vam jednostavan, ali važan koncept, a to je zbrajanje dva broja u Javi. Ali prije nego što krenete naprijed, predložio bih vam da se upoznate s 'Što je Java', značajkama Jave i kako možete instalirati Javu na svoj sustav, što možete pronaći u prethodnom . To će vam pomoći da brzo i jednostavno zgrabite nadolazeće koncepte. Ostale blogove u ovoj seriji Java lekcija napisao je naš stručnjaci će detaljno pokriti sve važne teme Java i J2EE,
U ovom će članku biti obrađeni sljedeći smjerovi,
- Metoda 1
- Metoda 2
- Ponovljeni unarni operater
- Tablica početne petlje
- Bitva i Bitshift operator u Javi
- Rekurzija
Pa krenimo onda,
Zbrajanje dva broja u Javi
Metoda 1
Razumijemo izravno razvojem programa na Javi za ispis 'Zbrajanja dva broja' na ekranu.
Razred AddTwoNumbers {public static void main (String [] args) {System.out.println („Zbrajanje dva broja 10 + 20 je' + (10 + 20))}}
Izlaz
Moramo to shvatiti, ovdje se brojevi dodaju izravno, recimo 10 + 20 to je 30. Ali ono što brojeve dobivamo iz konzole. U tom će se slučaju vrijednosti pohraniti u varijablu. Što se tiče Jave, varijabla String array pohranit će te brojeve na temelju njihovog indeksa.
javna klasa Main {public static void main (String [] args) {System.out.println ('Zbrajanje dva broja' + args [0] + '+' + args [1] + 'is' + (args [0 ] + argumenti [1]))}}
Izlaz za to bit će kao što je prikazano u Konzoli kada proslijedimo isti broj koji je 10 i 20.
E, rezultat koji smo ovdje dobili nije poželjan 30. Zapamtite argumente String [], svaki unos koji unesete s konzole predstavljen je u Stringu. Dakle, ovdje moramo pretvoriti te nizove u Integer da bismo izračunali zbrajanje.
javna klasa Main {public static void main (String [] args) {//System.out.println('Dodavanje dva broja '+ args [0] +' + '+ args [1] +' is '+ (args [0] + args [1])) System.out.println ('Zbrajanje dva broja' + args [0] + '+' + args [1] + 'je' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}
Izlaz
Sada je željeni izlaz ono što želimo. To je dodatak 10 i 20 je 30 nakon što smo ga raščlanili sa Stringa na Integer.
Sljedeće u ovom članku o Zbrajanju dva broja u Javi
Metoda 2
Korištenje operatora oduzimanja: Oduzimanjem možemo dodati dva broja takva da će negirati negativnu vrijednost i tako rezultirati zbrajanjem.
javna klasa 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 (dodaj (-10, 20))}}
Ouput
30
10
Sljedeće u ovom članku o Zbrajanju dva broja u Javi
Ponovljeni unarni operater
To uključuje while petlju, osnovna ideja koja stoji iza toga je dovesti vrijednost prvog operanda na nulu. I da nastavi s podsticanjem odgovarajućeg drugog operanda s istom količinom ponavljanja. Sami razmotrite donji primjer.
javna klasa HelloWorld {javna statička void glavna (String [] args) {System.out.println ('dodaj' + dodaj (10, 20)) System.out.println ('dodaj' + dodaj (-10, 20)) } javni statički int dodaj (int a, int b) {//System.out.println ('--->' + a + ':' + b) dok (a> 0) {//System.out.println ('while a> 0 --->' + a + ':' + b) b ++ a--} while (a<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) povratak b}}
Ouput
$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld dodaj 30 dodaj 10
Sljedeće u ovom članku o Zbrajanju dva broja u Javi
Bitva i Bitshift operator u Javi
Također možemo izvršiti zbrajanje dviju cijelih brojeva pomoću XOR bitnog operatora, a prijenos može dobiti operator AND. Da bismo zbroj nosili u zbroj, trebamo upotrijebiti potpisani lijevi pomak. Kako se to događa? Pogledajmo prvo primjer.
javna klasa HelloWorld {javna statička void glavna (String [] args) {System.out.println ('Dodatak pomoću + ve' + addUsingBits (10, 20)) System.out.println ('Dodavanje pomoću -ve' + addUsingBits ( -10, 20))} javni statički int addUsingBits (int a, int b) {while (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }
Izlaz
$ javac HelloWorld.java
kako postaviti pomrčinu
$ java -Xmx128M -Xms16M HelloWorld
Zbrajanje pomoću + ve 30
Zbrajanje pomoću -ve 10
Uvijek imajte na umu da se XOR operacija koristi za procjenu zbrajanja dva bita. Operacija AND koristi se za procjenu nošenja dva bita. Idemo secirati ovo, hoćemo li? Idući prema ulaznim vrijednostima, uzmimo a = 10 i b = 20 za prvi uvjet.
Operacija | Procjena izraza | Binarni ekvivalent | Decimalna vrijednost |
do | 10 | 00001010 | 10 |
b | dvadeset | 00010100 | dvadeset |
dok je (b! = 0) | pravi | ||
int nose = (a & b) | 10 i 20 | 0 | 0 |
a = a ^ b | 10 ^ 20 | 00011110 | 30 |
b = nositi<< 1 | 0<< 1 | 0 | 0 |
povratak a | 30 | 00011110 | 30 |
Uzmimo sada negativni ulaz, recimo -10 za a. Ispitajmo što se događa za tablicom u nastavku.To nam omogućuje petlju dok decimalna vrijednost prenosa ne postane negativna.
Sljedeće u ovom članku o Zbrajanju dva broja u Javi
Tablica početne petlje
Operacija | Procjena izraza | Binarni ekvivalent | Decimalna vrijednost |
do | -10 | 11110110 | -10 |
b | dvadeset | 00010100 | dvadeset |
dok je (b! = 0) | pravi | ||
int nose = (a & b) | -10 i 20 | 00010100 | dvadeset |
a = a ^ b | -10 ^ 20 | 11100010 | -30 |
b = nositi<< 1 | dvadeset<< 1 | 00101000 | 40 |
Petlja 1.
Operacija | Procjena izraza | Binarni ekvivalent | Decimalna vrijednost |
do | -30 | 11100010 | -30 java kako to koristiti |
b | 40 | 00101000 | 40 |
dok je (b! = 0) | pravi | ||
int nose = (a & b) | -30 i 40 | 00100000 | 32 |
a = a ^ b | -30 ^ 40 | 11001010 | -54 |
b = nositi<< 1 | 32<< 1 | 00101000 | 64 |
I tako dalje & hellip dok se petlja ne pokaže b = 0 za kratkoću, ovdje nisu prikazani svi rezultati. Dakle, donja tablica predstavlja zadnju petlju u ovoj operaciji.
Operacija | Procjena izraza | Binarni ekvivalent | Decimalna vrijednost |
do | -2147483638 | 111111111111111111111111111111100000000000000000000000000000001010 | -2147483638 |
b | -2147483648 | 11111111111111111111111111111110000000000000000000000000000000 | -2147483648 |
dok je (b! = 0) | pravi | ||
int nose = (a & b) | -2147483638 & -2147483648 | 11111111111111111111111111111110000000000000000000000000000000 | -2147483648 |
a = a ^ b | -2147483638 ^ -2147483648 | 00001010 | 10 |
b = nositi<< 1 | -2147483648<< 1 | 0 | 0 |
povratak a | 10 | 00001010 | 10 |
Dakle, tako se izračunao dodatak. Fuj! toliko o misli. Pomislite samo ako su taj izračun ljudi radili ručno, uglavnom binarni izračuni.
Sljedeće u ovom članku o Zbrajanju dva broja u Javi
Rekurzija
Također možemo napisati gornji program koristeći i rekurziju. Dio za izračunavanje se malo razlikuje. Razmislimo o ovome za domaću zadaću. Ovdje ću dati izvod za rekurziju, a vi pokušajte izgraditi vlastitu tablicu tako da znate kako to interno funkcionira. Također, ne trebate sve ovo krilatiti samo u svrhu predstavljanja, osim ako ste ovdje uzbuđeni zbog internog rada.
javni statički int addUsingRecursion (int a, int b) {if (b == 0) vrati int zbroj = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }
Sve je to bilo za dodavanje dva broja u Javi s korištenjem + operatora i bez korištenja + operatora. Razlog izazivanja bilo kojeg od njih u potpunosti će ovisiti o potrebi i zahtjevu projekta.
Nisam procijenio i testirao rad oba scenarija kako bih postigao izvedbu. Pretpostavljam da će to stupiti na snagu samo ako gradite raketu i isporučite je u svemir.
Objasnio sam samo brojeve koji se odnose na Integers za kratkoću koji imaju svoje ograničenje memorije. Ostavljam vam da dalje istražujete koristeći float, double, itd. Uvijek imajte na umu da će, ako premašite graničnu vrijednost primitivnih tipova, rezultat pokazati drugačiji odgovor.
Pogledajte Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Ovdje smo da vam pomognemo u svakom koraku na vašem putu, kako bismo postali najbolji, osmislili smo nastavni plan i program koji je dizajniran za studente i profesionalce koji žele biti programer Java.