JavaRush /Java Blog /Random-TK /Java-da başlangyç görnüşler: Olar beýle başlangyç däl
Viacheslav
Dereje

Java-da başlangyç görnüşler: Olar beýle başlangyç däl

Toparda çap edildi

Giriş

Programmany işläp düzmek, käbir maglumatlar bilen işlemek, has dogrusy, ony saklamak we gaýtadan işlemek hökmünde kabul edilip bilner. Bu gün ilkinji möhüm meselä degmek isleýärin. Java-da maglumatlar nädip saklanýar? Bu ýerde mümkin iki format bar: salgylanma we başlangyç maglumatlar görnüşleri. Geliň, başlangyç görnüşleriň görnüşleri we olar bilen işlemegiň mümkinçilikleri barada gürleşeliň (näme diýse-de, bu programmirleme dilini bilmegimiziň esasydyr). Java başlangyç maglumatlar görnüşleri, hemme zadyň esaslanýan esasydyr. .Ok, men asla ulaltmaýaryn. “Oracle” -yň başlangyçlara bagyşlanan aýratyn okuw kitaby bar: Ilkinji maglumatlaryň görnüşleri Java-da başlangyç görnüşler: Olar beýle bir ýönekeý däl - 1 Biraz taryh. Ilkibaşda nol bardy. Emma nol içgysgynç. Soň bolsa birneme peýda boldy . Näme üçin oňa şeýle at berildi? “ Bi nary digi t ” (ikilik belgisi) gysgaltmasyndan şeýle atlandyryldy . .Agny, onuň diňe iki manysy bar. Nol bolany üçin, indi 0 ýa-da 1 bolmagy mantykly we durmuş has gyzykly boldy. Bitler sürülere ýygnanyp başlady. Bu sürülere bolsa baýt (baýt) diýilýärdi . Häzirki zaman dünýäsinde, üçünji güýje çenli baýt = 2. 8. Emma munuň hemişe beýle däldigi ýüze çykýar. Baýt adynyň nireden gelendigi barada köp çaklamalar, rowaýatlar we myş-myşlar bar. Käbir adamlar hemme zady şol döwrüň kodlamalary bilen baglanyşykly diýip hasaplaýarlar, käbirleri maglumatlary şu görnüşde okamak has peýdaly diýip hasaplaýarlar. Bir baýt ýadyň iň kiçijik salgysydyr. Memoryatda özboluşly salgylary bolan baýtlar. ByTe-iň ikilik termininiň gysgaldylyşy - maşyn sözi diýen bir rowaýat bar. Maşyn sözi - ýönekeý söz bilen aýdylanda, bu prosessoryň bir amalda işläp bilýän maglumatlarynyň mukdarydyr. Ozal maşyn sözüniň ululygy iň kiçi salgyly ýat bilen deňdi. Java-da üýtgeýjiler diňe baýt bahalaryny saklap bilýärler. Aboveokarda aýdyşym ýaly, Java-da üýtgeýänleriň iki görnüşi bar:
  • java başlangyç görnüşleri maglumatlar baýtlarynyň bahasyny gönüden-göni saklaýar (bu başlangyçlaryň görnüşlerine aşakda has jikme-jik serederis);
  • salgylanma görnüşi, obýektiň salgysynyň baýtlaryny Heapda saklaýar, ýagny bu üýtgeýjileriň üsti bilen obýektiň özüne gönüden-göni girip bileris (obýekt üçin uzakdan dolandyryş görnüşi)

Java baýt

Şeýlelikde, taryh bize baýt berdi - ulanyp boljak iň az ýat mukdary. Ol 8 bitden ybarat. Java-da iň kiçi bitewi maglumatlar görnüşi baýtdyr. Bu gol çekilen 8 bitli görnüş. Bu näme many berýär? Hasap edeliň. 2 ^ 8 256. negativeöne negatiw san islesek näme etmeli? Java döredijiler bolsa "10000000" ikilik kody -128, ýagny iň möhüm bit (iň çep tarap) sanyň negatiwdigini ýa-da ýokdugyny görkezer diýen karara geldiler. Ikilik “0111 1111” 127-e deňdir. 128agny, 128-ni hiç hili kesgitläp bolmaz, sebäbi -128 bolar. Hasaplamanyň doly jogaby şu jogapda berilýär: Näme üçin Java-da baýt -128 bilen 127 aralygy? Sanlaryň nädip alynýandygyna düşünmek üçin surata seretmeli:
Java-da başlangyç görnüşler: Olar beýle bir ýönekeý däl - 2
Şoňa laýyklykda 2 ^ (8-1) = 128 ululygyny hasaplamak üçin iň pes çäk (we minusy bar) -128 boljakdygyny aňladýar. Iň köp bolsa 128 - 1 (noly aýyryň). .Agny, iň ýokary 127 bolar. Aslynda, baýt görnüşi bilen köplenç “ýokary derejede” işlemeýäris. Esasan bu “çig” maglumatlary gaýtadan işlemekdir. Mysal üçin, toruň üsti bilen maglumat geçirmek bilen işleýän wagtyňyz, maglumatlar käbir aragatnaşyk kanalynyň üsti bilen iberilýän 0s we 1s toplumy bolanda. Ora-da faýllardan maglumatlary okanyňyzda. Setirler we kodlamalar bilen işlenende hem ulanylyp bilner. Mysal kody:
public static void main(String []args){
        byte value = 2;
        byte shortByteValue = 0b10; // 2
        System.out.println(shortByteValue);
        // Начиная с JDK7 мы можем разделять литералы подчёркиваниями
        byte minByteValue = (byte) 0B1000_0000; // -128
        byte maxByteValue = (byte) 0b0111_1111; // 127
        byte minusByteValue = (byte) 0b1111_1111; // -128 + 127
        System.out.println(minusByteValue);
        System.out.println(minByteValue + " to " + maxByteValue);
}
.Eri gelende aýtsak, baýt görnüşini ulanmak ýadyň sarp edilişini azaldar diýip pikir etmäň. Baýt, esasan, massiwlerde maglumat saklanylanda ýadyň sarp edilişini azaltmak üçin ulanylýar (mysal üçin, baýt massiwinde durmuşa geçiriljek käbir buferde torda alnan maglumatlary saklamak). Emma maglumatlar boýunça amallar ýerine ýetirilende, baýt ulanmak siziň garaşýanlaryňyza laýyk gelmeýär. Bu, Java wirtual maşynyň (JVM) durmuşa geçirilmegi bilen baglanyşykly. Ulgamlaryň köpüsi 32 ýa-da 64 bit bolansoň, hasaplamalar wagtynda baýt we gysga 32 bitli int-e öwrüler, bu hakda soň gürleşeris. Bu hasaplamalary aňsatlaşdyrýar. Has giňişleýin maglumat üçin, java diliniň düzgünleri ýa-da jvm sebäpli baýtyň goşulmagy int-e öwrülýärmi? . Jogapda JLS (Java dil spesifikasiýasy) baglanyşyklary hem bar. Mundan başga-da, nädogry ýerde baýt ulanmak oňaýsyz pursatlara sebäp bolup biler:
public static void main(String []args){
        for (byte i = 1; i <= 200; i++) {
            System.out.println(i);
        }
}
Bu ýerde aýlaw bolar. Hasap bahasy iň ýokary (127) ýetýändigi sebäpli, suw joşmagy ýüze çykar we bahasy -128 bolar. We aýlawdan hiç haçan çykmarys.

gysga

Baýt bahalarynyň çägi gaty az. Şonuň üçin indiki maglumat görnüşi üçin bitleriň sanyny iki esse köpeltmegi makul bildik. .Agny, indi 8 bit däl, 16, ýagny 2 baýt. Gymmatlyklary şol bir usul bilen hasaplap bolýar. 2 ^ (16-1) = 2 ^ 15 = 32768. Bu diapazonyň -32768-den 32767 aralygyndadygyny aňladýar. Specialörite ýagdaýlarda seýrek ulanylýar. Java dil resminamalarynyň aýdyşy ýaly: “ Uly massiwlerde ýady ýatda saklamak üçin gysga ulanyp bilersiňiz .”

int

Şeýdip, iň köp ulanylýan görnüşe ýetdik. 32 bit ýa-da 4 baýt alýar. Umuman, iki esse artmagy dowam etdirýäris. Gymmatlyklaryň diapazony -2 ^ 31-den 2 ^ 31 - 1 aralygynda.

Iň ýokary int bahasy

Int 2147483648-iň iň ýokary bahasy 1 bolup, asla kiçi däl. Aboveokarda aýdylyşy ýaly, hasaplamalary optimizirlemek üçin, sebäbi Döwrebap kompýuterler üçin, bit kuwwatyny göz öňünde tutup, sanamak has amatly; maglumatlary doly int-e öwrüp bolýar. Ine ýönekeý mysal:
byte a = 1;
byte b = 2;
byte result = a + b;
Şeýle zyýansyz kod, ýöne ýalňyşlygy alýarys: "säwlik: gabat gelmeýän görnüşler: int-baýtdan ýitgili öwrülişik." Baýt netijesi = (baýt) (a + b) üçin düzetmeli bolarsyňyz; Moreene bir zyýansyz mysal. Aşakdaky kody işledenimizde näme bolýar?
int value = 4;
System.out.println(8/value);
System.out.println(9/value);
System.out.println(10/value);
System.out.println(11/value);
Biz netijä geleris
2
2
2
2
* howsala sesleri *
Hakykat, int bahalary bilen işlenende, galan bölegi taşlanýar, diňe tutuş bölegi galýar (şeýle ýagdaýlarda goşa ulanmak has gowudyr).

uzyn

Iki esse artmagy dowam edýäris. 32-den 2-e köpeldýäris we 64 bit alýarys. Däp bolşy ýaly, bu 4 * 2, ýagny 8 baýt. Gymmatlyklaryň diapazony -2 ^ 63-den 2 ^ 63 - 1. enougheterlikden köp. Bu görnüş size uly, köp sanamaga mümkinçilik berýär. Wagt bilen işlän wagtyňyz köplenç ulanylýar. Ora-da meselem uzak aralyklarda. Bir sanyň uzynlygyny görkezmek üçin göni L - belgiden soň goýuň. Mysal:
long longValue = 4;
longValue = 1l; // Не ошибка, но плохо читается
longValue = 2L; // Идеально
Özümden öňe geçmek isleýärin. Geljekde, ilkinjiler bilen obýekt hökmünde işlemäge mümkinçilik berýän primitiwler üçin degişli örtükleriň bardygyny göz öňünde tutarys. Emma gyzykly bir aýratynlyk bar. Ine bir mysal: Şol bir “Tutorialspoint” onlaýn düzüjisini ulanyp, aşakdaky kody barlap bilersiňiz:
public class HelloWorld {

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

    public static void printLong(long longValue) {
        System.out.println(longValue);
    }
}
Bu kod ýalňyşsyz işleýär, hemme zat gowy. Emma “printLong” usulyndaky görnüş uzynlykdan Uzaga (ýagny görnüş başlangyç däl-de, obýekt bolýar) çalşylan badyna Java-dan haýsy parametrden geçýändigimiz belli däl. Int-iň iberilýändigini we ýalňyşlyk boljakdygyny çaklap başlaýar. Şonuň üçin bir usul bolan ýagdaýynda 4L-ni aç-açan görkezmeli bolar. Maglumatlar bazalary bilen işleýän wagtyňyz köplenç ID hökmünde ulanylýar.

Java ýüzýär we Java goşa

Bu görnüşlere ýüzýän nokat görnüşleri diýilýär. .Agny, bular bitewi görnüşler däl. Floüzýän görnüş 32 bit (int ýaly), goşa goşa takyklyk görnüşi diýilýär, şonuň üçin 64 bit (isleýşimiz ýaly 2-e köpeldiň). Mysal:
public static void main(String []args){
        // float floatValue = 2.3; lossy conversion from double to float
        float floatValue = 2.3F;
        floatValue = 2.3f;
        double doubleValue = 2.3;
        System.out.println(floatValue);
        double cinema = 7D;
}
Ine, bahalaryň tapawudynyň mysaly (görnüşiň takyklygy sebäpli):
public static void main(String []args){
        float piValue = (float)Math.PI;
        double piValueExt = Math.PI;
        System.out.println("Float value: " + piValue );
        System.out.println("Double value: " + piValueExt );
 }
Bu başlangyç görnüşler, mysal üçin matematikada ulanylýar. Ine, PI sanyny hasaplamak üçin hemişelik subutnama . Umuman, Matematika synpynyň API-sine seredip bilersiňiz. Ine, başga-da möhüm we gyzykly bolmaly zat: hatda resminamalarda şeýle diýilýär: “ Bu maglumat görnüşi hiç wagt walýuta ýaly takyk bahalar üçin ulanylmaly däldir. Munuň üçin java.math.BigDecimal synpyny ulanmaly bolarsyňyz. Sanlar we setirler BigDecimal we Java platformasy tarapyndan üpjün edilen beýleki peýdaly sapaklary öz içine alýar. " Floüzýän we goşa pullary hasaplamagyň zerurlygy ýok. NASA-da işiň mysalyny ulanyp takyklyk hakda mysal: Java BigDecimal, ýokary takyklyk hasaplamalary bilen iş salyşmak Gowy, muny özüňiz duýuň:
public static void main(String []args){
        float amount = 1.0000005F;
        float avalue = 0.0000004F;
        float result = amount - avalue;
        System.out.println(result);
}
Bu mysaly yzarlaň we 5 we 4 sanlardan öň 0 goşuň we ähli elhençligi görersiňiz) Rus dilinde ýüzmek we mowzuk hakda iki gezek gyzykly hasabat bar: https://youtu.be/1RCn5ruN1fk Işlemegiň mysallary “BigDecimal” -y şu ýerde görmek bolýar: “BigDecimal” bilen sent ýasamak theeri gelende aýtsak, ýüzmek we goşa san diňe bir san däl. Mysal üçin, aşakdaky mysal Infinity-a gaýdyp geler:
public static void main(String []args){
        double positive_infinity = 12.0 / 0;
        System.out.println(positive_infinity);
}
Bu bolsa NAN-a gaýdyp geler:
public static void main(String []args){
        double positive_infinity = 12.0 / 0;
        double negative_infinity = -15.0 / 0;
        System.out.println(positive_infinity + negative_infinity);
}
Çäksizlik hakda aýdyň. NaN näme? Bu san däl , netijäni hasaplap bolmaýar we san däl diýmekdir. Ine bir mysal: -4 inedördül köküni hasaplamak isleýäris. 4-iň kwadrat kökü 2. 2.agny, 2 kwadrat bolmaly, soň bolsa alarys 4. -4 almak üçin näme kwadrat bolmaly? Işlemez, sebäbi ... oňyn san bar bolsa, galar. Eger negatiw bolsa, minus bilen minus goşar. .Agny hasaplap bolmaýar.
public static void main(String []args){
        double sqrt = Math.sqrt(-4);
        System.out.println(sqrt + 1);
        if (Double.isNaN(sqrt)) {
           System.out.println("So sad");
        }
        System.out.println(Double.NaN == sqrt);
}
Floüzýän nokat sanlary mowzugynda ýene bir ajaýyp syn: Siziň pikiriňiz nirede?
Başga näme okamaly:

Java boolean

Indiki görnüş Boolean (logiki görnüş). Diňe açar sözler bolan dogry ýa-da ýalan bahalary kabul edip biler. Logiki amallarda, aýlawlar ýaly we şahany çalmakda ulanylýar. Bu ýerde haýsy gyzykly zatlary tapyp bilersiňiz? Mysal üçin, teoretiki taýdan bize diňe 1 bit maglumat gerek, 0 ýa-da 1, ýagny dogry ýa-da ýalan. Emma hakykatda Boolean has köp ýady alar we bu belli bir JVM ýerine ýetirilişine bagly bolar. Adatça munuň bahasy int bilen deňdir. Başga bir wariant, BitSet ulanmak. “Java Fundamentals” kitabyndan gysgaça düşündiriş: BitSet

Java char

Indi iň soňky başlangyç görnüşe ýetdik. Şeýlelik bilen, zarýaddaky maglumatlar 16 bit alýar we häsiýeti suratlandyrýar. Java char üçin Unicode kodlamagy ulanýar. Nyşan iki tablisa laýyklykda kesgitlenip bilner ( şu ýerden görüp bilersiňiz ):
  • Icunikod nyşan tablisasy
  • ASCII nyşan tablisasy
Java-da başlangyç görnüşler: Olar beýle bir ýönekeý däl - 3
Studiýada mysal:
public static void main(String[] args) {
    char symbol = '\u0066'; // Unicode
    symbol = 102; // ASCII
    System.out.println(symbol);
}
Theeri gelende aýtsak, char, esasan san bolmak bilen, jem ýaly matematiki amallary goldaýar. Käte munuň gülkünç netijelere sebäp bolup biler:
public class HelloWorld{

    public static void main(String []args){
        String costForPrint = "5$";
        System.out.println("Цена только для вас " +
        + costForPrint.charAt(0) + getCurrencyName(costForPrint.charAt(1)));
    }

    public static String getCurrencyName(char symbol) {
        if (symbol == '$') {
            return " долларов";
        } else {
            throw new UnsupportedOperationException("Not implemented yet");
        }
    }

}
Onlaýn IDE-ni okuw sapaklaryndan barlamagy maslahat berýärin . Maslahatlaryň birinde bu tapmany görenimde, ruhubelent boldum. Mysal hem göwnüňizden turar diýip umyt edýärin) GEÇIRILDI: Bu Joker 2017-de boldy, hasabat beriň: " Java Puzzlers NG S03 - Hemmäňiz nireden gelýärsiňiz ?! "

Literals

Göçme manyda aç-açan görkezilen baha. Göçme manyda Dürli san ulgamlarynda bahalary kesgitläp bilersiňiz:
  • Onluk ulgam: 10
  • Alty sanly ulgam: 0x1F4, 0x bilen başlaýar
  • Oktal ulgam: 010, noldan başlaýar.
  • Ikilik ulgam (Java7-den bäri): 0b101, 0b-den başlaýar
Sekiz ulgamda azajyk köp durup geçerdim, sebäbi gülkünç:
int costInDollars = 08;
Koduň bu setiri düzülmez:
error: integer number too large: 08
Bolgusyz ýaly. Indi ikilik we oktal ulgamlar hakda ýatlalyň. Ikilik ulgamynda iki adam ýok, sebäbi iki baha bar (0-dan başlap). Sekiz ulgamyň noldan başlap 8 bahasy bar. 8agny, 8-iň bahasynyň özi ýok. Şonuň üçin bu, ilkinji seredişde manysyz ýaly görünýän ýalňyşlyk. Valuesatda saklamaly, gymmatlyklary terjime etmek üçin “yzarlamak” düzgüni:
Java-da başlangyç görnüşler: Olar beýle bir ýönekeý däl - 4

Wrapper sapaklary

Java-daky primitivleriň özleri bilen obýekt hökmünde işlemegi üçin öz deri sapaklary bar. .Agny, her bir başlangyç görnüş üçin degişli salgylanma görnüşi bar. Java-da başlangyç görnüşler: Olar beýle bir ýönekeý däl - 5Wrapper synplary üýtgewsiz: bu bir obýekt döredilenden soň, onuň ýagdaýynyň - baha meýdanynyň bahasynyň üýtgedilip bilinmejekdigini aňladýar. Wrapper synplary jemleýji diýlip yglan edilýär: obýektler, başgaça aýdylanda, diňe okalýar. Şeýle hem bu synplardan miras alyp bolmajakdygyny belläsim gelýär. Java başlangyç görnüşler bilen olaryň örtükleriniň arasynda awtomatiki usulda öwrülişik edýär:
Integer x = 9;          // autoboxing
int n = new Integer(3); // unboxing
Ilkinji görnüşleri salgylanma görnüşlerine (int-> Integer) öwürmek prosesi awtoboks , tersine bolsa gutusyz diýilýär . Bu synplar deslapky bir obýektiň içinde saklamaga mümkinçilik berýär we obýektiň özi Obýekt ýaly hereket eder (beýleki obýektler ýaly). Bularyň hemmesi bilen sanlary deňeşdirmek, nyşanlary bellige almak, nyşanlaryň harp ýa-da san bolandygyny kesgitlemek, iň az san gözlemek we ş.m. ýaly köp dürli, peýdaly statiki usullary alýarys. Berlen işleýiş toplumy diňe örtügiň özüne bagly. Int üçin bir örtük ýerine ýetirişiňiziň mysaly:
public class CustomerInt {

   private final int value;

   public CustomerInt(int value) {
       this.value = value;
   }

   public int getValue() {
       return value;
   }
}
“Java.lang” esasy bukjasynda eýýäm “Boolean”, “Byte”, “Gysga”, “Character”, “Integer”, “Float”, “Long”, “Double” sapaklary bar, bizden hiç zat döretmeli däl, diňe taýýar zatlary ulanyň. . Mysal üçin, şular ýaly synplar bize Sanaw döretmek mümkinçiligini berýär , sebäbi Sanawda diňe ilkinjiler bolmadyk obýektler bolmaly. Ilkinji görnüşiň bahasyny öwürmek üçin statiki valueOf usullary bar, mysal üçin Integer.valueOf (4) Integer görnüşli obýekti yzyna gaýtaryp berýär. Tersine öwürmek üçin intValue (), longValue () we ş.m. usullary bar. Kompilýator “ValOf” we “Value” -a jaňlary goýýar, bu awtoboksirlemegiň we awtoboksyň özeni. Aboveokarda görkezilen awtomatiki ýüklemegiň we awtomatiki ýüklemegiň mysaly aslynda nähili:
Integer x = Integer.valueOf(9);
int n = new Integer(3).intValue();
Awtomatiki gaplamak we awtomatiki ýüklemek barada has giňişleýin maglumaty şu makalada okap bilersiňiz .

Aktrisa

При работе с примитивами существует такое понятие How приведение типов, одно из не очень приятных свойств C++, тем не менее приведение типов сохранено и в языке Java. Иногда мы сталкиваемся с такими ситуациями, когда нам нужно совершать взаимодействия с данными разных типов. И очень хорошо, что в некоторых ситуациях это возможно. В случае с ссылочными переменными, там свои особенности, связанные с полиморфизмом и наследованием, но сегодня мы рассматриваем простые типы и соответственно приведение простых типов. Существует преобразование с расширением и преобразование сужающее. Всё на самом деле просто. Если тип данных становится больше (допустим, был int, а стал long), то тип становится шире (из 32 бит становится 64). И в этом случае мы не рискуем потерять данные, т.к. если влезло в int, то в long влезет тем более, поэтому данное приведение мы не замечаем, так How оно осуществляется автоматически. А вот в обратную сторону преобразование требует явного указания от нас, данное приведение типа называется — сужение. Так сказать, чтобы мы сами сказали: «Да, я даю себе отчёт в этом. В случае чего — виноват сам».
public static void main(String []args){
   int intValue = 128;
   byte value = (byte)intValue;
   System.out.println(value);
}
Whatбы потом в таком случае не говорor что «Ваша Джава плохая», когда получат внезапно -128 instead of 128 ) Мы ведь помним, что в byteе 127 верхнее meaning и всё что находилось выше него соответственно можно потерять. Когда мы явно превратor наш int в byte, то произошло переполнение и meaning стало -128.

Область видимости

Это то место в codeе, где данная переменная будет выполнять свои функции и хранить в себе Howое-то meaning. Когда же эта область закончится, переменная перестанет существовать и будет стерта из памяти и. How уже можно догадаться, посмотреть or получить ее meaning будет невозможно! Так что же это такое — область видимости? Java-da başlangyç görnüşler: Olar beýle bir ýönekeý däl - 6Область определяется "блоком" — вообще всякой областью, замкнутой в фигурные скобки, выход за которые сулит удаление данных объявленных в ней. Или How минимум — сокрытие их от других блоков, открытых вне текущего. В Java область видимости определяется двумя основными способами:
  • Классом.
  • Методом.
Как я и сказал, переменная не видна codeу, если она определена за пределами блока, в котором она была инициализирована. Смотрим пример:
int x;
x = 6;
if (x >= 4) {
   int y = 3;
}
x = y;// переменная y здесь не видна!
И How итог мы получим ошибку:

Error:(10, 21) java: cannot find symbol
  symbol:   variable y
  location: class com.javaRush.test.type.Main
Области видимости могут быть вложенными (если мы объявor переменную в первом, внешнем блоке, то во внутреннем она будет видна).

Заключение

Сегодня мы познакомorсь с восемью примитивными типами в Java. Эти типы можно разделить на четыре группы:
  • Целые числа: byte, short, int, long — представляют собой целые числа со знаком.
  • Числа с плавающей точкой — эта группа включает себе float и double — типы, которые хранят числа с точностью до определённого знака после запятой.
  • Булевы значения — boolean — хранят значения типа "истина/ложь".
  • Nyşanlar - bu topara zarýad görnüşi girýär.
Aboveokardaky tekstiň görkezişi ýaly, Java-daky ilkinjiler beýle bir ýönekeý däl we köp meseläni netijeli çözmäge mümkinçilik berýär. Alsoöne bu, programmamyzda öňünden aýdyp bolmajak hereketlere duş gelmek islemesek, ýatda saklamaly käbir aýratynlyklarymyzy hem hödürleýär. Olaryň aýdyşy ýaly, hemme zat üçin pul tölemeli. “Dik” (giň) diapazonly bir primitiw islesek - uzyn ýaly bir zat - has uly ýadyň paýlanyşyny we ters tarapa gurban edýäris. Memoryady tygşytlamak we baýt ulanmak bilen -128-den 127-e çenli çäkli aralyk alýarys.
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION