Jak zaimplementować dodanie dwóch liczb w Javie?



W tym artykule przedstawię prostą, ale ważną koncepcję, jaką jest dodanie dwóch liczb w Javie wraz z demonstracją.

W tym artykule przedstawię proste, ale ważne pojęcie, jakim jest dodanie dwóch liczb w Javie. Ale zanim przejdziemy dalej, proponuję zapoznać się z „Co to jest Java”, funkcjami Javy i jak zainstalować Javę w systemie, które można znaleźć w poprzednich . Pomoże Ci to szybko i łatwo uchwycić nadchodzące koncepcje. Inne blogi z tej serii samouczków Java napisanych przez naszego eksperci szczegółowo omówią wszystkie ważne tematy dotyczące Java i J2EE,

Poniższe wskazówki zostaną omówione w tym artykule,





Więc zacznijmy,

Dodanie dwóch liczb w Javie

Metoda 1

Rozumiemy to bezpośrednio, opracowując program w Javie, który wypisze na ekranie komunikat „Dodawanie dwóch liczb”.



Klasa AddTwoNumbers {public static void main (String [] args) {System.out.println ('Dodanie dwóch liczb 10 + 20 to' + (10 + 20))}}

Wynik

Wynik - Dodaj dwie liczby w Javie - Edureka

Musimy to zrozumieć, że tutaj liczby są dodawane bezpośrednio, czyli 10 + 20, czyli 30. Ale to, co otrzymujemy, liczby otrzymujemy z konsoli. W takim przypadku wartości będą przechowywane w zmiennej. Jeśli chodzi o język Java, zmienna tablicowa String będzie przechowywać te liczby na podstawie ich indeksu.



public class Main {public static void main (String [] args) {System.out.println ('Dodawanie dwóch liczb' + args [0] + '+' + args [1] + 'is' + (args [0 ] + argumenty [1]))}}

Wynik tego będzie taki, jak pokazano w konsoli, gdy przekażemy tę samą liczbę, czyli 10 i 20.

Ech, otrzymany tutaj wynik nie jest pożądany 30. Pamiętaj, że argumenty String [], każde wejście, które pobierasz z konsoli, jest reprezentowane w ciągu. Więc tutaj musimy przekonwertować te ciągi na liczbę całkowitą, aby obliczyć dodawanie.

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 ('Dodawanie dwóch liczb' + args [0] + '+' + args [1] + 'is' + (Integer.parseInt (args [0]) ) + Integer.parseInt (args [1])))}}

Wynik

Teraz pożądane wyjście jest tym, czego chcemy. To jest dodanie 10, a 20 to 30 po przeanalizowaniu go z String na Integer.

Następnie w tym artykule na temat dodawania dwóch liczb w języku Java

Metoda 2

  1. Korzystanie z operatora odejmowania: Możemy użyć odejmowania, aby dodać dwie liczby w taki sposób, że zaneguje wartość ujemną i spowoduje dodanie.

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

Następnie w tym artykule na temat dodawania dwóch liczb w języku Java

Powtarzany jednoargumentowy operator

Obejmuje to pętlę while, podstawową ideą za tym jest sprowadzenie wartości pierwszego operandu do zera. I aby dalej zwiększać odpowiadający mu drugi operand o taką samą liczbę iteracji. Rozważ sam poniższy przykład.

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) powrót b}}

Ouput

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

Następnie w tym artykule na temat dodawania dwóch liczb w języku Java

Operator Bitwise i Bitshift w Javie

Możemy również dodać dwie liczby całkowite za pomocą operatora bitowego XOR, a przeniesienie można uzyskać za pomocą operatora AND. Aby dodać przeniesienie do sumy, musimy użyć podpisanego operatora przesunięcia w lewo. Jak to się dzieje? Najpierw zobaczmy przykład.

public class HelloWorld {public static void main (String [] args) {System.out.println ('Dodawanie przy użyciu + ve' + addUsingBits (10, 20)) System.out.println ('Dodawanie przy użyciu -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 } }

Wynik

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

Dodawanie za pomocą + ve 30

co to jest jframe w java

Dodawanie za pomocą -ve 10

Zawsze pamiętaj, że operacja XOR służy do oszacowania dodania dwóch bitów. Operacja AND służy do oceny przenoszenia dwóch bitów. Rozważmy to, dobrze? Przechodząc przez wartości wejściowe, weźmy a = 10 i b = 20 dla pierwszego warunku.

Operacja

Ocena wyrażenia

Odpowiednik binarny

Wartość dziesiętna

do

10

00001010

10

b

dwadzieścia

00010100

dwadzieścia

podczas gdy (b! = 0)

prawdziwe

int carry = (a i b)

10 i 20

0

0

a = a ^ b

10 ^ 20

00011110

30

b = nosić<< 1

0<< 1

0

0

powrót a

30

00011110

30

Teraz weźmy ujemne dane wejściowe, powiedzmy -10 dla a. Przyjrzyjmy się poniższej tabeli.To pozwala nam zapętlić się, aż dziesiętna wartość przeniesienia osiągnie ujemną wartość.

Następnie w tym artykule na temat dodawania dwóch liczb w języku Java

Początkowa tabela pętli

Operacja

Ocena wyrażenia

Odpowiednik binarny

Wartość dziesiętna

do

-10

11110110

-10

b

dwadzieścia

00010100

dwadzieścia

podczas gdy (b! = 0)

prawdziwe

int carry = (a i b)

-10 i 20

00010100

dwadzieścia

a = a ^ b

-10 ^ 20

11100010

-30

b = nosić<< 1

dwadzieścia<< 1

00101000

40

Pętla 1.

Operacja

Ocena wyrażenia

Odpowiednik binarny

Wartość dziesiętna

do

-30

11100010

-30

b

40

00101000

40

podczas gdy (b! = 0)

prawdziwe

int carry = (a i b)

-30 i 40

00100000

32

a = a ^ b

-30 ^ 40

11001010

-54

b = nosić<< 1

32<< 1

00101000

64

I tak dalej & hellip, aż pętla okaże się b = 0 dla zwięzłości, nie wszystkie wyniki są tutaj pokazane. Zatem poniższa tabela przedstawia ostatnią pętlę w tej operacji.

Operacja

Ocena wyrażenia

Odpowiednik binarny

Wartość dziesiętna

do

-2147483638

111111111111111111111111111110000000000000000000000000001010

-2147483638

b

system.exit (0) java

-2147483648

111111111111111111111111111110000000000000000000000000000000

-2147483648

podczas gdy (b! = 0)

prawdziwe

int carry = (a i b)

-2147483638 i -2147483648

11111111111111111111111111111110000000000000000000000000000000

-2147483648

a = a ^ b

-2147483638 ^ -2147483648

00001010

10

b = nosić<< 1

-2147483648<< 1

0

0

powrót a

10

00001010

10

W ten sposób obliczono dodatek. Uff! tyle za myśl. Pomyśl tylko, czy te obliczenia zostały wykonane ręcznie przez ludzi, głównie obliczenia binarne.

Następnie w tym artykule na temat dodawania dwóch liczb w języku Java

Rekursja

Powyższy program możemy również napisać używając rekurencji. Część obliczeniowa różni się nieco, rozważmy to w ramach pracy domowej, prawda? Podam tutaj fragment rekursji i spróbujesz zbudować własną tabelę, aby wiedzieć, jak to działa wewnętrznie. Nie musisz też grzebać w tym wszystkim tylko w celach reprezentacyjnych, chyba że jesteś podekscytowany wewnętrznymi działaniami tutaj.

public static int addUsingRecursion (int a, int b) {if (b == 0) return a int sum = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }

To wszystko było dla dodania dwóch liczb w Javie z użyciem operatora + i bez użycia operatora +. Przyczyna wyboru jednego z nich będzie całkowicie zależeć od potrzeb i wymagań projektu.

Nie oceniałem i nie testowałem działania obu scenariuszy pod kątem wydajności. Myślę, że zadziała to tylko wtedy, gdy zbudujesz rakietę i dostarczysz ją w kosmos.

Dla zwięzłości wyjaśniłem tylko liczby związane z liczbami całkowitymi, które mają swój własny limit pamięci. Pozostawiam ci dalsze badanie za pomocą float, double itp. Zawsze pamiętaj, że jeśli przekroczysz wartość graniczną typów pierwotnych, wynik pokaże inną odpowiedź.

Sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Jesteśmy tutaj, aby pomóc Ci na każdym etapie Twojej podróży, aby stać się najlepszym, opracowujemy program nauczania przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java.