КампутарыПраграмаванне

Праграмаванне: Java. тыпы дадзеных

Тып даных вызначаецца трыма складнікамі:

  • наборам значэнняў або аб'ектаў;
  • наборам аперацый, якія могуць быць ужытыя да ўсіх значэнняў у наборы;
  • прадстаўленнем дадзеных, вызначальным іх захоўванне.

Якія бываюць тыпы дадзеных у Java?

Мова праграмавання змяшчае некаторыя загадзя вызначаныя убудаваныя тыпы і дазваляе праграмістам вызначаць свае ўласныя, прыстасаваныя.

У Java тыпы дадзеных дзеляцца на прымітыўныя і спасылачныя.

«Прымітыўны» азначае, што далейшае яго дзяленне немагчыма. Пашыраць або змяняць яго мова праграмавання не дазваляе. Такі тып дадзеных апісваецца прымітыўнымі і іншымі карыстацкімі тыпамі.

Пераменная прымітыўнага тыпу змяшчае значэнне, а спасылачныя - адрас аб'екта ў памяці.

Мова Java. Тыпы дадзеных: час і дата

Складовыя дадзеныя дзеляцца на класы, інтэрфейсы і масівы. Членамі інтэрфэйснае тыпу з'яўляюцца абстрактныя метады і канстанты. У мове Java тыпы дадзеных дата і час задаюцца канструктарам Date ():

  • d = new Date ().

Прыкладам спасылкі таксама з'яўляецца радок.

Мова Java. Тыпы дадзеных: String

Радок ўяўляе сабой клас, вызначаны ў бібліятэцы Java, і ён можа быць выкарыстаны для працы з тэкстам (паслядоўнасцю знакаў).

Аб'яву спасылачныя String-зменнай наступнае: String str.

Перад тым як прысвоіць спасылку на аб'ект такой зменнай, неабходна стварыць яго з дапамогай аператара new. Напрыклад, можна стварыць аб'ект класа String з тэкстам «Прывітанне»:

  • str = new String ( "Прывітанне").

Што адбываецца пры выкананні гэтага кода? Па-першае, вылучаецца памяць, і імя str звязваецца з гэтай ячэйкай памяці. Гэта не адрозніваецца ад аб'явы прымітыўнай зменнай. Другі фрагмент кода стварае ў памяці аб'ект String з тэкстам «Прывітанне» і захоўвае спасылку на яго (альбо адрас памяці) у str.

Спасылачныя тыпы дадзеных Java таксама дазваляюць прысвоіць спасылку на аб'ект, якая захоўваецца ў адной зменнай, іншы. Абедзве яны спасылаюцца на адзін і той жа аб'ект у памяці. Гэта можа быць дасягнута наступным чынам:

  • String str1;
  • String str2;
  • str1 = new String ( "Прывітанне");
  • str2 = str1;

Існуе пастаянная спасылка null, якая можа быць прысвоена любы спасылачныя зменнай. Яна не спасылаецца ні на адзін аб'ект.

Аб'ект String ствараецца з дапамогай аператара new. Але так як радкі выкарыстоўваюцца часта, ёсць больш просты спосаб яго стварэння. Усе радковыя литералы, т. Е. Паслядоўнасць знакаў, складзеная ў падвойныя двукоссі, разглядаюцца як аб'екты String. Таму замест аператара new можна выкарыстоўваць радковыя литералы:

  • String str1 = "Hello".

Прымітыўныя тыпы дадзеных Java - byte, short, int, long, char, float, double і boolean. Яны дзеляцца на дзве катэгорыі: лагічную і лікавую. Апошняя можа быць падзелена на цэлыя ліку і ліку з якая плавае кропкай.

Цэлыя тыпы дадзеных Java ўяўляюць сабой лікавыя тыпы, значэння якіх з'яўляюцца цэлымі лікамі. Іх пяць: byte, short, int, long і char.

Int

Int ўяўляе сабой 32-разрадны знакавы прымітыўны тып дадзеных. Пераменная займае 32 біта памяці. Дапушчальны дыяпазон - ад -2147483648 да 2147483647 (-2 31 да 2 31 - 1). Усе цэлыя лікі ў гэтым дыяпазоне з'яўляюцца цэлалікавымі литералами або канстантамі. Напрыклад, 10, -200, 0, 30, 19 з'яўляюцца литералами int. Іх можна прысвоіць зменнай int:

  • int num1 = 21;

Цэлыя литералы могуць быць выяўленыя ў выглядзе двайковага, васьмярковай, дзесятковага і шаснаццатковы лік.

Калі литерал пачынаецца з нуля і мае, па меншай меры, дзве лічбы, ён лічыцца запісаным у васьмярковым фармаце. 0 і 00 ўяўляюць аднолькавае значэнне - нуль.

Усе литералы int ў фармаце шаснаццатковы лік пачынаюцца з 0x або 0x, і яны павінны ўтрымліваць хаця б адну шаснаццатковай лічбу:

  • int num1 = 0x123.

Int-литералы ў фармаце двайковага ліку пачынаюцца з 0b або 0B:

  • int num1 = 0b10101.

Long

Гэта 64-разрадны знакавы прымітыўны тып. Выкарыстоўваецца, калі вынік вылічэнняў можа перавышаць дыяпазон int. Дыяпазон long - ад -2 63 да 2 63 - 1. Усе цэлыя лікі гэтага дыяпазону з'яўляюцца литералами доўгага тыпу.

Каб адрозніваць у мове Java тыпы дадзеных int і long, литерал апошняга тыпу заўсёды сканчаецца L або l.

Цэлыя литералы доўгага тыпу таксама могуць быць выяўленыя ў васьмярковым, шаснаццатковым і двайковым фарматах.

Калі long-литерал прысвойваецца зменнай long, кампілятар Java правярае прысвойваемае значэнне і засведчваецца, што яно знаходзіцца ў прымальным дыяпазоне; у адваротным выпадку адбудзецца памылка кампіляцыі.

Паколькі дыяпазон int менш, чым у long, значэнне int-зменнай заўсёды можа быць прысвоена зменнай тыпу long. Але адваротнае прысваенне немагчыма нават у межах дыяпазону int. Для гэтага выкарыстоўваецца відавочнае ўказанне:

  • num1 = (int) num2;

Byte

Byte ўяўляе сабой 8-разрадны цэлы прымітыўны тып. Яго дыяпазон - ад -128 да 127 (-2 7 да 2 7 - 1). Гэта найменшы цэлы тып, існуючы ў Java. Як правіла, байтавая зменныя выкарыстоўваюцца, калі ў праграме задзейнічана шмат значэнняў у дыяпазоне ад -128 да 127, або пры працы з бінарнымі дадзенымі. У адрозненне ад литералов int і long, byte-литералы адсутнічаюць. Тым не менш можна прызначыць byte-зменнай любы int-литерал, так як ён перакрывае дыяпазон байта.

Калі гэтае значэньне выходзіць за межы дыяпазону, Java выдасць памылку кампілятара.

Акрамя таго, можна прысвоіць толькі int-литерал, але не ад значэння, якое захоўваецца ў зменнай int, так як пры гэтым магчымая страта дакладнасці. Для гэтага спатрэбіцца відавочнае прывядзенне тыпу.

  • b1 = (byte) num1.

Short

Ўяўляе сабой 16-разрадны знакавы цэлы прымітыўны тып дадзеных. Яго дыяпазон - ад -32768 да 32767 (або -2 15 да 2 15 - 1).

Як правіла, неабходнасць у кароткіх зменных ўзнікае, калі праграма выкарыстоўвае вялікая колькасць значэнняў, якія не перавышаюць паказаны дыяпазон. Short-литерал адсутнічае, але магчыма прысваенне любога литерала int ў межах дыяпазону short. Значэнне byte-зменнай можа быць прысвоена заўсёды. Астатнія правілы прысваення int або long short-зменнай такія ж, як для byte.

Char

Char з'яўляецца 16-разрадным беззнаковым прымітыўным тыпам дадзеных, які ўяўляе сімвал Юнікода. Адсутнасць знака азначае, што зменная не можа мець адмоўнае значэнне. Дыяпазон - ад 0 да 65535, што супадае з кадоўкай набору знакаў Юнікода. Литерал ўяўляе значэнне char і можа быць выяўлены ў такіх формах:

  • сімвал, зняволены ў адзінарныя двукоссі;
  • паслядоўнасць кіраўнікоў знакаў;
  • паслядоўнасць кіраўнікоў сімвалаў юнікода;
  • паслядоўнасць васьмярковых кіраўнікоў знакаў.

Сімвал можа быць выяўлены шляхам заключэння яго ў адзінарныя двукоссі: char C1 = 'A'. Падвойныя двукоссі пазначаюць радковы литерал, які не можа быць прысвоены char-зменнай, нават калі радок складаецца толькі з аднаго знака. Гэта недапушчальна, так як спасылка прымітыўнай зменнай ня прысвойваецца. Усе радковыя литералы з'яўляюцца аб'ектамі класа String і, такім чынам, спасылкамі, тады як знакавыя ставяцца да прымітыўнага тыпу.

Литерал, выражаны кіруючай паслядоўнасцю, запісваецца ў выглядзе зваротнай касой рысы з сімвалам ў адзіночных двукоссях. Усяго іх 8: '\ n', '\ r', '\ f', '\ b', '\ t', '\\', '\ "', '\' '.

Кіруючая юнікод-паслядоўнасць мае выгляд '\ uxxxx', дзе \ u (зваротны слеш, за якім iдзе малая u) пазначае пачатак яго, а хххх ўяўляе роўна чатыры шаснаццаткавыя лічбы кода сімвала ў сістэме Юнікод. Напрыклад, 'A' мае значэнне 65 у дзесятковай сістэме і 41 у шаснаццатковай. Такім чынам, гэты знак можа быць прадстаўлены як '\ u0041'.

Васьмярковы кіруючая паслядоўнасць запісваецца ў выглядзе '\ nnn', дзе n - васьмярковы лічба (0-7). Дыяпазон значэнняў - ад '\ 000' да '\ 377', дзе 377 8 адпавядае 255 10. Таму яна выкарыстоўваецца для прадстаўлення знакаў з кодам ад 0 да 255, неабходнага для сумяшчальнасці з іншымі мовамі праграмавання. У адрозненне ад юнікод-паслядоўнасці, дзе неабходныя ўсе чатыры шаснаццаткавыя лічбы, тут можна выкарыстоўваць 1, 2 ці 3 васьмярковых: '\ n', '\ nn' ці '\ nnn'.

лагічны тып

Boolean мае толькі два сапраўдных значэння: true (ісціна) і false (хлусня). Яны называюцца булева литералами. Лагічная зменная не можа быць прыведзена да іншага тыпу і наадварот. Java не вызначае памер boolean - ён залежыць ад канкрэтнай рэалізацыі віртуальнай Java- машыны.

Тыпы дадзеных Java з якая плавае кропкай

Лік, якое змяшчае дробную частку, у памяці кампутара можа захоўвацца ў прадстаўленні з фіксаваным колькасцю лічбаў да і пасля кропкі ці з указаннем яе становішча. Бо колькасць лічбаў можа мяняцца, то кажуць, што кропка «плавае».

У мове Java тыпы дадзеных з якая плавае кропкай выкарыстоўваюць 32 біта. Паводле стандарту IEEE 754, гэта адпавядае адзінарнай дакладнасці, якая дазваляе прадстаўляць, напрыклад, колькасці 1,4 х 10 -45 і 3,4 х 10 38, прычым як станоўчыя, так і адмоўныя.

Усе сапраўдныя лікі, якія заканчваюцца на f або F, называюцца float-литералами. Яны могуць быць прадстаўлены ў фармаце дзесятковага колькасці і ў выглядзе навуковай натацыі. напрыклад:

  • float f1 = 3.25F;
  • float f2 = 32.5E-1F;
  • float f3 = 0.325E + 1F.

Тып вызначае два нуля: + 0.0F (або 0.0F) і -0.0F. Аднак для мэт параўнання абодва нуля лічацца роўнымі. Акрамя таго, ім вызначаны два выгляду бясконцасці: станоўчая і адмоўная. Вынікі некаторых аперацый (напрыклад, дзяленне 0.0F на 0.0F) не вызначаныя і прадстаўлены спецыяльным значэннем NaN.

Двайная дакладнасць

Для захоўвання лікаў з якая плавае кропкай double выкарыстоўвае 64 біта. Лік двайны дакладнасці можа прадстаўляць станоўчыя і адмоўныя значэння велічынёй 4,9 х 10 -324 і 1,7 х 10 308.

Усе сапраўдныя лікі па змаўчанні з'яўляюцца падвойнымі литералами. Па жаданні могуць відавочна пазначацца суфіксам d або D, напрыклад, 19.27d. Двайны литерал можа быць выяўлены ў дзесятковай форме і ў навуковай натацыі.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.atomiyme.com. Theme powered by WordPress.