En aquest article, us presentaré un concepte senzill però important que és l’addició de dos nombres a Java. Abans de seguir endavant, us suggeriria que us familiaritzeu amb 'Què és Java', les funcions de Java i com podeu instal·lar Java al vostre sistema, que podeu trobar a l'anterior? . Això us ajudarà a agafar els conceptes que vénen de forma ràpida i senzilla. Els altres blocs d’aquesta sèrie de tutorials de Java escrits per la nostra els experts tractaran tots els temes importants de Java i J2EE en profunditat,
En aquest article es tractaran les següents indicacions,
- Mètode 1
- Mètode 2
- Operador unari repetit
- Taula de bucle inicial
- Operador de bits i bits a Java
- Recursivitat
Comencem doncs,
Addició de dos números a Java
Mètode 1
Ho comprenem directament desenvolupant un programa a Java per imprimir 'Addició de dos números' a la pantalla.
Class AddTwoNumbers {public static void main (String [] args) {System.out.println ('L'addició de dos números 10 + 20 és' + (10 + 20))}}
Sortida
Hem d’entendre això que, aquí s’afegeixen números directament, diem 10 + 20, és a dir, 30. Però el que obtenim els números de la consola. En aquest cas, els valors s’emmagatzemaran en una variable. En termes de Java, la variable de matriu String emmagatzemarà aquests números en funció del seu índex.
public class Main {public static void main (String [] args) {System.out.println ('Addició de dos números' + args [0] + '+' + args [1] + 'és' + (args [0 ] + args [1]))}}
La sortida per a això serà la que es mostra a Consola quan passem el mateix nombre que és 10 i 20.
Eh, el resultat que hem obtingut aquí no és el desitjat 30. Recordeu que String [] argumenta, cada entrada que treieu de la consola es representa a String. Per tant, aquí hem de convertir aquestes cadenes en nombres enters per calcular l’addició.
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 ('Addició de dos números' + args [0] + '+' + args [1] + 'és' + (Integer.parseInt (args [0] ) + Integer.parseInt (args [1])))}}}
Sortida
Ara el resultat desitjat és el que volem. És a dir, l’addició de 10 i 20 és de 30 després que l’hem analitzat de String a Integer.
A continuació, en aquest article sobre Addició de dos números a Java
Mètode 2
Utilitzant l’operador de restes: Podem utilitzar la resta per afegir dos nombres de manera que negarà el valor negatiu i es traduirà en suma.
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 (afegir (-10, 20))}}
Ouput
30
10
A continuació, en aquest article sobre Addició de dos números a Java
Operador unari repetit
Això implica bucle while, la idea bàsica que hi ha darrere és portar el valor del primer operand a zero. I per continuar augmentant el seu segon operant corresponent amb la mateixa quantitat d'iteracions. Tingueu en compte l’exemple següent.
ordenar matriu c ++
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 ('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) torna b}}
Ouput
$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld afegeix 30 afegeix 10
A continuació, en aquest article sobre Addició de dos números a Java
Operador de bits i bits a Java
També podem fer l'addició de dos enters utilitzant l'operador XOR a bit i l'operador AND pot obtenir el transport. Per afegir suma a suma hem d’utilitzar un operador de desplaçament a l’esquerra signat. Com passa això? Vegem primer un exemple.
classe pública 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))} public static int addUsingBits (int a, int b) {while (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }
Sortida
$ javac HelloWorld.java
$ java -Xmx128M -Xms16M HelloWorld
Addició amb + ve 30
Addició mitjançant -ve 10
Recordeu sempre que l'operació XOR s'utilitza per avaluar l'addició de dos bits. L’operació AND s’utilitza per avaluar la càrrega de dos bits. Disseccionem això, oi? Seguint els valors d’entrada, prenem a = 10 i b = 20 per a la primera condició.
Operació | Avaluació d'expressions | Equivalent binari | Valor decimal |
a | 10 | 00001010 | 10 |
b | 20 | 00010100 | 20 |
mentre que (b! = 0) | cert | ||
int carry = (a & b) | 10 & 20 | 0 | 0 |
a = a ^ b | 10 ^ 20 | 00011110 | 30 |
b = portar<< 1 | 0<< 1 | 0 | 0 |
tornar a | 30 | 00011110 | 30 |
Ara, prenem una entrada negativa per dir -10 per a. Examinem què passa a la taula següent.Això ens deixa en bucle fins que el valor decimal de la transferència sigui negatiu.
A continuació, en aquest article sobre Addició de dos números a Java
Taula de bucle inicial
Operació | Avaluació d'expressions | Equivalent binari | Valor decimal |
a | -10 | 11110110 | -10 |
b | 20 | 00010100 | 20 |
mentre que (b! = 0) | cert | ||
int carry = (a & b) | -10 & 20 | 00010100 | 20 |
a = a ^ b | -10 ^ 20 | 11100010 | -30 |
b = portar<< 1 | 20<< 1 | 00101000 | 40 |
Llaç 1.
Operació | Avaluació d'expressions | Equivalent binari | Valor decimal |
a | -30 | 11100010 | -30 |
b | 40 | 00101000 | 40 |
mentre que (b! = 0) | cert | ||
int carry = (a & b) | -30 & 40 | 00100000 | 32 |
a = a ^ b | -30 ^ 40 | 11001010 | -54 |
b = portar<< 1 | 32<< 1 | 00101000 | 64 |
I així successivament & hellip fins que el bucle resulti b = 0 per brevetat, no es mostra tot el resultat aquí. Per tant, a la taula següent es representa l’últim bucle d’aquesta operació.
Operació | Avaluació d'expressions | Equivalent binari | Valor decimal |
a | -2147483638 | 1111111111111111111111111111111110000000000000000000000000001010 | -2147483638 |
b | -2147483648 | 1111111111111111111111111111111110000000000000000000000000000000 | -2147483648 |
mentre que (b! = 0) | cert | ||
int carry = (a & b) | -2147483638 & -2147483648 | 1111111111111111111111111111111110000000000000000000000000000000 | -2147483648 |
a = a ^ b | -2147483638 ^ -2147483648 | 00001010 | 10 |
b = portar<< 1 | -2147483648<< 1 | 0 android studio pas a pas | 0 |
tornar a | 10 | 00001010 | 10 |
Així doncs, es va calcular l’addició. Uf! tant per al pensament. Penseu només si aquest càlcul el van fer manualment els humans, principalment càlculs binaris.
A continuació, en aquest article sobre Addició de dos números a Java
Recursivitat
També podem escriure el programa anterior amb recursivitat. La part del càlcul difereix lleugerament. Tingueu en compte això per fer deures. Donaré l'extracte aquí per a la recursió i provareu de construir la vostra pròpia taula perquè sàpiga com funciona internament. A més, no és necessari embolicar tot això només amb finalitats de representació, tret que estigueu entusiasmats amb el funcionament intern aquí.
public static int addUsingRecursion (int a, int b) {if (b == 0) retorna una suma int = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }
Tot això per afegir dos números a Java amb l'ús de l'operador + i sense utilitzar l'operador +. La raó per la qual optarà per qualsevol d’aquests dependrà completament de la necessitat i requisit del projecte.
No he avaluat ni provat el funcionament de l'escenari per obtenir un rendiment. Suposo que això entrarà en vigor només si esteu construint el coet i el traieu a l’espai.
He explicat només els números relacionats amb els nombres enters per breu que té el seu propi límit de memòria. Us deixo explorar més amb float, double, etc. Recordeu sempre que si supereu el valor límit dels tipus primitius, el resultat mostrarà una resposta diferent.
Consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. Estem aquí per ajudar-vos en cada pas del vostre viatge, per convertir-vos en el vostre millor, proposem un pla d’estudis dissenyat per a estudiants i professionals que vulguin ser desenvolupadors de Java.