JavaRush /Java Blog /Random-ID /Operasi bilangan di Java

Operasi bilangan di Java

Dipublikasikan di grup Random-ID
Halo! Hari ini kita akan melihat topik yang sangat penting, yaitu operasi bilangan di Java . Angka ada dimana-mana dalam pemrograman. Jika Anda mendalami kurikulum sekolah, Anda akan ingat bahwa semua informasi di komputer disajikan dalam format numerik - kombinasi angka nol dan satu - yang disebut juga kode biner. Operasi angka di Java - 2Ada banyak sekali operasi angka dalam pemrograman, jadi kami akan melihat yang paling penting dengan contoh :)

Operasi aritmatika

Mari kita mulai dengan hal yang paling sederhana - dengan operasi aritmatika. Ini adalah penjumlahan yang terkenal (+), pengurangan (-), perkalian (*) dan pembagian (/).

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. Anda dapat menambahkan operasi ke dalamnya %- sisa pembagian.

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. Hasilnya, kita mendapatkan 16 dan masih ada “ekor” tambahan yang tidak habis dibagi 2 - satu. “Ekor” ini adalah hasil operasi “sisa pembagian”. Java (dan juga matematika) mengimplementasikan operator perbandingan . Anda mungkin juga mengenal mereka dari sekolah:
  • sama dengan ( ==)
  • lagi ( >)
  • lebih sedikit ( <)
  • lebih dari atau sama dengan ( >=)
  • kurang dari atau sama dengan ( <=)
  • tidak sama ( !=)
Di sini perlu memperhatikan satu poin penting di mana banyak pemula melakukan kesalahan. Operasi “sama dengan” ditulis sebagai ==, dan tidak dengan satu tanda =. Tanda unit =di Java adalah operator penugasan, di mana suatu variabel diberi nomor, string, atau nilai variabel lain. Operasi angka di Java - 3

public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x=y);// expect false to be printed to the console
   }
}
Keluaran konsol:

999
Ups! Ini jelas bukan hasil yang kami harapkan. Ini adalah jenis data yang benar-benar berbeda: kami mengharapkan untuk melihat boolean, namun mendapat nomor. Hal ini karena dalam tanda kurung kita mempunyai operasi penugasan, bukan perbandingan. x=y Nilai y(999) ditetapkan ke variabel x, lalu kami mencetaknya xke konsol. Pilihan yang benar:

public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x==y);
   }
}
Keluaran konsol:

false
Sekarang kita telah membandingkan 2 angka tersebut dengan benar! :) Fitur lain dari operasi penugasan ( =) adalah dapat dilakukan secara “rantai”:

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 dilakukan dari kanan ke kiri. Ekspresi ini ( x = y = z) akan dieksekusi dalam langkah-langkah:
  • y = z, yaitu y = 256
  • x = y, yaitu x = 256

Operasi unary

Mereka disebut "unary" dari kata "uno" - "one". Mereka mendapat nama ini karena, tidak seperti yang sebelumnya, dilakukan pada satu nomor, dan bukan pada beberapa nomor. Ini termasuk:
  • Minus unary. Ini membalikkan tanda angka tersebut.

    
    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 a second time
           x= -x;
           System.out.println(x);
       }
    }

    Keluaran konsol:

    
    -999
    999

    Kami menggunakan minus unary dua kali. Hasilnya, angka kami awalnya menjadi negatif, lalu positif lagi!

  • Kenaikan ( ++) dan penurunan ( --)

    Suatu operasi ++akan menambah suatu bilangan sebanyak satu, dan suatu operasi --akan memperkecil bilangan tersebut sebanyak satuan 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
Bentuk notasi ini mungkin sudah tidak asing lagi bagi Anda jika pernah mendengar bahasa C++. Dengan bantuan nama yang menarik tersebut, penciptanya menyampaikan idenya: “C++ adalah perpanjangan dari bahasa C.” Versi Notepad yang ditingkatkan dan populer disebut Notepad++ Poin penting. Ada dua jenis operasi kenaikan dan penurunan: postfix dan awalan. x++- notasi postfix ++x- notasi awalan Apa perbedaan mendasar jika diberi tanda plus dan minus sebelum atau sesudah suatu bilangan? Mari kita lihat dalam sebuah contoh:

public class Main {

   public static void main(String[] args) {

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

999
Apakah ada yang salah! Kami ingin menambah x1 dan memberikan nilai baru ke variabel y. Artinya, y harus sama dengan 1000. Tapi kita punya hasil yang berbeda - 999. Ternyata xtidak bertambah, dan operasi kenaikan tidak berhasil? Bagaimana cara kerjanya. Untuk memverifikasi ini, coba cetak x ke konsol di 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, itulah sebabnya operasi postfix disebut demikian: operasi ini dilakukan setelah ekspresi utama. Artinya, dalam kasus kita: int y = x++; pertama dieksekusi y = x(dan variabel y akan diberi nilai awal x), dan baru kemudian x++ ... Bagaimana jika kita tidak puas dengan perilaku ini? Anda 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 akan berfungsi terlebih dahulu ++x dan baru setelah itu.Perbedaan y = x; ini perlu segera diingat agar tidak membuat kesalahan dalam program nyata, di mana semua perilaku dapat menjadi terbalik karenanya :)

Operasi gabungan

Selain itu, di Java ada yang disebut operasi gabungan. Mereka menggunakan kombinasi dua operasi:
  • Penugasan
  • Operasi aritmatika
Ini termasuk operasi:
  • +=
  • -=
  • *=
  • /=
  • %=
Mari kita lihat 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 += ycara x = x + y. Agar singkatnya, dua karakter berturut-turut digunakan. Ini juga berfungsi dengan kombinasi -=, *=, /=dan %=.

Operasi logis

Selain operasi pada angka, Java juga memiliki operasi pada variabel Boolean - truedan false. Operasi ini dilakukan dengan menggunakan operator logika
  • !— Operator “TIDAK”. Membalikkan nilai variabel boolean

    
    public class Main {
    
       public static void main(String[] args) {
    
           boolean x = true;
           System.out.println(!x);
       }
    }

    Keluaran konsol:

    
    false

  • &&— operator “DAN”. Mengembalikan nilai truehanya jika kedua operan adalah true.

    
    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 adalah false, karena salah satu kondisinya salah, yaitu 100 > 200. Operator mengharuskan semua kondisi benar (seperti pada baris kedua misalnya) &&agar dapat mengembalikan .true

  • ||— Operator “ATAU”. Mengembalikan trueketika setidaknya salah satu operan benar.

    Di sini contoh kita sebelumnya akan bekerja secara berbeda:

    
    public class Main {
    
       public static void main(String[] args) {
    
           System.out.println(100 > 10 || 100 > 200);
       }
    }

    Keluaran konsol:

    
    true

    Выражение 100 > 200 по-прежнему ложно, но оператору “or” вполне достаточно, что первая часть (100 > 10) является истинной.

Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION