JavaRush /Java Blogu /Random-AZ /Java-da nömrə əməliyyatları

Java-da nömrə əməliyyatları

Qrupda dərc edilmişdir
Salam! Bu gün biz çox vacib bir mövzuya, yəni Java-da nömrə əməliyyatlarına baxacağıq . Nömrələr proqramlaşdırmada hər yerdə var. Əgər məktəb kurikuluma nəzər salsanız, kompüterdəki bütün məlumatların ədədi formatda - sıfır və birlərin birləşməsində təqdim edildiyini xatırlayacaqsınız ki, bu da ikili kod adlanır. Java-da nömrə əməliyyatları - 2Proqramlaşdırmada rəqəmlər üzərində çoxlu əməliyyatlar var, ona görə də onlardan ən vaciblərinə nümunələrlə baxacağıq :)

Arifmetik əməliyyatlar

Ən sadə şeydən - arifmetik əməliyyatlardan başlayaq. Bunlar məşhur toplama (+ işarəsi), çıxma (-), vurma (*) və bölmədir (/).
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);
   }
}
Konsol çıxışı:

1032
966
32967
30
Siz artıq bütün bunlardan istifadə etmisiniz. Onlara bir əməliyyat əlavə edə bilərsiniz %- bölmənin qalan hissəsi.
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 33%2;
       System.out.println(y);
   }
}
Konsol çıxışı:

1
Bu misalda 33-ü 2-yə bölürük. Nəticədə 16-nı alırıq və 2-yə bölünməyən əlavə “quyruq” qalır. Bu “quyruq” “bölünmənin qalığı” əməliyyatının nəticəsi olacaq. Java (həmçinin riyaziyyat) müqayisə operatorlarını tətbiq edir . Yəqin ki, onları məktəbdən də tanıyırsınız:
  • bərabərdir ( ==)
  • daha çox ( >)
  • az ( <)
  • >=( ) -dən böyük və ya bərabər
  • <=( ) -dən az və ya bərabər
  • bərabər deyil ( !=)
Burada bir çox yeni başlayanların səhv etdiyi bir vacib məqama diqqət yetirməyə dəyər. ==“Bərabərdir” əməliyyatı bir işarə ilə deyil, kimi yazılır =. Java-da vahid işarəsi =təyinat operatorudur, burada dəyişənə nömrə, sətir və ya başqa dəyişənin dəyəri təyin edilir. Java-da nömrə əməliyyatları - 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
   }
}
Konsol çıxışı:

999
Vay! Bu, açıq-aydın gözlədiyimiz nəticə deyil. Bu, tamamilə fərqli bir məlumat növüdür: görməyi gözlədik boolean, lakin bir nömrə əldə etdik. Bunun səbəbi, mötərizədə müqayisə deyil, təyinat əməliyyatımız var. x=y Dəyər y(999) dəyişənə təyin edildi xvə sonra biz onu xkonsola çap etdik. Düzgün seçim:
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x==y);
   }
}
Konsol çıxışı:

false
İndi 2 rəqəmi düzgün müqayisə etdik! :) Təyinat əməliyyatının başqa bir xüsusiyyəti ( =) onun "zəncirlənmiş" edilə bilməsidir:
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);
   }
}
Konsol çıxışı:

256
Unutmayın: tapşırıq sağdan sola aparılır. Bu ifadə ( x = y = z) addımlarla yerinə yetiriləcək:
  • y = z, yəni y = 256
  • x = y, yəni x = 256

Unar əməliyyatlar

Onlara "uno" - "bir" sözündən "unary" deyilir. Onlar bu adı ona görə aldılar ki, əvvəlkilərdən fərqli olaraq, onlar bir neçə deyil, bir nömrədə aparılır. Bunlara daxildir:
  • Unary minus. Bu rəqəmin işarəsini tərsinə çevirir.

    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);
       }
    }

    Konsol çıxışı:

    
    -999
    999

    Unary minusdan iki dəfə istifadə etdik. Nəticədə sayımız əvvəlcə mənfi, sonra yenidən müsbət oldu!

  • Artırma ( ++) və azalma ( --)

    Əməliyyat ++bir ədədi bir artırır və bir əməliyyat --onu eyni vahidlə azaldır.

    public class Main {
    
       public static void main(String[] args) {
    
           int x = 999;
           x++;
           System.out.println(x);
    
           x--;
           System.out.println(x);
       }
    }

    Konsol çıxışı:

    
    1000
    999
C++ dili haqqında eşitmisinizsə, bu qeyd forması sizə tanış ola bilər. Belə maraqlı adın köməyi ilə onun yaradıcıları fikirlərini çatdırdılar: “C++ C dilinin uzantısıdır”. Notepad-in məşhur təkmilləşdirilmiş versiyası Notepad++ adlanır Əhəmiyyətli məqam. Artırma və azaltma əməliyyatlarının iki növü var: postfiks və prefiks. x++- postfiks qeydi ++x- prefiks notasiyası Rəqəmdən əvvəl və ya sonra müsbət və mənfi cəhətləri qoysanız, əsas fərq nədir? Bir misalda baxaq:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
   }
}
Konsol çıxışı:

999
Səhv bir şey var! xBiz 1 artırıb dəyişənə yeni dəyər təyin etmək istədik y. Yəni y 1000-ə bərabər olmalıdır.Amma bizdə fərqli nəticə var - 999. Belə çıxır ki, artırılmayıb x, artım əməliyyatı isə işə yaramayıb? Necə işlədi. Bunu yoxlamaq üçün sonunda konsola x çap etməyə çalışın :)
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
       System.out.println(x);
   }
}
Konsol çıxışı:

999
1000
Əslində, buna görə də postfiks əməliyyatı belə adlanır: o, əsas ifadədən sonra yerinə yetirilir. Yəni bizim vəziyyətimizdə: int y = x++; əvvəlcə yerinə yetirilir y = x(və y dəyişəninə ilkin dəyəri təyin olunacaq x) və yalnız bundan sonra x++ .Bəs bu davranış bizi qane etmirsə? Prefiks qeydindən istifadə etməlisiniz:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = ++x;
       System.out.println(y);
   }
}
++x Bu halda, ilk və yalnız bundan sonra işləyəcək.Bu y = x; fərqi dərhal xatırlamağa dəyər ki, bütün davranışların buna görə alt-üst ola biləcəyi real proqramda səhv etməmək üçün :)

Qarışıq əməliyyatlar

Bundan əlavə, Java-da sözdə birləşdirilmiş əməliyyatlar var. Onlar iki əməliyyatın birləşməsindən istifadə edirlər:
  • Tapşırıq
  • Arifmetik əməliyyat
Buraya əməliyyatlar daxildir:
  • +=
  • -=
  • *=
  • /=
  • %=
Bir misala baxaq:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       x += y;
       System.out.println(x);
   }
}
Konsol çıxışı:

1032
x += ydeməkdir x = x + y. Qısalıq üçün ard-arda iki simvoldan istifadə olunur. -=Bu , *=, /=və birləşmələri ilə də işləyir %=.

Məntiqi əməliyyatlar

Nömrələr üzərində əməliyyatlara əlavə olaraq, Java həm də Boolean dəyişənləri üzərində əməliyyatlara malikdir - truefalse. Bu əməliyyatlar məntiqi operatorlardan istifadə etməklə həyata keçirilir
  • !— “NOT” operatoru. Boolean dəyişənin dəyərini dəyişdirir

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

    Konsol çıxışı:

    
    false

  • &&— operator “AND”. trueYalnız hər iki operand olduqda dəyər qaytarır true.

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

    Konsol çıxışı:

    
    false
    true

    Результатом первой операции является false, поскольку одно из условий является ложным, а именно 100 > 200. Оператору && для того, чтобы вернуть true требуется, чтобы истинными были все условия (How во второй строке, например).

  • || — оператор “ИЛИ”. returns true, когда хотя бы один из операндов истинный.

    Здесь наш предыдущий пример уже отработает по-другому:

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

    Вывод в консоль:

    
    true

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

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION