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

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

Топта жарияланған
Сәлеметсіз бе! Бүгін біз өте маңызды тақырыпты қарастырамыз, атап айтқанда, Java тіліндегі сандар операциялары . Сандар бағдарламалаудың барлық жерінде бар. Егер сіз мектеп бағдарламасына көз жүгіртсеңіз, компьютердегі барлық ақпарат сандық форматта - нөлдер мен бірліктердің комбинациясы - екілік code деп те аталатынын есте сақтайсыз. Java тіліндегі сандық амалдар – 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 тіліндегі сандық амалдар – 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 (999) мәні yайнымалыға тағайындалды 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
  • x = y, яғни x = 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++ тілі туралы естіген болсаңыз, бұл белгі түрі сізге таныс болуы мүмкін. Осындай қызықты атаумен оны жасаушылар өз идеясын жеткізді: «С++ — Си тілінің кеңейтімі». Блокноттың танымал жақсартылған нұсқасы 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. Бұл операциялар логикалық операторлар арқылы орындалады
  • !— «NOT» операторы. Логикалық айнымалының мәнін өзгертеді

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

    Консоль шығысы:

    
    false

  • &&— «AND» операторы. 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барлық шарттардың ақиқат болуын талап етеді (мысалы, екінші жолдағы сияқты) .

  • ||— «OR» операторы. 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