JavaRush /Java блогу /Random-KY /Java тилиндеги сандар операциялары

Java тилиндеги сандар операциялары

Группада жарыяланган
Салам! Бүгүн биз абдан маанилүү теманы карап чыгабыз, атап айтканда, Java тorндеги сандар операциялары . Сандар программалоодо бардык жерде бар. Эгер сиз мектеп программасына көз чаптырсаңыз, компьютердеги бардык маалымат сандык форматта - нөлдөрдүн жана бирдиктердин айкалышында - экorк code деп да аталат. Java тorндеги сан операциялары - 2Программалоодо сандар боюнча көптөгөн операциялар бар, ошондуктан биз алардын эң маанилүүсүн мисалдар менен карап чыгабыз :)

Арифметикалык амалдар

Эң жөнөкөй нерседен баштайлы – арифметикалык амалдар менен. Бул белгилүү кошуу (+ белгиси), кемитүү (-), көбөйтүү (*) жана бөлүү (/).
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);
   }
}
Консолдук чыгаруу:

1032
966
32967
30
Мунун баарын сиз мурунтан эле колдонгонсуз. Сиз аларга операцияны кошо аласыз %- бөлүмдүн калган бөлүгү.
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 33%2;
       System.out.println(y);
   }
}
Консолдук чыгаруу:

1
Бул мисалда биз 33тү 2ге бөлөбүз. Натыйжада 16га жетебиз жана 2-бирге бөлүнбөй турган кошумча “куйрук” калат. Бул «куйрук» «бөлүнүүдөн калган» операциясынын натыйжасы болот. Java (ошондой эле математика) салыштыруу операторлорун ишке ашырат . Балким, сиз аларды мектептен билесиз:
  • барабар ( ==)
  • көбүрөөк ( >)
  • азыраак ( <)
  • чоңураак же барабар ( >=)
  • аз же барабар ( <=)
  • барабар эмес ( !=)
Бул жерде көптөгөн башталгычтар ката кетирген бир маанилүү жагдайга көңүл буруш керек. ==“Теңдик” операциясы бир белги менен эмес, катары жазылат =. Java'дагы бирдик белгиси =дайындоо оператору, мында өзгөрмөгө сан, сап же башка өзгөрмөнүн мааниси ыйгарылган. Java тorндеги сан операциялары - 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
   }
}
Консолдук чыгаруу:

999
Ой! Бул биз күткөн жыйынтык эмес экени анык. Бул такыр башка типтеги маалыматтар: биз көрүүнү күткөнбүз boolean, бирок номер алдык. Себеби кашаанын ичинде бизде салыштыруу эмес, дайындоо операциясы бар. x=y Мааниси y(999) өзгөрмөгө дайындалган x, андан кийин биз аны xконсолго басып чыгардык. Туура вариант:
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x==y);
   }
}
Консолдук чыгаруу:

false
Эми биз 2 цифраны туура салыштырдык! :) Тапшыруу операциясынын дагы бир өзгөчөлүгү ( =) аны “чынжырлуу” жасоого болот:
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);
   }
}
Консолдук чыгаруу:

256
Эсиңизде болсун: тапшырма оңдон солго жасалат. Бул туюнтма ( x = y = z) кадамдар менен аткарылат:
  • y = z, башкача айтканда, у = 256
  • х = у, башкача айтканда х = 256

Бирдиктүү операциялар

Алар "uno" - "бир" деген сөздөн "унардык" деп аталат. Алар бул аталышка ээ болушкан, анткени мурункулардан айырмаланып, алар бир нече эмес, бир санда жүргүзүлөт. Аларга төмөнкүлөр кирет:
  • Бирдиктүү минус. Ал сандын белгисин өзгөртөт.

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

    Консолдук чыгаруу:

    
    -999
    999

    Унардык минусты эки жолу колдондук. Натыйжада, биздин сан башында терс болуп, кайра оң болуп калды!

  • Көбөйтүү ( ++) жана азайтуу ( --)

    Операция ++бир санды көбөйтөт, ал эми операция --бир эле бирдикке азайтат.

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

    Консолдук чыгаруу:

    
    1000
    999
Эгер сиз C++ тor жөнүндө уккан болсоңуз, белгилөөнүн бул түрү сизге тааныш болушу мүмкүн. Мындай кызыктуу аталыштын жардамы менен анын жаратуучулары өздөрүнүн идеясын билдиришкен: “C++ – бул Си тorнин уландысы”. Блокноттун жакшыртылган популярдуу versionсы Notepad++ деп аталат Маанилүү чекит. Көбөйтүү жана азайтуу операцияларынын эки түрү бар: постфикс жана префикс. x++- постфикс белгиси ++x- префикс белгиси Сандын алдына же андан кийин плюс жана минустарды койсоңуз, негизги айырмачылык эмнеде? Келгиле, бир мисал карап көрөлү:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
   }
}
Консолдук чыгаруу:

999
Бир нерсе болдубу! Биз 1ге көбөйтүүнү xжана өзгөрмөгө жаңы маани берүүнү кааладык y. Башкача айтканда, y 1000ге барабар болушу керек. Бирок бизде башка жыйынтык бар - 999. Көрсө, көбөйтүлгөн xэмес, өстүрүү операциясы иштебей калган экен? Кантип иштеди. Муну текшерүү үчүн, аягында консолго x басып чыгарып көрүңүз :)
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
       System.out.println(x);
   }
}
Консолдук чыгаруу:

999
1000
Чынында, постфикс операциясы ушундай деп аталат: ал негизги туюнтмадан кийин аткарылат. Башкача айтканда, биздин учурда: int y = x++; адегенде ал аткарылат y = x(жана y өзгөрмөсүнө өзүнүн баштапкы мааниси ыйгарылат x), андан кийин гана x++ .Бул жүрүм-турум бизди канааттандырбасачы? Сиз префикс белгисин колдонушуңуз керек:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = ++x;
       System.out.println(y);
   }
}
++x Бул учурда, ал биринчи жана андан кийин гана иштейт.Бул y = x; айырмачылыкты дароо эстеп кетүү керек, чыныгы программада ката кетирбөө үчүн, анын айынан бардык жүрүм-турум өзгөрүп кетиши мүмкүн :)

Комбинацияланган операциялар

Кошумчалай кетсек, Javaда бириккен операциялар деп аталгандар бар. Алар эки операциянын айкалышын колдонушат:
  • Дайындоо
  • Арифметикалык операция
Бул операцияларды камтыйт:
  • +=
  • -=
  • *=
  • /=
  • %=
Келгиле, бир мисал карап көрөлү:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       x += y;
       System.out.println(x);
   }
}
Консолдук чыгаруу:

1032
x += yбилдирет x = x + y. Жөн гана кыска болуу үчүн, катары менен эки белги колдонулат. -=Бул , *=, /=жана комбинациялары менен да иштейт %=.

Логикалык операциялар

Сандар боюнча операциялардан тышкары, Java логикалык өзгөрмөлөр менен да операцияларга ээ - trueжана false. Бул операциялар логикалык операторлордун жардамы менен аткарылат
  • !— «ЭМЕС» оператору. Логикалык өзгөрмөнүн маанисин өзгөртөт

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

    Консолдук чыгаруу:

    
    false

  • &&— оператор "ЖАНА". trueЭки операнд тең болсо гана маанини кайтарат true.

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

    Консолдук чыгаруу:

    
    false
    true

    Биринчи операциянын натыйжасы болуп саналат false, анткени шарттардын бири жалган, тактап айтканда 100 > 200. Оператор &&кайтып келүү үчүн trueбардык шарттардын чын болушун талап кылат (мисалы, экинчи саптагыдай) .

  • ||— «ЖЕ» оператору. trueЖок дегенде операнддардын бири чын болгондо кайтарат .

    Бул жерде биздин мурунку мисал башкача иштейт:

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

    Консолдук чыгаруу:

    
    true

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

Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION