JavaRush /Java Blog /Random-IT /I problemi più comuni di chi inizia ad imparare Java

I problemi più comuni di chi inizia ad imparare Java

Pubblicato nel gruppo Random-IT
Livello di conoscenza richiesto per comprendere l'articolo: principiante. Stai studiando la ricerca sulla sintassi Java e sei più vicino ai suoi livelli iniziali. I problemi più comuni di chi inizia ad imparare Java - 1Hai appena iniziato a imparare Java. Sei bombardato da termini come da una cornucopia. Sei carico di tonnellate di informazioni tecniche e talvolta ti confondi in tre pini. Credimi, visto che ti sei già dedicato alla programmazione, SARÀ SEMPRE COSÌ (in questo momento, una risata minacciosa risuona fuori campo, e una voce tranquilla, interrotta a metà frase, sussurra “Scappa... salvati prima è troppo tardi..."). I bug ti perseguiteranno per il resto della tua vita di programmazione, anche se sei il miglior sviluppatore. Tuttavia, questo non è affatto così spaventoso come sembra.
Se hai appena iniziato a imparare JavaRush, molto probabilmente hai già riscontrato i problemi sollevati nell'articolo. In ogni caso, saremo lieti di ricevere commenti che descrivano i problemi che hai avuto nei tuoi primi mesi di apprendimento di Java.

Problema di livello 0: confusione con l'operatore di confronto (==) e l'operatore di assegnazione (=).

Questo è un problema molto comune per chi passa da altri linguaggi di programmazione. E in generale, fin dalle scuole elementari ci siamo abituati al fatto che (=)questo è un segno di uguale. Un semplice trucco che può essere utilizzato per ricordare è questo: se sai che ti interessa solo uno dei valori (assegni l'uno all'altro) usi un solo =segno " ", altrimenti se ti interessano tutte le variabili e valori (li confronti) hai bisogno di un doppio ==segno " ".

Problema: utilizzare l'operatore di confronto (==) per testare l'equivalenza delle stringhe

Cosa fare: ricordare che nessun oggetto Java può essere verificato per l'equivalenza utilizzando(==) , poiché questo operatore è progettato per verificare l'uguaglianza dei tipi primitivi.
I problemi più comuni di chi inizia ad imparare Java - 2
Per gli oggetti è necessario utilizzare il file .equals(). E Stringnel linguaggio Java non è altro che un oggetto (e immutable).
Un oggetto contrassegnato come Immutable è un oggetto il cui stato non può essere modificato dopo la creazione. In Java , ciò significa che tutti i campi di istanza di una classe sono contrassegnati come finale sono primitivi (o anche immutable).

Problema: concatenazione di stringhe in un ciclo

Non provarlo tu stesso! Ogni volta che le stringhe vengono concatenate, viene creato un nuovo oggetto String(come abbiamo scoperto sopra, le stringhe immutablesono immutabili). Ad un certo punto esaurirai la memoria o il programma inizierà a impiegare troppo tempo per essere completato. Soluzione. Utilizzare StringBuilderinvece Stringquando si concatena il contenuto in un ciclo. La classe StringBuilderviene utilizzata quando è necessario apportare molte modifiche a una stringa di caratteri. E tali linee, a differenza di String, non lo sono immutable.

Problema: NullPointerException

Questo tipo di eccezione si verifica quando proviamo a utilizzare un puntatore nullo nullquando in realtà abbiamo bisogno di un oggetto reale.
Tutti i tipi primitivi hanno valori predefiniti. Quindi, y intè 0e y booleanè false. Il valore predefinito di qualsiasi tipo di riferimento, ovvero degli oggetti, è null. Non è un oggetto o un tipo, è un valore speciale. Il che significa essenzialmente “qui non c’è niente”.
I problemi più comuni di chi inizia ad imparare Java - 3
Cosa fare: se il tuo codice è scritto in modo tale che ad un certo punto il tuo oggetto possa accettare il valore null, devi aggiungere un "check for null", soprattutto se non stai creando tu stesso l'oggetto. Ricorda inoltre che è meglio restituire raccolte vuote piuttosto che un insieme di nullfile . Sarebbe anche bello aggiungere la convalida per getter e setter.

Problema: per qualche motivo il ciclo if / while / for non funziona

if (something.equals («что-то еще»)); {// <---- корень зла!!!
     System.out.println («Почему я не работаю???»);
}
Cosa c'è che non va qui? È semplice: un punto e virgola in più ha rovinato il sangue di centinaia di migliaia di programmatori Java alle prime armi. Beh, non ne avrai bisogno dopo if (). Dal punto di vista del linguaggio, tale sintassi è abbastanza accettabile, quindi il compilatore non se ne lamenterà. Ma termina l'istruzione condizionale e il codice all'interno del blocco {}non soddisferà mai la condizione di cui sopra.
I problemi più comuni di chi inizia ad imparare Java - 4
Soluzione: ricordare la logica di progettazione. Il segno “ ;” indica la fine di un certo blocco, ma qui tutto è solo all'inizio.

Problema: tentativo di accedere alle variabili membro non statiche da metodi statici (come main)

Soluzione . Questo problema è legato alla comprensione del concetto stesso static. Se un metodo è contrassegnato con questa parola, significa che non è necessario istanziare la classe per chiamare il metodo principale. Quindi la soluzione è avere una buona conoscenza della “statica” e comprenderne l’essenza.

Problema: provare a reinventare la ruota sviluppando librerie e strumenti già esistenti

Soluzione. In realtà non è un grosso problema. Per un principiante, questo è più un esercizio utile. Tuttavia, se vuoi concentrarti sul risultato, ad esempio creando un comodo database di abbonati, la ricerca di un abbonato nella rubrica è solo uno dei risultati della tua applicazione. In questo caso non è necessario scrivere un algoritmo di ricerca binaria. Utilizzane uno esistente (ti assicuriamo che qualcuno lo ha già scritto prima di te ed è nelle librerie standard). Quindi studia le librerie standard Java nella documentazione Oracle. Impara a Google, abituati a leggere Stack Overflow e fai domande sulla guida JavaRush ! ...Naturalmente questi non sono tutti i problemi dei principianti. Descrivi il tuo nei commenti! Sei interessato a leggere articoli relativi a Java? Unisciti al gruppo di sviluppatori Java . Ci sono molte cose interessanti qui.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION