Identifikatorlar, ózgeriwshiler hám turaqlılar. Sanlı maǵlıwmatlar tipleri hám literallar - bet 10

(6 + 10) % 7
den
2
shıǵadı
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.
WaqittiShigariw.java
1
import
java.util.Scanner;
2
3
public class
WaqittiShigariw {
4
public static void
main
(String[] args) {
5
Scanner input =
new
Scanner(System.
in
);
6
// Paydalaniwshiga kiritiwdi usinis etemiz
7
System.
out
.print(
“Sekundlar ushin putin san kiritin: ”
);
8
int
sekundlar = input.
nextInt()
;
9
10
int
minutlar = sekundlar / 60;
//sekundlardagi minutlardi tabadi
11
int
qalganSekundlar = sekundlar % 60;
//Qalgan sekundlar
12
System.
out
.println(sekundlar +
“ sekundta ”
+ minutlar +
13
“ minut ham ”
+ qalganSekundlar +
“ sekund bar”
);
14
}
15 }
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)
Sanlı literallar
Pútin literal int tipindegi san bolıwı kerek, yaǵnıy
-2
31
(-2147483648)
den
2
31
– 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.
System.__out_.println('>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
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ı
Jıljımalı noqatlı literallar
Jıljımalı-noqatlı sanlar pútin sanǵa aylandırılıwı múmkin.
Binar
ámellerdiń eki tárepindegi operandlar eki túrli tipte bolıwı múmkin be? Awa.
Eger
pútin hám haqıyqıy sanlar binar ámelde isletilip atırǵan bolsa Java avtomat
ráwishte pútin sandı haqıyqıy sanǵa aylandıradı. Demek,
3 * 4.5
mánisi
3.0 * 4.5
mánisi menen birdey.
Siz
diapazonı úlken bolǵan ózgeriwshilerge diapazonı kishi bolǵan ózgeriwshi
mánislerin ózlestirip alıwıńızǵa boladı. Máselen
float
tipindegi
ózgeriwshi biymálel
long
tipindegi
mánisti ózine ózlestire aladı. Biraq diapazonı úlken bolǵan mánisti
diapazonı kishi bolǵan ózgeriwshige ózlestiriw ushın tipti ózgertiw yamasa tipti
keltiriw kerek
boladı.
Tipti keltiriw (
ózgertiw)
dep berilgen
mánisti bir maǵlıwmat
tipinen ekinshi
maǵlıwmat tipine keltiriwge (ózgertiwge) aytıladı. Tipi kishi diapazonlı
mánisti tipi úlken diapazonlı mániske keltiriw
tipti
keńeytiriw
dep
ataladı. Kerisinshe,
úlken diapazonlı tipten kishi diapazonlı tipke keltiriw
tipti kishilestiriw
dep
aytıladı.
Java tipti
keńeytiriwdi avtomat ámelge asıradı, biraq tipti kishilestiriw ushın áshkar
ráwishte tipti keltiriwimiz kerek.
Sanlı tiplerdi keltiriw
Tipti
keltiriwdiń (ózgertiwdiń) sintaksisi óz ishine ótetuǵın tipti qawıslar ishine jazıp izinen
ózgeriwshiniń atı yamasa ózgertiriletuǵın mánis jazıladı. Máselen:
System.
out
.println((
int
)1.7);
bul kodtan
nátiyjede 1 ekranǵa shıǵadı.
double
tipti
int
tipine keltirsek,
sannıń bólshek tárepi taslap
ketiledi.
Tómendegi mısalda
System.
out
.println((
double
)1 / 2);
nátiyjege 0.5 shıǵadı, sebebi 1 sanı 1.0 ge keltirildi. Biraq
System.
out
.println(1 / 2);
kodı nátiyjesinde 0 shıǵadı, sebebi 1 hám 2 ekewide pútin sanlar.
Esletpe.
Tiplerdi keltiriw
mánisti kishilew tiptegi ózgeriwshige ózestiriwde áhmiytke iye boladı,
máselen
double
tipindegi
mánisti
int
tipindegi
ózgeriwshige ózlestiriwde. Usınday jaǵdaylarda eger
tiplerdi keltiriwden
paydalanbasańız kompilyaciya qáteligi kelip shıǵadı. Biraq, abaylı bolıń bazı
jaǵdaylarda tipke keltiriwdi paydalanǵanda ayrım maǵlıwmatlardıń joǵalıw itimallıǵı bar hám bul
nadurıs nátiyjelerge alıp keliwi múmkin.
Esletpe.
Tipke keltiriwde tipke keltirilip
atırǵan ózgeriwshiniń óziniń mánisi ózgermeydi. Máselen
tómendegi kodta keltiriwden keyin de d mánisi ózgermeydi:
double
d = 4.5;
int
i = (
int
)d;
//i = 4 boladı, biraq d = 4.5 bolıp qala beredi
Tákirarlaw sorawları
1. Esaplawda
hár túrli tiplerdiń sanlı mánisleri birge paydalanıla aladı ma?
2. double tipinen int tipine keltirilgende
sannıń bólshek bólegine ne boladı?
3. Tipke keltiriwde tipke keltirilip
atırǵan ózgeriwshi ózgeredi me?
4.
Tómendeginiń nátiyjesin alıń
double mugdar = 5;
System.out.println(mugdar / 2);
System.out.println(5 / 2);
5.
Konstantanıń paydalı tárepleri nede? int tipindegi mánisi 20 ǵa teń bolǵan SIZE atlı konstanta járiyalań.
6. Klass
atları, metod atları, konstantalar hám ózgeriwshiler ushın atamalar boyınsha kelisimler qanday? Java
atamalar
boyınsha kelisimine kóre tómendegilerdiń qaysı biri konstanta, metod, ózgeriwshi yamasa klass atı bola aladı?
7.
Tómendegilerdiń qaysı biri identifikator bola aladı? Qaysı biri Java gilt sózi?
kilometr, Test, a++, --a, 4#R, $4, #44, apps, class, public, int, x, y, radius
Paydalanılǵan ádebiyat
1. Y.Daniel Liang Introduction to Java programming, Comprehensive Version, 10th Edition, Pearson,
2015
|