Скачиваний:
0
Добавлен:
28.11.2023
Размер:
753.9 Кб
Скачать

Ózgeriwshige mánis beriw ushın siz ózgeriwshiniń atın ózlestiriw operatorınıń shep tárepine jazıwıńız kerek boladı. Sonıń ushın tómendegi ańlatpa qáte:

1 = x; //qáte

Esletpe. Matematikada x = 2 * x + 1 teńlemeni bildiredi. Biraq, Javada x = 2 * x + 1 ózlestiriw ańlatpası esaplanadı, bunda dáslep 2 * x + 1 mánisi esaplanadı hám nátiyje x ke ózlestiriledi.

Javada tómendegi ańlatpa da orınlı:

System.out.println(x = 1);

Bul tómendegi eki qatar menen teń kúshli

x = 1; System.out.println(x);

Eger mánis bir neshe ózgeriwshilerge ózlestiriliw kerek bolsa, tómendegi sintaksisti isletiwińizge boladı: i = j = k = 1;

Bul tómendegi qatarlar menen teń kúshli

k = 1; j = k; i = j;

Esletpe. Ózlestiriw ańlatpasında ózlestiriw operatorınıń shep tárepindegi ózgeriwshiniń maǵlıwmat tipi operatordıń oń tárepindegi mánistiń maǵlıwmat tipi menen sáykes bolıwı shárt. Máselen int x = 1.0; qáte boladı, sebebi x ózgeriwshisiniń tipi int.

</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Sanlı maǵlıwmatlar tipleri hám ámeller

Javada pútin sanlar hám jıljımalı – noqatlı (haqıyqıy) sanlar ushın altı sanlı tipler hámde +, -, *, / há % ámelleri bar.

Sanlı tipler. Hár bir maǵlıwmatlar tipi mánisler diapazonına (aralıǵına) iye. Kompilyator hár bir ózgeriwshi yamasa turaqlı (konstanta) ushın olardıń tipine qarap yadtan orın ajıratadı. Java sanlı mánisler, simvollar hám Boolean (logikalıq) mánisler ushın segiz ápiwayı maǵlıwmatlar tipleri menen támiynleydi. 3.1-kestede altı túrli sanlar tipleri, olardıń diapazonları hám yadta iyeleytuǵın ólshemi keltirilgen.

Java pútin sanlar ushın byte, short, int hám long kibi tórt tipti isletedi. Ózgeriwshige qaysı biri sáykes kelse sonı saylaysız. Máselen eger siziń pútin sanıńız byte diapazonına sáykes keletuǵın bolsa byte tipinen paydalanǵanıńız maqul.

Java jıljımalı – noqatlı (haqıyqıy) sanlar ushın float hám double kibi eki tipti isletedi. double tipi float tipinen eki ese úlken, sonıń ushın eki ese kóbirek anıq boladı. Ádette, siz double tipinen paydalanǵanıńız maqul, sebebi ol float tipine qaraǵanda anıqlıǵı joqarı.

</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

 

 

3.1-keste. Sanlı maǵlıwmatlar tipleri

Atı

Diapazon (aralıǵı)

Saqlaw qurılmasında

iyeleytuǵın ólshemi

 

 

byte

-27 (-128) den 27 – 1 (127) ge shekem

8 bit (belgisi menen)

short

-215 (-32768) den 215 – 1 (32767) ge shekem

16 bit (belgisi menen)

int

-231 (-2147483648) den 231 – 1 (2147483647) ge shekem

32 bit (belgisi menen)

long

-263 den 263 – 1 ge shekem

64 bit (belgisi menen)

float

Teris mánisler: -3.4028235E+38 den -1.4E-45 ke shekem

32 bit IEEE 754

 

Oń mánisler:1.4E-45 ten 3.4028235E+38 ge shekem

 

double

Teris mánisler: -1.7976931348623157E+308 den -4.9E-324

64 bit IEEE 754

 

ke shekem

 

 

Oń mánisler: 4.9E-324 ten 1.7976931348623157E+308 ge

 

 

shekem

 

</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Klaviaturadan sanlardı oqıw

Siz double tipindegi mánisti oqıw ushın Scanner klassındaǵı nextDouble() metodınan paydalanıwdı bilesiz. Sonday aq siz byte, short, int, long hám float tipindegi maǵlıwmatlardı oqıw ushın 3.2-kestedegi metodlardan da paydalansańız boladı.

 

3.2-keste. Scanner obyektleri ushın metodlar

Metod

Túsindirmesi

 

 

nextByte()

byte tipindegi pútin sandı oqıydı

 

 

nextShort()

short tipindegi pútin sandı oqıydı

 

 

nextInt()

int tipindegi pútin sandı oqıydı

 

 

nextLong()

long tipindegi pútin sandı oqıydı

 

 

nextFloat()

float tipindegi haqıyqıy sandı oqıydı

 

 

nextDouble()

double tipindegi haqıyqıy sandı oqıydı

 

 

</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Ámeller

Sanlı maǵlıwmat tipleri ushın ámeller (operatorlar) standart arifmetikalıq ámellerdi óz ishine aladı. Bular qosıw (+), alıw (-), kóbeytiw (*), pútinley bóliw (/) hám qaldıqlı bóliw (%). Operandlar ámeller tárepinen isletiletuǵın mánisler esaplanadı.

 

 

 

3.3-keste. Ámeller

Atı

Túsindirmesi

Mısal

Nátiyje

+

qosıw

34 + 1

35

 

 

 

 

-

alıw

34.0 – 0.1

33.9

 

 

 

 

*

kóbeytiw

300 * 30

9000

 

 

 

 

/

pútinley bóliw

1.0 / 2.0

0.5

 

 

 

 

%

qaldıqlı bóliw

20 % 3

2

 

 

 

 

</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Pútinley bóliwdiń eki operandı da (alımı menen bólimi) pútin sanlar bolsa, onda bóliwdiń nátiyjesi sıpatında tek ǵana pútin bólek alınadı, bólshek bólegi bolsa taslap ketiledi. Máselen 5 / 2 den 2 shıǵadı, al 2.5 emes, hám -5 / 2 den -2 shıǵadı al -2.5 emes. Bólshekli bóliwdi ámelge asırıw ushın operandlardıń birewi (alımı yamasa bólimi) jıljımalı-noqatlı san bolıwı kerek. Máselen, 5.0 / 2 den 2.5 shıǵadı.

%ámeli bóliwdegi qaldıqtı esaplap beredi. Shep tárepindegi operand bóliniwshi hám oń tárepindegi operand bóliwhsi esaplanadı. Sonlıqtan, 7 % 3 ten 1 shıǵadı, 3%7 den 3 shıǵadı, 12 % 4 ten 0 shıǵadı, 26 % 8 den 2 shıǵadı hám 20 % 13 ten 7 shıǵadı.

%ámeli kóbinese oń pútin sanlar menen isletiledi, biraq onı teris pútin sanlar hámde jıljımalı-noqatlı sanlar menen de isletiwge boladı. Tek ǵana bóliniwshı teris bolsa ǵana qaldıq teris boladı.

Máselen, -7%3 ten -1 shıǵadı, -12%4 ten 0 shıǵadı, -26 % -8 den -2 shıǵadı hám 20 % -13 ten 7 shıǵadı.

Qaldıqlı bóliw programmalastırıwda júdá paydalı. Máselen, jup san % 2 den barqulla 0 shıǵadı hám taq san % 2 den barqulla 1 shıǵadı. Demek bunnan sannıń jup yamasa taq ekenligin anıqlawda paydalansańız boladı. Eger búgin Shembi bolsa, 7 kúnnen keyin jáne Shembi boladı. Deyik siz doslarıńız benen 10 kúnnen keyin ushırasajaqsız. 10 kúnnen keyin hápteniń qaysı kúni boladı? Siz bul kúnniń Siyshembi ekenin tómendegi ańlatpanı paydalanıp tapsańız boladı:

(6 + 10) % 7 den 2 shıǵadı

</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

WaqittiShigariw.java

Tómendegi mısalda programma berilgen sekundlardı minut hám qalǵan sekundlarǵa aylandıradı.

Máselen 500 sekundta 8 minut hám 20 sekund bar.

1 import java.util.Scanner;

2

3 public class WaqittiShigariw {

4public static void main(String[] args) {

5Scanner input = new Scanner(System.in);

6// Paydalaniwshiga kiritiwdi usinis etemiz

7System.out.print(“Sekundlar ushin putin san kiritin: ”);

8int sekundlar = input.nextInt();

9

10int minutlar = sekundlar / 60; //sekundlardagi minutlardi tabadi

11int qalganSekundlar = sekundlar % 60; //Qalgan sekundlar

12System.out.println(sekundlar + “ sekundta ” + minutlar +

13“ minut ham ” + qalganSekundlar + “ sekund bar”);

14}

15}

</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Sanlı literallar

Literal bul programmanıń ózinde ózgeriwshilerge berilgen sanlar.

Máselen, tómendegi ańlatpada 34 hám 0.305 ler literallar. int jillarSani = 34;

double salmagi = 0.305;

Pútin literallar. Putın literallar pútin ózgeriwshige sáykes kelgeni ushın pútin ózgeriwshiler tárepinen ózlestiriledi. Ózgeriwshi ushın literal úlkenlik etse (diapazonnan shıǵıp ketse) kompilyaciya (sintaksisilik) qátelik júzege keledi.

Máselen byte b = 128 ańlatpası kompilyaciya qáteligin keltirip shıǵaradı, sebebi 128 sanın byte tipindegi ózgeriwshi saqlay almaydı. (Yadıńızda bolsa byte mánisleri -128 den 127 shekem edi)

</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Pútin literal int tipindegi san bolıwı kerek, yaǵnıy -231 (-2147483648) den

231 – 1 (2147483647) ge shekem. long tipindegi pútin literaldı kórsetiw ushın oǵan L yamas l háribin izine qosıń. Máselen, 2147483648 pútin sanın Java programmasında jazıw ushın siz 2147483648L yamasa 2147483648l dep jazıwıńız kerek, sebebi 2147483648 sanı int tipi mánislerinen shıǵıp ketpekte. Kishi l diń ornına úlken L di paydalanǵanıńız maqul, sebebi kishi l di kóbinese 1 (bir) menen aljastırıw múmkin.

Esletpe. Ádette literal onlıq pútin san boladı. Pútin sandı ekilikte beriw ushın sannıń aldına 0b yamasa 0B (nol B), segizlikte beriw ushın sannıń aldına 0 (nol) hám on altılıqta beriw ushın sannıń aldına 0x yamasa 0X qoyılıwı kerek. Máselen:

System.out.println(0B1111); //15 shigadi

System.out.println(07777); //4095 shigadi

System.out.println(0XFFFF); //65535 shigadi

</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Jıljımalı noqatlı literallar

Jıljımalı noqatlı literallar bólshekli noqat penen jazıladı. Ádette jıljımalı noqatlı literal double tipindegi san dep qaraladı. Máselen 5.0 dep jazsańız bul double san dep qabıl etiledi float san dep emes. Biraq siz sannıń izine f yamsa F jazıw arqalı float san, al sannıń izine d yamasa D jazıw arqalı double san jaratıwıńız múmkin.

Máselen 100.2f yamasa 100.2F lerdi float san ushın, 100.2d yamasa 100.2D lardı double san ushın paydalanıwıńız múmkin.

Esletpe. double tipi float tipine qaraǵanda kóbirek anıq. Máselen:

System.out.println(“1.0 / 3.0 = ” + 1.0 / 3.0); //0.3333333333333333

Nátiyjede útirden keyin 16 birlik shıǵadı.

System.out.println(“1.0F / 3.0F = ” + 1.0F / 3.0F); //0.33333333

Nátiyjede útirden keyin 8 birlik shıǵadı. float mániste útirden keyin 7 den 8 ge shekem bolsa, double mánislerde 15 ten 17 ge shekem boladı

</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Соседние файлы в предмете Программирование на Java