wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Quiz Basi di Java

Total questions: 80

Worksheet time: 47mins

Name
Class
Date
1.

Quale delle seguenti NON è una proprietà degli algoritmi?

a)

Ambiguità

b)

Finitezza

c)

Generalità

d)

Efficienza

2.

L'insieme di regole formali per la scrittura di frasi è detto:

a)

Sintassi

b)

Semantica

c)

Alfabeto

d)

Lessico

3.

Tra i problemi del linguaggio naturale NON compare:

a)

E' formale

b)

E' ambiguo

c)

E' ridondante

d)

Ha un'ampia ricchezza espressiva

4.

Quale tra le seguenti affermazioni è vera?

a)

I linguaggi compilati sono tipicamente di medio o alto livello

b)

I linguaggi fortemente tipizzati sono migliori di quelli debolmente tipizzati

c)

I linguaggi interpretati hanno il vantaggio di generare l'object code

d)

I linguaggi di basso livello sono altamente portabili

5.

I linguaggi dichiarativi:

a)

Descrivono il risultato

b)

Descrivono come ottenere il risultato

c)

Hanno uno scopo ludico

d)

Si basano sul teorema di Bohm-Jacopini

6.

Java è un linguaggio:

a)

Di alto livello e sviluppa il paradigma a oggetti

b)

Di medio livello e sviluppa il paradigma a oggetti

c)

Di medio livello sviluppa il paradigma dichiarativo

d)

Di alto livello e sviluppa il paradigma dichairativo

7.

Quale NON è una caratteristica di Java:

a)

E' scarsamente portabile

b)

E' considerabile sia compilato che interpretato

c)

E' general purpose

d)

E' nato in contrapposizione a C++

8.

L'object code di Java è detto:

a)

Bytecode

b)

Filecode

c)

Javacode

d)

Classcode

9.

Lo scopo del compilatore Just In Time è:

a)

Rendere l'esecuzione di un programma più efficiente

b)

Rendere l'esecuzione di un programma più efficace

c)

Permettere la portabilità del codice

d)

Permettere la riusabilità del codice

10.

NON è una funzionalità degli IDE:

a)

Correzione semantica degli errori

b)

Editor di testo con evidenziazione della sintassi

c)

Debugging

d)

Gestione del progetto

11.

Quale tra i seguenti identificatori è accettato in Java?

a)

var

b)

int

c)

fact!

d)

5pos

12.

Un blocco di codice è:

a)

Contenuto in una coppia di parentesi graffe

b)

Contenuto in una classe

c)

Contenuto in un metodo

d)

Contenuto in una coppia di parentesi tonde

13.

Cosa stampa questo programma?

a)

Genera un errore

b)

11

c)

La stringa vuota

d)

101

14.

Il tipo double permette di:

a)

Rappresentare valori decimali più precisi di float

b)

Rappresentare valori decimali meno precisi di float

c)

Rappresentare valori interi più precisi grandi di int

d)

Rappresentare valori interi più precisi piccoli di int

15.

Cosa stampa questo programma?

a)

10.0

b)

10

c)

Genera un errore

d)

1

16.

Per permette l'input da parte dell'utente, è necessario:

a)

Creare un oggetto della classe Scanner

b)

Importare la libreria java.lang

c)

Creare un oggetto della classe Input

d)

Importare la libreria java.Scanner

17.

Quale affermazione è vera?

a)

Le variabili a e c puntano allo stesso indirizzo di memoria

b)

Ogni variabile punta a un indirizzo di memoria differente

c)

Genera un errore

d)

L'indirizzo di memoria cui punta la variabile c è dato dalla somma degli indirizzi di memoria di a e b

18.

Date due stringhe, il metodo compareToIgnoreCase serve per:

a)

Stabilire l'ordine alfabetico

b)

Stabilire l'ordine lessicografico

c)

Stabilire la stringa più lunga

d)

Stabilire la stringa più corta

19.

Il costrutto di selezione corrisponde alle istruzioni:

a)

If-else if-else e switch

b)

for, while e do-while

c)

if-else if-else

d)

switch e do-while

20.

Per quali valori di val il codice stampa B?

a)

Mai

b)

Per i valori maggiori di 10

c)

Per i valori tra 0 e 10

d)

Per i valori minori di 0

21.

Scrivere "if(varBooleana)" equivale a scrivere:

a)

if(varBooleana == True)

b)

if(varBooleana == False)

c)

if(varBooleana == null)

d)

Nessuna delle altre risposte è corretta

22.

Cosa stampa questo codice?

a)

B

b)

C

c)

BC

d)

AB

23.

NON è un elemento obbligatorio di un ciclo:

a)

L'istruzione di inizializzazione

b)

Il corpo

c)

La condizione di uscita

d)

Il tipo di ciclo utilizzato

24.

Un ciclo viene terminato quando:

a)

La condizione booleana è falsa

b)

La condizione booleana è vera

c)

Termina la memoria a disposizione

d)

E' stato eseguito un numero sufficiente di volte

25.

A differenza del ciclo while, il ciclo do-while:

a)

Viene eseguito almeno una volta

b)

Può non essere mai eseguito

c)

Necessita dell'istruzione di inizializzazione

d)

Può non essere indicata l'istruzione di inizializzazione

26.

La particolarità di questo ciclo è che:

a)

Non termina mai

b)

Non viene mai eseguito

c)

Stampa i valori da 0 a 10

d)

Stampa i valori da 0 a 9

27.

Dato l'array arr, arr[0] è detta:

a)

Variabile indicizzata

b)

Variabile di array

c)

Valore indicizzato

d)

Valore di array

28.

Due array paralleli devono necessariamente:

a)

Avere stessa lunghezza ma anche tipo diverso

b)

Avere stessa lunghezza e stesso tipo

c)

Avere stesso tipo ma anche diversa lunghezza

d)

Non ci sono vincoli

29.

Dato l'array arr, quale ciclo for permette di iterare su tutte le sue posizioni?

a)

for(int i = 0; i < arr.length; i++)

b)

for(int i = 0; i <= arr.length; i++)

c)

for(int i = 0; i <= arr.size; i++)

d)

for(int i = 1; i < arr.size; i++)

30.

L'istruzione "int [] [] arr = new int [5] [10]" permette di:

a)

Creare una matrice con 5 righe e 10 colonne

b)

Creare una matrice con 5 colonne e 10 righe

c)

Creare 5 array di 10 posizioni

d)

Creare 10 array di 5 posizioni

31.

Un metodo void:

a)

Non ritorna un valore

b)

Ritorna un valore di tipo void

c)

Non riceve parametri

d)

Riceve un numero non precisato di parametri

32.

Un metodo può essere invocato senza essere stato definito?

a)

No, mai

b)

Sì, sempre

c)

Solo se è un metodo void

d)

Solo se è un metodo senza parametri

33.

Cosa stampa questo codice?

a)

Genera un errore

b)

10

c)

20

d)

20.0

34.

Considerando il codice di prima:

a)

x è detto parametro, 10 è detto argomento

b)

x e 10 sono parametri

c)

x e 10 sono argomenti

d)

x è detto argomento, 10 è detto parametro

35.

Le stringhe vengono passate:

a)

Per riferimento, ma le modifiche non hanno effetto

b)

Per riferimento

c)

Per valore

d)

Per valore, ma le modifiche hanno effetto

36.

Se una variabile viene passata come riferimento, significa che come argomento viene passato:

a)

L'indirizzo di memoria e quindi le modifiche hanno effetto

b)

L'indirizzo di memoria e quindi le modifiche NON hanno effetto

c)

Il valore e quindi le modifiche hanno effetto

d)

Il valore e quindi le modifiche NON hanno effetto

37.

L'overloading consente, all'interno della stessa classe, di:

a)

Definire metodi con lo stesso nome

b)

Definire metodi con la stessa firma

c)

Definire metodi con lo stesso corpo

d)

Definire metodi identifici

38.

Se si creasse una classe Libro per una biblioteca, quali potrebbero essere suoi oggetti?

a)

I promessi sposi e Il signore degli anelli

b)

Romanzo e fumetto

c)

Numero di pagine e genere

d)

Scaffale e reparto

39.

Qual è la differenza tra variabili statiche e di istanza?

a)

Le prime sono comuni a tutti gli oggetti, per le seconde ogni oggetto ha una sua copia

b)

Per le prime ogni oggetto ha una sua copia, le seconde sono comuni a tutti gli oggetti

c)

Le prime sono di tipo primitivo, le seconde di tipo classe

d)

Le prime sono di tipo classe, le seconde di tipo primitivo

40.

E' necessario che una variabile sia inizializzata?

a)

Solo se è una variabile locale

b)

Sì, sempre

c)

No, mai

d)

Solo se è una variabile di istanza

41.

L'istruzione "Libro obj;" ha lo scopo di:

a)

Creare una variabile obj che conterrà un oggetto di tipo Libro

b)

Allocare la memoria per un oggetto di tipo Libro

c)

Allocare la memoria per un oggetto di tipo Libro e inserire il riferimento nella variabile obj

d)

Genera un errore

42.

SCRIVI TU!
Data una classe Libro, caratterizzata dalla sola istruzione "int numeroPagine", e un oggetto obj di tipo Libro, quale istruzione permette di modificare il valore della variabile numeroPagine a 10?

(a)  

43.

Quando viene invocato il metodo costruttore?

a)

All'utilizzo della keyword new

b)

Alla creazione della variabile che conterrà l'indirizzo dell'oggetto

c)

Scrivendo nomeOggetto.nomeClasse()

d)

Al caricamento di una classe in memoria

44.

E' molto comune che il concetto di costruttore sia abbinato a quello di:

a)

Overloading

b)

Overriding

c)

Metodi astratti

d)

Metodi statici

45.

Cosa stampa questo codice?

a)

0

b)

10

c)

Genera un errore

d)

La stringa vuota

46.

E' possibile avere un oggetto per cui è stata creata la variabile che conterrà l'indirizzo di memoria, ma per il quale non è stata allocata la memoria per l'oggetto?

a)

Sì e la variabile conterrà un riferimento a null

b)

No, mai

c)

Sì e la variabile sarà vuota

d)

Sì, ma la variabile deve essere inizializzata con un indirizzo di memoria a scelta

47.

La tecnica principale per l'incapsulamento è:

a)

Dichiarare le variabili di istanza private

b)

Dichiarare i metodi privati

c)

Implementare i metodi equals, clone e toString

d)

Creare oggetti privati

48.

Una variabile dichiarata protected:

a)

Può essere acceduta direttamente dall'interno dello stesso package e ovunque dalle classi figlie

b)

Può essere acceduta direttamente solo dall'interno della classe

c)

Non può mai essere acceduta direttamente

d)

Può essere acceduta direttamente da ovunque

49.

Che legame c'è tra ereditarietà e incapsulaemento?

a)

Nessuno

b)

L'incapsulamento è un tipo di ereditarietà

c)

L'ereditarietà è un tipo di incapsulamento

d)

Sono sinonimi dello stesso concetto

50.

Tramite ereditarietà, vengono ereditati:

a)

Tutti gli elementi della classe padre, ma non tutti possono essere acceduti

b)

Tutti gli elementi della classe padre e tutti possono essere acceduti

c)

Solo variabili e metodi di istanza

d)

Solo variabili e metodi statici

51.

Secondo questa gerarchia, quali classi ereditano da Persona?

a)

Tutte

b)

Solo sportivo

c)

Solo Nuotatore, Motociclista e Calciatore

d)

Solo Motociclista

52.

Com'è detta la classe Calciatore rispetto a Persona?

a)

Discendente

b)

Figlia

c)

Padre

d)

Antenato

53.

Affinché venga garantito l'incapsulamento, come viene effettuato l'accesso alle variabili di istanza ereditate?

a)

Attraverso i metodi get e set

b)

Attraverso la notazione nomeOggetto.nomeVariabile

c)

Essendo private, non è possibile accedervi in nessun modo

d)

Attraverso degli appositi metodi statici

54.

Per richiamare la definizione del metodo nel padre, si usa la keyword:

a)

Super

b)

This

c)

Throw

d)

New

55.

Con overriding si intende:

a)

La ridefinizione di un metodo (già definito nella classe padre) nella classe figlia

b)

La definizione di un metodo con lo stesso nome, ma con firma differente

c)

La definizione di un metodo con tipo covariante

d)

Un sinonimo di polimorfismo

56.

Quale affermazione sulla classe Object è falsa?

a)

Non è possibile effettuare overriding dei metodi della classe Object

b)

E' antenata di ogni classe

c)

Permette di ereditare metodi come clone e toString a tutte le classi

d)

Viene usato come parametro per ricevere come argomento qualsiasi oggetto

57.

Ogni oggetto quanti tipi ha?

a)

Uno, la sua classe

b)

Due, tipo statico e dinamico

c)

Due, tipo di valore e di riferimento

d)

Uno, tipo di riferimento

58.

Con binding dinamico si intende:

a)

Che l'associazione tra invocazione e definizione del metodo avviene a run-time

b)

Che l'associazione tra invocazione e definizione del metodo avviene a compile-time

c)

Che il tipo dinamico di un oggetto è impiegato per l'invocazione dei metodi

d)

Che il tipo dinamico di un oggetto è utilizzato per accedere alle variabili di istanza

59.

"Libro obj = new Romanzo()": questa istruzione che tipo di oggetto crea?

a)

Di tipo statico Libro e di tipo dinamico Romanzo

b)

Di tipo statico Romanzo e di tipo dinamico Libro

c)

Di tipo Libro

d)

Di tipo Romanzo

60.

L'invocazione "obj.display()" cosa stampa?

a)

Every student is a human

b)

Every human is not a student!

c)

Non stampa nulla

d)

Every student is a human
Every human is not a student!

61.

In quale caso l'istruzione "obj.display()" darebbe errore?

a)

Nel caso in cui la classe Human non avesse il metodo display

b)

Nel caso in cui la classe Student non avesse il metodo display

c)

L'istruzione dà sempre errore

d)

L'istruzione non può mai dare errore

62.

Dato l'oggetto Shape obj = new Traiangle(), come si può accedere all'attributo base?

a)

Effettuando downcasting a Traiangle e poi accedendovi direttamente

b)

Essendo una variabile di istanza del suo tipo dinamico, semplicemente accedendovi direttamente

c)

Non è possibile in nessun caso

d)

Utilizzando il metodo getBase()

63.

Lo scopo di un metodo astratto è:

a)

Rimandare la definizione di un metodo alle classi figlie

b)

Accettare valori di qualsiasi tipo primitivo

c)

Accettare valori di qualsiasi tipo classe

d)

Permettere di definire metodi con stesso nome ma differente firma

64.

Il modificatore abstract può essere indicato insieme a:

a)

public

b)

final

c)

static

d)

private

65.

Quale affermazione su una classe che estende una classe astratta è vera?

a)

Può essere concreta solo se implementa tutti i metodi astratti della classe padre

b)

Deve essere anch'essa astratta

c)

Deve essere necessariamente concreta

d)

Può essere concreta solo se implementa nuovi metodi rispetto alla classe padre

66.

Quale caratteristica delle classi astratte è falsa?

a)

Si possono indicare costruttori astratti

b)

Non è possibile creare oggetti a partire da essa

c)

Si può usare come tipo statico di un oggetto

d)

Si possono indicare anche variabili di istanza

67.

Un'interfaccia Java può contenere:

a)

Costanti pubbliche

b)

Metodi concreti

c)

Variabili di istanza

d)

Metodi privati

68.

Scrivere all'interno di un'interfaccia "int a", quale keyword sottointende?

a)

Tutte le altre risposte sono corrette

b)

public

c)

static

d)

final

69.

Quale combinazione non è possibile effettuare in Java?

a)

Un'interfaccia implementa un'altra interfaccia

b)

Più classi implementano la stessa interfaccia

c)

Una classe implementa più interfacce

d)

Una classe astratta implementa un'interfaccia

70.

Le precondizioni contengono:

a)

L'insieme di condizioni che devono sussistere prima dell'esecuzione del metodo

b)

L'insieme delle situazioni verificate al termine dell'esecuzione del metodo

c)

L'insieme delle istruzioni eseguite prima dell'esecuzione di un metodo

d)

L'insieme delle condizioni che il metodo verifica prima di eseguire il proprio corpo

71.

Gli ArrayList sono:

a)

Array dinamici

b)

Array statici

c)

Array multidimensionali

d)

Array di liste

72.

ArrayList è una classe discendente/figlia di:

a)

List, Collection, Iterable

b)

List, Set, Collection

c)

Array, List, Collection

d)

Collection, Iterable

73.

Rispetto agli array statici, gli ArrayList:

a)

Sono meno efficienti

b)

Sono sempre peggiori

c)

Sono sempre migliori

d)

Sono meno flessibili

74.

Quale NON è una differenza tra errori ed eccezioni?

a)

Le eccezioni sono rilevate a compile-time, gli errori a run-time

b)

Gli errori non sono recuperabili, le eccezioni sì

c)

Gli errori riguardano l'esaurimento di risorse, le eccezioni problemi di codice

d)

Tutte le altre risposte sono corrette

75.

Quale classe di eccezioni è più generica?

a)

Exception

b)

RuntimeException

c)

Error

d)

ArithmeticException

76.

Le istruzioni del blocco finally vengono eseguite:

a)

Sempre

b)

Solo se non si entra nel blocco catch

c)

Solo se si entra nel blocco catch

d)

Solo se si entra nel blocco try

77.

E' possibile indicare più catch per il medesimo try?

a)

Sì, purché sia indicato un differente tipo di eccezione

b)

Sì, sempre

c)

No, mai

d)

Sì, purché uno dei catch riguardi la classe Exception

78.

La keyword throw serve a:

a)

Lanciare un'eccezione, anche dove Java non la rileva automaticamente

b)

Catturare un'eccezione

c)

Indicare che un metodo potrebbe sollevare un certo tipo di eccezioni

d)

Può essere utilizzato alternativamente a try

79.

Il metodo getClass permett di:

a)

Accedere al tipo dinamico di un oggetto

b)

Accedere al tipo statico di un oggetto

c)

Accedere al valore di una variabile di istanza di tipo oggetto

d)

Accedere all'elenco di ascendenti di un oggetto

80.

Un package può essere visto come:

a)

Una cartella

b)

Una classe

c)

Un file

d)

Un progetto