Pada artikel ini, saya akan memperkenalkan Anda pada konsep sederhana namun penting yaitu penjumlahan dua angka di Jawa. Tetapi sebelum melanjutkan, saya sarankan Anda untuk membiasakan diri dengan 'Apa itu Java', fitur-fitur Java dan bagaimana Anda menginstal Java di sistem Anda, yang dapat Anda temukan di . Ini akan membantu Anda mengambil konsep yang akan datang dengan cepat dan mudah. Blog-blog lain dalam seri tutorial Java ini ditulis oleh kami ahli akan membahas semua topik penting Java & J2EE secara mendalam,
Petunjuk berikut akan dibahas dalam artikel ini,
- Metode 1
- Metode 2
- Operator Unary Berulang
- Tabel Loop Awal
- Operator Bitwise Dan Bitshift Di Java
- Pengulangan
Jadi mari kita mulai,
Penjumlahan dua angka di Jawa
Metode 1
Mari kita pahami langsung dengan mengembangkan program di Java untuk mencetak “Penambahan dua angka” di layar.
Kelas AddTwoNumbers {public static void main (String [] args) {System.out.println (“Penambahan dua angka 10 + 20 adalah” + (10 + 20))}}
Keluaran
Kita harus memahami ini bahwa, di sini angka yang ditambahkan langsung mengatakan 10 + 20 yaitu 30. Tapi yang kita dapatkan adalah angka dari konsol. Dalam hal ini, nilai akan disimpan dalam variabel. Dalam istilah Java, variabel array String akan menyimpan angka-angka tersebut berdasarkan indeksnya.
kelas publik Utama {public static void main (String [] args) {System.out.println ('Penambahan dua angka' + args [0] + '+' + args [1] + 'is' + (args [0 ] + args [1]))}}
Output untuk ini akan seperti yang ditunjukkan pada Console ketika kita melewati angka yang sama yaitu 10 dan 20.
Eh, hasil yang kita dapatkan di sini tidak diinginkan 30. Ingat String [] args, setiap masukan yang Anda ambil dari konsol diwakili dalam String. Jadi di sini kita harus mengubah String tersebut menjadi Integer untuk menghitung penambahan.
kelas publik Utama {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 ('Penambahan dua angka' + args [0] + '+' + args [1] + 'is' + (Integer.parseInt (args [0]) ) + Integer.parseInt (args [1])))}}
Keluaran
Sekarang keluaran yang diinginkan adalah yang kita inginkan. Artinya penjumlahan 10 dan 20 adalah 30 setelah kita parse dari String menjadi Integer.
Selanjutnya pada artikel ini tentang Penambahan Dua Angka Di Jawa
Metode 2
Menggunakan operator Pengurangan: Kita dapat menggunakan pengurangan untuk menjumlahkan dua angka sehingga itu akan meniadakan nilai negatif dan menghasilkan penjumlahan.
kelas publik 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 (tambahkan (-10, 20))}}
Ouput
30
10
Selanjutnya pada artikel ini tentang Penambahan Dua Angka Di Jawa
Operator Unary Berulang
Ini melibatkan while loop, ide dasar di balik ini adalah membawa nilai operan pertama ke nol. Dan untuk terus meningkatkan operan kedua yang sesuai dengan jumlah iterasi yang sama. Pertimbangkan contoh di bawah ini sendiri.
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) return b}}
Ouput
$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld tambahkan 30 tambahkan 10
Selanjutnya pada artikel ini tentang Penambahan Dua Angka Di Jawa
Operator Bitwise Dan Bitshift Di Java
Kita juga dapat melakukan penambahan dua bilangan bulat dengan menggunakan operator bitwise XOR dan carry dapat diperoleh dengan operator AND. Untuk menambahkan jumlah yang dibawa kita perlu menggunakan operator shift kiri bertanda. Bagaimana ini bisa terjadi? Mari kita lihat dulu contohnya.
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))} public static int addUsingBits (int a, int b) {while (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }
Keluaran
$ javac HelloWorld.java
$ java -Xmx128M -Xms16M HelloWorld
Penambahan menggunakan + ve 30
Penambahan menggunakan -ve 10
Ingatlah selalu bahwa, operasi XOR digunakan untuk mengevaluasi penambahan dua bit. Operasi AND digunakan untuk mengevaluasi carry dua bit. Mari kita membedah ini, ya? Berdasarkan nilai masukan, a = 10 dan b = 20 untuk kondisi pertama.
Operasi | Evaluasi ekspresi | Setara biner | Nilai Desimal |
untuk | 10 | 00001010 | 10 |
b | dua puluh | 00010100 | dua puluh |
sementara (b! = 0) | benar | ||
int membawa = (a & b) | 10 & 20 | 0 | 0 |
a = a ^ b | 10 ^ 20 | 00011110 | 30 |
b = membawa<< 1 | 0<< 1 | 0 | 0 |
kembali a | 30 | 00011110 | 30 |
Sekarang, ambil masukan negatif, misalnya -10 untuk a. Mari kita lihat apa yang terjadi pada tabel di bawah ini.Ini memungkinkan kita melakukan loop sampai nilai desimal dari carry menjadi negatif.
Selanjutnya pada artikel ini tentang Penambahan Dua Angka Di Jawa
Tabel Loop Awal
Operasi | Evaluasi ekspresi | Setara biner | Nilai Desimal |
untuk | -10 | 11110110 fibonacci nomor c ++ | -10 |
b | dua puluh | 00010100 | dua puluh |
sementara (b! = 0) | benar | ||
int membawa = (a & b) | -10 & 20 | 00010100 | dua puluh |
a = a ^ b | -10 ^ 20 | 11100010 | -30 |
b = membawa<< 1 | dua puluh<< 1 | 00101000 | 40 |
Putaran 1.
Operasi | Evaluasi ekspresi | Setara biner | Nilai Desimal |
untuk | -30 | 11100010 | -30 |
b | 40 | 00101000 | 40 |
sementara (b! = 0) | benar | ||
int membawa = (a & b) | -30 & 40 | 00100000 | 32 |
a = a ^ b | -30 ^ 40 | 11001010 | -54 cara mengubah string menjadi tanggal di java |
b = membawa<< 1 | 32<< 1 | 00101000 | 64 |
Dan seterusnya & hellip sampai loop ternyata b = 0 untuk singkatnya tidak semua hasil ditampilkan di sini. Jadi tabel di bawah ini mewakili loop terakhir dalam operasi ini.
Operasi | Evaluasi ekspresi | Setara biner | Nilai Desimal |
untuk | -2147483638 | 11111111111111111111111111111000000000000000000000000000001010 | -2147483638 |
b | -2147483648 | 11111111111111111111111111111000000000000000000000000000000000 | -2147483648 |
sementara (b! = 0) | benar | ||
int membawa = (a & b) | -2147483638 & -2147483648 | 11111111111111111111111111111000000000000000000000000000000000 | -2147483648 |
a = a ^ b | -2147483638 ^ -2147483648 | 00001010 | 10 |
b = membawa<< 1 | -2147483648<< 1 | 0 | 0 |
kembali a | 10 | 00001010 | 10 |
Jadi begitulah penambahan dihitung. Fiuh! begitu banyak untuk pikiran itu. Bayangkan saja jika perhitungan ini dilakukan secara manual oleh manusia, terutama perhitungan biner.
Selanjutnya pada artikel ini tentang Penambahan Dua Angka Di Jawa
Pengulangan
Kami juga dapat menulis program di atas menggunakan rekursi juga. Bagian perhitungannya sedikit berbeda, mari pertimbangkan ini sebagai pekerjaan rumah untuk Anda, oke? Saya akan memberikan ekstrak di sini untuk rekursi dan Anda mencoba membuat tabel Anda sendiri sehingga Anda tahu cara kerjanya secara internal. Juga, tidak perlu memalsukan semua ini yang hanya untuk tujuan representasi kecuali Anda bersemangat tentang cara kerja internal di sini.
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) }
Ini semua untuk penambahan dua nomor di Jawa dengan menggunakan operator + dan tanpa menggunakan operator +. Alasan di balik pergi untuk salah satu dari itu akan sepenuhnya bergantung pada kebutuhan dan persyaratan proyek.
Saya belum mengevaluasi dan menguji kerja kedua skenario untuk menghasilkan kinerja. Saya kira itu akan berlaku hanya jika Anda membangun roket dan mengirimkannya ke luar angkasa.
Saya hanya menjelaskan nomor yang terkait dengan Integer untuk singkatnya yang memiliki batas memorinya sendiri. Saya serahkan pada Anda untuk mengeksplorasi lebih lanjut menggunakan float, double, dll. Ingatlah selalu bahwa jika melebihi nilai limit dari tipe primitif maka hasilnya akan berbeda.
Lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kami di sini untuk membantu Anda dalam setiap langkah dalam perjalanan Anda, untuk menjadi yang terbaik, kami menghadirkan kurikulum yang dirancang untuk siswa dan profesional yang ingin menjadi Pengembang Java.