Енгізу/шығару ағындары 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Енгізу/шығару ағындары

Ескерту

Java тілінде бүтін санның толып кетуі болмайды.

Салыстыру операциясы

 Java алты салыстыру операциясы бар:

  • үлкен > ;
  • кіші < ;
  • үлкен не тең >= ;
  • кіші не тең <= ;
  • тең == ;
  • тең емес != .

Құрама салыстыруларды жазу үшін логикалық операциялар қолданылады. Мысалы  а < х < b өрнегін мына түрде жазамыз: (а < х) && (х < b) , жақшаны жазбай ақ қоюға да болады  а < х && х < b 

Java тілінде бүтін бөлу қабылданған.

Былай жазуға болады 5/2.0 немесе 5.0/2 немесе 5.0/2.0 нәтижесінде  2.5 нақты санды бөлуді аламыз.

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

Кейде бүтін деректердің биттерінің жеке мәндерін өзгертуге тура келеді. Бұл биттік (bitwise) операцияциялары арқылы орындалады. Java тілінде 4 биттік операция бар:

  • толықтыру (complement) ~ (тильда);
  • биттік конъюнкция (bitwise AND) & ;
  • биттік дизъюнкция (bitwise OR) | ;
  • биттік аластату НЕМЕСЕ (bitwise XOR) ^ .

Екі операндта int немесе long түрлерінің біреуіне келтірілген соң, разряд бойынша орындалады.

Кесте 3. Биттік операциялар

nl

n2

~nl

nl & n2

nl | n2

nl ^ n2

Біздің мысалда b1 == 50, екілік санау жүйесі бойынша 00110010, b2 == -99, екілік санау жүйесі бойынша 10011101. Операция алдында түрлер int түріне дейін жоғарылатылады. 32-разряд бойынша b1 — 0...00110010, b2 — 1...l0011101аламыз. Нәтижесінде биттік операция былай болады:

  • ~b2 == 98, екілік санау жүйесі бойынша 0...01100010 ;
  • b1 & b2 == 16, екілік санау жүйесі бойынша 0...00010000 ;
  • b1 | b2 == -65, екілік санау жүйесі бойынша 1...10111111 ;
  • b1 ^ b2 == -81, екілік санау жүйесі бойынша 1...10101111 .

Екілік санау жүйесі бойынша әрбір нәтиже 32 бит орын алады.

Ескеріңіз  ~х қосымшасы ылғида  (-x)-1 эквивалентті.

Ығыстырулар

Java тілінде үш ығыстыру операциясы бар:

  • солға ығыстыру <<;
  • оңға ығыстыру >>;
  • таңбасыз оңға ығыстыру >>>.

Оң және сол операндтар әртүрлі болады. Сол жақта бүтін түрдің мәні, ал оң жақта екілік разрядтың сол жақтағы мәнді қанша мәнге ығыстыратыны жазылады.

Мысалы, b1<< 2 операциясы b1мәнін 0...00110010 солға 2 разрядқа ығыстырады, нәтижесінде 0...011001000, ондық жүйеде 200 саны алынады. Босатылған оң жақтағы разрядтар нөлмен толтырылады, ал 32-битпен берілген сол жақтағы разрядтар жоғалады.

b2 << 2 операциясы жоғарылатылған 1...10011101 мәнін 2 разряд солға жылжытады. Нәтижесінде 1...1001110100, ондық жүйедегі мәні —396 тең.

Сонымен n разряд солға ығыстыру 2 –нің n дәрежесіне эквивалентті.

b1 >> 2 операциясы нәтижесі 0...00001100, ондық жүйеде 12, ал b2 >> 2 — нәтижесі 1..11100111, ондық жүйеде -25 тең, яғни сол жаққа жоғарғы бит орналасып, оң жақтағы жоғалады. Бұл арифметикалық ығысу деп аталады.

Таңбасыз операцияда босатылған сол жақ орынға нөлдерді қояды және логикалық ығысу деп аталады.  b2 >>> 2 нәтижесі 001...100111, ондық жүйеде 1 073 741 799 санына тең.

Ескерту

Оңға ығыстыру кезінде байқау керек.

Нақты түрлер

Java тілінде 2 нақты түр бер: float және double. Олар разрядтылығымен, мәндердің алатын орнымен және IEEE 754-1985 стандарты бойынша дәлдігімен анықталады. Негізгі нақты түрге тағы үш мән қосылады.

1. POSITIVE_INFINITY тұрақтысымен берілген оң анықталған ақырсыздық, мысалы, көбейту операциясының нәтижесі 3.0*6е307.

2. Теріс ақырсыздық NEGATIVE_INFINITY .

3. NaN (Not a Number) тұрақтысы арқылы жазылған "сан емес", нақты сандарды нөлге бөлу кезіндегі немесе ақырсыздыққа нөлді көбейту кезіндегі нәтиже.

Java тілінде бөлуден қалған қалдық- %, инкремент ++ және декремент — нақты түрге жатады.

Кесте 4. Нақты түрлер

Тип

Разрядтылығы

Қолдану аумағы

Дәлдігі

float

3,4е-38 < |х| < 3,4е38

7—8 цифр

double

1,7е-308<|х|<1,7е308

17 цифр

Мысалдар:

float х = 0.001, у = -34.789;

double 21 = -16.2305, z2;

Нақты түрде түрлерді түрлендіру мынандай қосымша талаптардан тұрады:

  • егер операцияда бір операнд double түрінде болса, онда келесісі де double түріне түрленеді;
  • егер бір операнд float түрінде болса, онда келесісі де float түріне түрленеді;
  • басқа жағдайларда бүтін мәндерді түрлендіру ережесі қолданылады.

Дәріс №9.

Арнайы объектілік түрлер. Массивтер. Коллекциялар, тізімдер. Жолдармен жұмыс істеу. String, StringBuffer және StringBuilder кластары. Графикадағы мәтіндер. throws қызметші сөзі.

Java тілінде массив сілтеу түріне жатады. Жазылуы үш қадамнан тұрады.

Бірінші қадам — хабарлау (declaration). Бұл қадамда тек массивтегі сілтенген (reference) айнымалылар түрі анықталады. Бұл үшін массив элементтерінің түрінің аты жазылады, яғни квадрат жақшаға қарапайым айнымалы емес массив сілтеуі көрсетіледі және айнымалылар аттары тіркеледі, мысалы,

double[] а, b;

Бұнда double түріндегі массивке сілтенген екі айнымалы а және ь анықталған. Квадрат жақшаларды аттан кейін қоюға да болады, бұл қарапайым айнымалыларды анықтау үшін қолданылады:

int I = 0, ar[], k = -1;

Бұнда бүтін түрдегі екі айнымалы i және k анықталған және бүтін түрдегі аг массивіне сілтенген.

Енгізу –шығару үшін Java тілінде ағын (stream) ұғымы берілген.Программада ену ағыны (input stream) Unicode белгілері немесе read() әдісімен берлген байттар. Программадан write() немесе print (), println() әдістері арқылы шығу ағыны (output stream) белгілері немесе байттар.

Статикалық өрістерге арналған system класында үш ағын анықталған, олар: in, out және err. Олар стандартты енгізу (stdin), стандартты шығару (stdout) және стандартты хабарламалар шығаруы (stderr) деп аталады.

out және err — Printstream класының данасы. Бұлар мәліметті консольға print (), println () және write () әдістері арқылы шығарады.

 



Поделиться:


Последнее изменение этой страницы: 2024-07-06; просмотров: 52; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.)