CodeGym /Java Blog /Acak /Operator numerik di Java
John Squirrels
Level 41
San Francisco

Operator numerik di Java

Dipublikasikan di grup Acak
Hai! Hari ini kita akan membahas topik yang sangat penting, yaitu operator numerik di Java .
Operator numerik di Jawa - 1
Dalam pemrograman, angka ada di mana-mana. Jika Anda menggali lebih dalam dan mengingat sekolah menengah, Anda mungkin ingat bahwa komputer mewakili semua informasi dalam format numerik: kombinasi nol dan satu, juga dikenal sebagai kode biner.
Operator numerik di Jawa - 2
Ada banyak operator numerik dalam pemrograman, jadi kami akan menggunakan contoh untuk mengeksplorasi yang paling penting :) Mari kita mulai dengan yang paling sederhana: operator aritmatika . +Ini adalah operator penjumlahan ( ), pengurangan ( -), perkalian ( *), dan pembagian ( ) yang terkenal /.

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       System.out.println(x+y);
       System.out.println(x-y);
       System.out.println(x*y);
       System.out.println(x/y);
   }
}
Keluaran konsol: 1032 966 32967 30 Anda sudah menggunakan semua ini. Ke grup ini, Anda dapat menambahkan %operator sisa atau modulo ( ).

public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 33%2;
       System.out.println(y);
   }
}
Keluaran konsol: 1 Dalam contoh ini, kita membagi 33 dengan 2. Ini menghasilkan 16, dengan tambahan "ekor" (satu) yang tidak habis dibagi 2. "Ekor" ini adalah hasil dari operasi "sisa pembagian". Java juga mengimplementasikan operator perbandingan/relasional (seperti dalam matematika). Mereka mungkin juga akrab bagi Anda dari sekolah:
  • sama dengan ( ==)
  • lebih besar dari ( >)
  • kurang dari ( <)
  • lebih besar atau sama dengan ( >=)
  • kurang dari atau sama dengan ( <=)
  • tidak sama ( !=)
Di sini Anda harus memperhatikan satu poin penting yang menyebabkan banyak pemula melakukan kesalahan. Operator "sama dengan" ditulis ==, bukan =. Di Java, single =adalah operator penugasan , yang digunakan ketika sebuah variabel diberi nomor, string, atau nilai dari variabel lain.
Operator numerik di Jawa - 3

public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x=y);// We expect false to be displayed
   }
}
Keluaran konsol: 999 Ups! Ini jelas bukan hasil yang kami harapkan. Ini adalah tipe data yang sama sekali berbeda: kami berharap melihat boolean , tetapi kami mendapat nomor. Semua karena kami menggunakan operator penugasan dalam tanda kurung, bukan perbandingan . x=y Nilai y(999) diberikan ke variabel x, dan kemudian kami menampilkan nilai x. Inilah cara yang tepat untuk melakukannya:

public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x==y);
   }
}
Keluaran konsol: salah Sekarang kita telah membandingkan kedua angka dengan benar! :) Inilah fitur lain dari operator penugasan ( =): dapat "dirangkai" bersama:

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;
       int z = 256;

       x = y = z;
       System.out.println(x);
   }
}
Keluaran konsol: 256 Ingat tugas dari kanan ke kiri . Ungkapan ini ( x = y = z) akan dieksekusi dalam langkah-langkah:
  • y = z, itu adalah,y = 256
  • x = y, itu adalah,x = 256

Operator Unary.

Mereka disebut " unary " dari kata " uno ", yang berarti " satu ". Mereka mendapat nama ini karena, tidak seperti operator sebelumnya, mereka bekerja pada satu nomor, bukan beberapa. Ini termasuk:
  • Minus unary. Ini membalik tanda nomor.


public class Main {

   public static void main(String[] args) {

       int x = 999;

       // Change the sign for the first time
       x = -x;
       System.out.println(x);

       // Change the sign for the second time
       x= -x;
       System.out.println(x);
   }
}
Output konsol: -999 999 Kami menggunakan operator minus unary dua kali. Akibatnya, angka kami pertama kali negatif, lalu menjadi positif lagi!
  • Penambahan (++) dan pengurangan (--)
Operator ++menambah angka satu per satu, dan --operator mengurangi angka dengan jumlah yang sama.

public class Main {

   public static void main(String[] args) {

       int x = 999;
       x++;
       System.out.println(x);

       x--;
       System.out.println(x);
   }
}
Keluaran konsol: 1000 999 Notasi ini mungkin tidak asing bagi Anda jika Anda pernah mendengar tentang bahasa C++. Penciptanya menggunakan nama yang menarik ini untuk menyampaikan gagasan bahwa "C++ adalah perpanjangan dari bahasa C" Versi populer Notepad yang disempurnakan disebut Notepad++ Inilah poin penting. Ada dua jenis operator kenaikan dan penurunan: postfix dan prefix . x++- postfix ++x- awalan Apa perbedaan mendasar antara menempatkan plus/minus sebelum atau sesudah angka? Kita akan melihat pada contoh berikut:

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
   }
}

Keluaran konsol: 999 Ada yang tidak beres! Kami ingin menambah x1 dan menetapkan nilai baru ke variabel y. Dengan kata lain, y harus 1000. Tapi sebaliknya kita mendapatkan sesuatu yang lain: 999. Sepertinya x tidak meningkat dan operator kenaikan tidak berfungsi? Tapi itu berhasil. Untuk meyakinkan diri sendiri, coba tampilkan xdi bagian akhir :)

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
       System.out.println(x);
   }
}
Keluaran konsol: 999 1000 Faktanya, inilah mengapa operasi ini disebut postfix: dilakukan setelah ekspresi utama. Ini berarti, dalam kasus kami: int y = x++; y = xdilakukan terlebih dahulu (dan variabel yakan diinisialisasi ke nilai x), dan baru kemudian akan x++dieksekusi Bagaimana jika ini bukan perilaku yang kita inginkan? Maka kita perlu menggunakan notasi awalan :

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = ++x;
       System.out.println(y);
   }
}
Dalam hal ini, ++xdiproses terlebih dahulu dan baru setelahnya adalah y = x; dieksekusi. Anda harus memasukkan perbedaan ini ke memori segera untuk menghindari membuat kesalahan dalam program nyata di mana menggunakan postfix alih-alih awalan dapat membalikkan semuanya :)

Operator senyawa

Selain itu, di Jawa ada yang disebut operator majemuk. Mereka menggabungkan dua operator:
  • Penugasan
  • operator aritmatika
Ini termasuk:
  • +=
  • -=
  • *=
  • /=
  • %=
Mari kita pertimbangkan sebuah contoh:

public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       x += y;
       System.out.println(x);
   }
}
Keluaran konsol: 1032 x += y berarti x = x + y. Kedua simbol tersebut digunakan secara berurutan demi singkatnya. Kombinasi -=, *=, /=dan %=bekerja dengan cara yang serupa.

Operator logika

Selain operator numerik, Java juga memiliki operasi yang melibatkan nilai boolean ( true dan false ). Operasi ini dilakukan dengan menggunakan operator logika
  • !- TIDAK logis . Itu membalik nilai boolean

public class Main {

   public static void main(String[] args) {

       boolean x = true;
       System.out.println(!x);
   }
}
Keluaran konsol: salah
  • &&- logis DAN . Itu mengembalikan benar hanya jika kedua operan itu benar.

public class Main {

   public static void main(String[] args) {

       System.out.println(100 > 10 && 100 > 200);
       System.out.println(100 > 50 && 100 >= 100);
   }
}
Keluaran konsol: false true Hasil dari operasi pertama salah, karena salah satu operannya salah, yaitu 100 > 200. Untuk mengembalikan nilai true, &&operator mengharuskan kedua operan bernilai true (seperti yang terjadi pada baris kedua).
  • ||- logis ATAU . Itu mengembalikan benar ketika setidaknya salah satu operan benar.
Saat kami menggunakan operator ini, contoh kami sebelumnya menghasilkan hasil yang berbeda:

public class Main {

   public static void main(String[] args) {

       System.out.println(100 > 10 || 100 > 200);
   }
}
Keluaran konsol: benar Ekspresinya 100 > 200masih salah, tetapi untuk operator OR sepenuhnya cukup bahwa bagian pertama ( 100 > 10) benar.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION