Tipus primitius en Java

Java és un llenguatge orientat a objectes, però no del tot, perquè no tot és objecte. Tenim els anomenats tipus primitius!

Tipus primitius

Comentaris

  • Cordes no són tipus primitius;
  • Hi ha una classe de Java corresponent per a cada tipus de dades primitives;
  • Enters (byte, curt, Int, llarg) són, per defecte, Int, Llavors utilitzi "l" o "L" Quan vols denotar llarg;
  • A forma decimal, ús “0x” en hexadecimal (Int 15 = 0xF; // 15 decimal) i “0” per a octal (Int x = 0931);
  • De punt flotant (carrossa, Doble) són, per defecte, Doble, Llavors utilitzi "f" o "F" per denotar la carrossa;
  • char està representat pel caràcter Unicode 16 miques (sense senyal);
  • Valors booleans no es pot utilitzar en una operació de càsting;
  • Càsting és una conversió d'una més gran d'un tipus més petit (explícit), Ex: llarga y = 10 litres; Int x = (Int) y;
  • Tipus de fosa no és necessària quan el de menor a major, perquè és acceptable (implícita), Ex: Int y = 10; llarg x = y;

Aquests conceptes poden cobrar les següents:

Pregunta 1

COPEVE-UFAL – 2011 – UFAL – -Analista

Els tipus de dades Java primitius són:
la) Booleà, char, byte, curt, Int, llarg, carrossa, Doble.
(b)) Booleà, corda, Int, carrossa, Doble.
(c)) Booleà, corda, curt, Int, llarg, carrossa, Doble.
(d)) Booleà, char, Int, llarg, carrossa.
i) Booleà, corda, byte, Int, llarg, carrossa.

Resposta 1

És clar que totes les alternatives que diuen “corda” és un tipus primitiu estan malament. La lletra d) és incompleta, Així, Hem deixat la carta) com corregir.


Pregunta 2

CESGRANRIO – 2008 – TJ-RO – Analista legal – Anàlisi de sistemes


En Java, la cessió de compostos x += y equival a x = (T) (x + y), on T és el tipus de x. Partint d'aquesta premissa, considerar les dues línies següents de programa.

x += y;
x = x + y;

La primera línia elaborarà, i la segona línia generarà un error en temps de compilació, Si x i y són declarats, respectivament, com:
la) curt i int
(b)) int i curt
(c)) int i els pe
(d)) Corda i int
i) int i corda

Resposta 2

Aquesta qüestió és interessant, perquè cobreix diversos conceptes va dir en la declaració d'aquest Post. Bàsicament, recordi que vostè només necessita fer el càsting (conversió explícit) d'un tipus més gran a un menor. Un altre detall és a la punta de la seva pròpia pregunta, Quan dius que x += y equival a x = (T) (x + y). Cal destacar que en aquesta situació, el compilador fa el càsting (T), declarar no només x = x + y. I, finalment,, Fixi's que la pregunta vol saber les opcions que recull la primera línia, i la segona línia generarà un error. Així sembla que això:

la) Mentre que x és de tipus curt i y int, Anem a necessitar el càsting per no generar error, perquè curt (16 miques) és més petit que int (32 miques), I.E., no pot rebre int curt, llevat que s'ha fet explícit conversió (càsting). Tan, com x += y equival a x = (T) (x + y), Tenim x = (curt) (x + y). Veure que el càsting es va fer correctament i no hi haurà cap problema en conversió. A la segona línia (x = x + y), No hi ha cap càsting requereix la major (Int) per als més petits (curt), que es tradueix en compilar error. Aquest és l'alternativa correcta, perquè és clar que la primera línia elaborarà, i la segona línia generarà un error.

(b)) Aquí tenim tant la primera línia, com la segona compilació sense problemes, Ja que la conversió està implícit (càsting independent de menor a major), Ja que és int (x) vostè rebrà definitiva (y) en la declaració de x = x + y. Això no podia ser l'opció, perquè ambdues línies elaborarà.

(c)) Dues línies elaborarà correctament, per les mateixes raons que s'indica en la lletra b). Incloent char també ha 16 miques, com curt. L'única diferència és que quan s'executa la int suma + char la declaració x = x + y, es consideren el codi ASCII del personatge (char) utilitzat. Per exemple, 97 correspon al personatge '’ Taula ASCII.

(d)) Dues línies elaborarà correctament. La raó aquí és que el compilador considera que el signe de + com a enllaç (cruïlla) i no una suma, conversió d'int (y) en cadena (x), Quan corre la declaració x = x + y.

i) No es compilarà dues línies, perquè no hi ha cap manera de convertir en cadena (y) per a l'int (x) Quan corre la declaració x = x + y.

Visites totals: 7221

2 Comentaris sobre “Tipus primitius en Java

Deixi una contestació

La vostra adreça electrònica no es publicarà. Els camps marcats amb *