Прымітыўныя тыпы ў Java

Java з'яўляецца аб'ектна-арыентаваным мовай, але не ў поўнай меры, таму што не ўсе з'яўляецца аб'ектам. У нас ёсць так званыя прымітыўныя тыпы!

прымітыўныя тыпы

заўвагі

  • Радкі ня прымітыўныя тыпы;
  • Для кожнага тыпу прымітыву дадзеных існуе адпаведны клас Java;
  • усе (байт, кароткія, ИНТ, доўга) яны, па змаўчанні, ИНТ, там выкарыстоўваецца «L» або «L», калі вы хочаце, каб пазначыць доўга;
  • для дзесятковай, выкарыстоўваецца “0х” у шаснаццатковым (ИНТ пяць = 0xF; // 15 дзесятковы) е “0” васьмярковых (ИНТ х = 0931);
  • плаваючая коска (паплавок, двайны) яны, па змаўчанні, двайны, там выкарыстоўваецца «F» або «F» для абазначэння паплаўка;
  • сімвал прадстаўлены сімвал Unicode 16 біты (непадпісаны);
  • Булевы значэння не могуць быць выкарыстаны ў працэсе ліцця;
  • Ліццё з'яўляецца аперацыяй пераўтварэнні большага тыпу ў меншым (відавочны), былы: доўга у = 10L; ИНТ х = (ИНТ) і;
  • Гэта не з'яўляецца неабходным пры заліванні тыпаў ніжэйшага да вышэйшага, гэта прымальна (няяўнай), былы: ИНТ у = 10; доўгія х = у;

Гэтыя паняцці могуць быць аднесены наступныя:

пытанне 1

COPEVE-UFAL – 2011 – UFAL – IT-аналітык

Java прымітыўныя тыпы дадзеных:
a) лагічны, голец, байт, кароткія, ИНТ, доўга, паплавок, двайны.
б) лагічны, радок, ИНТ, паплавок, двайны.
з) лагічны, радок, кароткія, ИНТ, доўга, паплавок, двайны.
d) лагічны, голец, ИНТ, доўга, паплавок.
е) лагічны, радок, байт, ИНТ, доўга, паплавок.

адказ 1

Зразумела, што ўсе альтэрнатывы, якія кажуць “радок” прымітыўны тып не правы. Letra д) яна няпоўная, таму, застаецца заўважыць) як правільнае.


пытанне 2

Cesgranrio – 2008 – TJ-RO – судовы эксперт – сістэмны аналіз


эм Java, прызначаючы складзены = х + у эквівалентна х = (T) (х + і), дзе Т ўяўляе сабой тып х. Зыходзячы з гэтага, Разгледзім наступныя два радкі праграмы.

х + у =;
х = х + і;

Першы радок кампілюе, і другая лінія будзе генераваць памылку падчас кампіляцыі, калі х і ў абвешчаныя, адпаведна, у якасці:
a) Карацей е Цэлы
б) ИНТ е кароткі
з) ИНТ е голец
d) Радок е Цэлы
е) ИНТ е Радок

адказ 2

Гэтае пытанне цікавае, ён звяртаецца сказалі розныя канцэпцыі ў заяве гэтага паведамлення. У асноўным памятаеце, што вам трэба зрабіць толькі ліцейна (відавочнае пераўтварэнне) большы тып, каб менш. Яшчэ адна дэталь вярхушка самага пытання, калі вы кажаце, што х + у = эквівалентна х = (T) (х + і). Звярніце ўвагу, што ў гэтай сітуацыі, кампілятар робіць ліцейна (T), contario адзінага стану х = х + і. І апошняе, Адзначым, што пытанне хоча ведаць параметры ў першым радку кампіляцыі, і другая лінія будзе генераваць памылку. Так гэта выглядае:

a) У той час як х мае тып Int, і кароткія і, нам трэба ліцейна для не генераваць памылку, для сцісласці (16 біты) Гэта менш, чым міжнар (32 біты), іншымі словамі, Карацей кажучы ИНТ не можа патрапіць, калі відавочнае пераўтварэнне (ліццё). такім чынам, і х + у е = эквівалентна х = (T) (х + і), мы маем х = (кароткія) (х + і). См Кастынг было зроблена правільна, і не будзе ніякіх праблем у пераўтварэнні. У другім радку (х = х + і), няма адліўкі не патрабуецца найбольш (ИНТ) да самага нізкага ўзроўню (кароткія), што прывядзе да памылкі кампіляцыі. Гэта правільная альтэрнатыва, бо ясна, што першая радок будзе кампіляваць, і другая лінія будзе генераваць памылку.

б) Тут у нас ёсць і першы радок, як другі будзе скампіляваны без праблем, таму што пераўтварэнне няяўна (ад самага маленькага да самага вялікага незалежнага ліцця), так як гэта ИНТ (х) які будзе атрымліваць кароткія (і) зацвярджэнне х = + і. Яна не можа быць такім варыянтам, таму што абедзве лініі будуць кампіляваць.

з) Абедзве лініі кампілюецца правільна, па тых жа прычынах, апісаным у лісце б). У тым ліку голец таксама мае 16 біты, карацей. Адзінае адрозненне складаецца ў тым, што пры выкананні сумы Int + асмальваецца аператар х = + і, Гэта будзе лічыцца ASCII код знака (голец) які выкарыстоўваецца. напрыклад, 97 адпавядае характару "а’ ASCII табліца.

d) Абедзве лініі кампілюецца правільна. Прычына тут у тым, што кампілятар лічыць сігнал + канкатэнацыяй (злучэнне) а не сума, пераўтварэнне INT (і) у радку (х), пры выкананні інструкцыі х = + і.

е) Абедзве лініі не кампілюецца, таму што няма ніякага спосабу, каб пераўтварыць радок (і) для міжнар (х) пры выкананні інструкцыі х = + і.

Усяго доступы: 9798

2 водгукі “Прымітыўныя тыпы ў Java

пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаныя *