PDA

View Full Version : [Java] buon manuale italiano


Ansem_93
23-05-2010, 17:04
Raga quest'estate volevo avvicinarmi a java,visto che uno dei linguaggi di programmazione più usati.
ho già qualche conoscenza di pascal,che trovo molto semplice(purtroppo non ho ancora fatto la ricorsione:( ) quindi spero di riuscire a capirci qualcosa in java con altrettanta facilità
ho trovato questo qui gratuito su internet:
http://javamattone.4it.it/
qualcuno lo conosce?è buono?
altrimenti me ne consigliat qualcuno cartaceo da prendere in biblioteca?

PGI-Bis
23-05-2010, 17:16
pighizzini ferrari, dai fondamenti agli oggetti.

Ansem_93
23-05-2010, 17:32
grazie :) ho anche già controllato,ed è disponibile alla mia biblioteca :D
in alternativa c'è qualche altro buon libro da prendere sempre cartaceo o e-book?

PGI-Bis
23-05-2010, 17:35
Non l'ho mai letto ma sotto sotto sono sempre stato incuriosito dall'Horstmann. Non so se ci sia in italiano ma credo di sì.

Ansem_93
23-05-2010, 18:02
uno suo in italiano c'è di sicuro alla biblioteca(sperando che non l'abbiano preso ) però riguarda java 2 :( conviene leggerlo anche se ora siamo a java 7?

PGI-Bis
23-05-2010, 18:08
Guarda l'anno di edizione. Java 2 era il nome di Java dopo la versione 1.2 (anche Java 1.7 è un Java 2), può darsi che il libro abbia mantenuto il nome.

Ansem_93
23-05-2010, 18:16
sono del 2001/2002 i suoi due libri in biblioteca :(

PGI-Bis
23-05-2010, 19:41
Be', potresti sempre fare il corso di archeologia informatica :D.

Prova a vedere se c'è il Gosling, "The Java Programming Language", quarta edizione.

Ansem_93
23-05-2010, 20:00
Be', potresti sempre fare il corso di archeologia informatica :D.

Prova a vedere se c'è il Gosling, "The Java Programming Language", quarta edizione.
lo si trova in italiano?
comunque avevo sentito parlare anche di "core Java" e "thinking in java",sono buono?

PGI-Bis
23-05-2010, 20:21
Thinking in Java è buono se hai un mobile che traballa o il caminetto che non prende.

Core Java non l'ho letto.

Ansem_93
23-05-2010, 20:26
direi che quindi il primo non lo consideri un gran che XD
mattone su mattone invece come lo ritieni?lo trovo come pdf su internet gratuito,nel caso non trovassi i libri in biblioteca

nuovoUtente86
23-05-2010, 20:41
L' autore di Core 2 Java è appunto Horstmann (in collaborazione con Gary Cornell). Ora dovrebbe essere disponibile l' 8th edizione in 2 volumi, dal cui nome mi sembra sia sparito il "2".

Ansem_93
23-05-2010, 21:06
Raga qua ho trovato core java v7
http://books.google.it/books?id=UHphEJLQGU4C&pg=PT32&lpg=PT32&dq=core+java+italiano&source=bl&ots=Y_tru2XkNe&sig=8IYIeL-31pk5bXhFuMIHDZrT0pE&hl=it&ei=D4r5S-m5LIKgOP2onZUM&sa=X&oi=book_result&ct=result&resnum=7&ved=0CDkQ6AEwBg#v=onepage&q&f=false

mi conviene secondo voi stamparlo/cercarlo in biblioteca/aquistarlo?

vhost87
24-05-2010, 08:54
pighizzini ferrari, dai fondamenti agli oggetti.

Concordo è stato il mio docente all'università. Persona davvero in gamba (Ferrari)

Ryuzaki_Eru
24-05-2010, 09:16
Me lo ha prestato PGI-Bis, ottimo libro.

maboscol
24-05-2010, 12:56
posso unirmi al topic? anch'io vorrei iniziare il java, più per hobby che per lavoro dato che il lavoro già ce l'ho (tutta un'altra cosa però ^^), ho qualche base di programmazione dalle superiori con c/c++, pascal, addirittura qualcosa di assembly (usato per l'esame di maturità, progetto figherrimo per un caricatore di container per porti :P )...vorrei il java proprio perchè per hobby mi interessa magari fare qualche progettino software, anche stupido e col java penso che visivamente i risultati siano più immediati e quindi mi spingano a non stufarmi subito!

in un baule assieme alla lancia di longino e alcuni papiri del mar morto ho trovato questo:

http://www.apogeonline.com/libri/88-503-2068-X/scheda

dite che è ancora attuale? manco so chi e quando l'ha comprato, è quasi nuovo :lol:
sdk sono librerie o roba simile? roba vecchia? coi compilatori mi troverò male per mancanza/anzianità di istruzioni? (sparo a caso eh, non linciatemi).

insomma, ci posso fare qualcosa o lo rimetto la e aspetto mille anni che possa valere qualche migliaio di euro per rivenderlo a indiana jones?

edit: ah, leggo per giro di java ver5/6/7...ma con questa progressione che si intende? cosa cambia? io leggo sul titolo del manuale java 2 e mi fa strano ^^

PGI-Bis
24-05-2010, 14:17
Il mitico faccione di Ivor Horton. Non ha i generici quindi la parte sulle strutture dati predefinite va presa cum grano salis. Però è un bel libro, ce l'ho, si fa leggere, c'è un po' di tutto, ha tanti esempi, come inizio per me va benissimo.

maboscol
24-05-2010, 15:39
Non ha i generici quindi la parte sulle strutture dati predefinite va presa cum grano salis.

http://neonisi.com/images/items/0001/3186/Primo_vocabolario_di_latino.jpg

in che senso scusa? non ho capito :stordita:

col p2p ho trovato un manuale gratuito java5, meglio o peggio?

grazie della risposta intanto ;)

PGI-Bis
24-05-2010, 16:09
Nel passaggio da Java 1.4 a Java 1.5 (che ormai è storia) liste, mappe, alberi e via dicendo sono cambiate in un modo un po' strano. Nominalmente hanno le medesime funzioni, vale a dire che ciò che l'horton usa per per mettere e togliere cose dalle strutture dati è ancora valido, ma a quelle funzioni occorre aggiungere una "decorazione", che a volte semplifica e a volte complica le cose.

Circa il manuale grauito, trattandosi di P2P bisognerebbe prima di tutto capire se si tratti di grauito alla sorgente o grauito alla foce. Una delle due gratuità è reato.

maboscol
24-05-2010, 16:19
partendo dal presupposto che odio gli scrocconi, è gratuito alla fonte, l'avevo già visto da un link (non mi ricordo dove però) e c'era il pdf scaricabile, non è organizzato come un vero e proprio manuale, è più che altro una racolda di lezioni.

però se questa settimana vado per giro posso andare dentro una feltrinelli e vedere se trovo la dei manuali, avendo qualche titolo buono poi vado anche sul sicuro, mi seccherebbe imparare qualcosa che poi non la posso usare (usare come l'ho imparata intendo) perchè è stata modificata.

Ansem_93
24-05-2010, 16:22
comunque in conclusione i due migliori manuali oggi in italiano sono:

pighizzini ferrari, dai fondamenti agli oggetti.
Core 2 Java

giusto?

PGI-Bis
24-05-2010, 16:27
x maboscol: Guarda, per l'horton a parte il capitolo 13 il resto va ancora benissimo.

x Ansem_93: il pighizzini sicuramente, il Core 2 Java non l'ho letto ma Horstmann mi ha sempre ispirato un non so che di competente a livello pratico (in effetti è un docente e un programmatore, anche se programma per Java EE se non ricordo male, ma non si può essere perfetti).

Ansem_93
24-05-2010, 16:30
cos'è java EE?

maboscol
24-05-2010, 16:44
cos'è java EE?

enterprise edition? potrei sbagliare eh :mc:

quindi è solo sta cosa delle classi che cambia "radicalmente" (parolone voluto eh) la versione 2 di java con quelle attuali? e quando arrivo al capitolo 13 che dovrei fare? se finisco il manuale così com'è faccio fatica a compilare righe di codice? o va tutto bene e una volta finito mi informo sui cambiamenti?

edit: altra cosa...meglio compilare da console o meglio qualche ambiente "tutto incluso"? e c'è qualcosa di free da scaricare per compilare/eseguire codice?

Ansem_93
24-05-2010, 17:02
se per consolle intendi notepad o simili ti dico subito io che è una follia.
meglio usare un qualche programma che abbia incluso un compilatore che semplifica di molto la vita.
senza contare che i compilatori colorano le varie parti di testo,e fidati che è una cosa davvero molto utile

PGI-Bis
24-05-2010, 17:21
Meglio l'IDE. Ce ne sono tre gratuiti, Ecipse, Netbeans, Idea, io uso Netbeans ma si tratta comunque di tre maschi alfa nel branco degli strumenti di sviluppo integrati, uno vale l'altro.

Meglio l'ide perchè ti segnala al volo se il codice che scrivi non è corretto, vuoi per un refuso vuoi per un vero e proprio errore di sintassi e ti permette di vedere sul posto cosa può fare o non può fare una certa libreria, il che ha una sua comodità perchè in generale le librerie tendono ad avere dei nomi che ricordano vagamente le operazioni che sono in grado di fare (in inglese ovviamente).

Sì, Java EE è java enterprise edition, un'estesione della piattaforma java standard che fa storia a sè, è una pena da usare perchè è fatta più di convenzioni che di sintassi ed infatti è quello che dovete sapere nel caso in cui con Java vogliate anche lavorarci.

maboscol
24-05-2010, 18:33
si, per console intendevo scrivere con notepad e compilare a riga di comando (da console appunto...o prompt o come la volete chiamare :P )...a questo punto mi sa che scarico Idea, così a pelle mi piace e visto che hai detto che sono simili come qualità... :)

e per il resto?

quindi è solo sta cosa delle classi che cambia "radicalmente" (parolone voluto eh) la versione 2 di java con quelle attuali? e quando arrivo al capitolo 13 che dovrei fare? se finisco il manuale così com'è faccio fatica a compilare righe di codice? o va tutto bene e una volta finito mi informo sui cambiamenti?

poi non stresso più e mi metto al lavoro, promesso :Prrr:

xool
25-05-2010, 16:14
Io mi sto trovando molto bene con il:

Manuale di Java 6 - Claudio De Sio Cesari - Hoepli

veramente ben fatto. Dello stesso autore puoi trovare una versione gratuita su Java 5 però sul suo sito che trovi facilmente googlando

PGI-Bis
25-05-2010, 16:21
quindi è solo sta cosa delle classi che cambia "radicalmente" (parolone voluto eh) la versione 2 di java con quelle attuali? e quando arrivo al capitolo 13 che dovrei fare? se finisco il manuale così com'è faccio fatica a compilare righe di codice? o va tutto bene e una volta finito mi informo sui cambiamenti?

Arrivato al capitolo sulle collezioni devi tener conto di:

http://java.sun.com/docs/books/tutorial/collections/index.html

Nella vastità di argomenti trattati dall'horton si tratta comunque di una pagliuzza: tutto quello che viene prima e tutto quello che viene dopo è perfettamente valido.

Aggiungo: il codice che trovi nell'horton è compilabile ed eseguibile così com'è. Quello che capita usando l'ultima versione è che il compilatore a volte emetterà un avvertimento. Si tratta peraltro di un avverimento che non denota alcun problema dei programmi. E' una questione un po' cervellotica ma mentre prima il linguaggio non dava garanzie circa la correttezza formale di alcune parti del codice sorgente, adesso può darla. La cosa però non comporta conseguenze sul programma: i programmi che erano corretti prima sono corretti anche adesso e quelli che erano sbagliati prima sono parimenti sbagliati adesso.

maboscol
25-05-2010, 17:50
ma quindi più che cambiamenti si parla di aggiunte? o sbaglio? :confused:

quindi invece di prendere un manuale più aggiornato mi consigli di fare con quello e, una volta terminato aggiornarmi?

PGI-Bis
25-05-2010, 18:12
L'importante è iniziare. Quello che hai è un bel libro, val la pena di leggerlo.

Aggiunte. Sì, è un'aggiunta. Di un tipo particolare (è un'aggiunta sintattica) e, in Java, direi raro (in effetti è la seconda rilevante in quindici anni, la prima risale a java 1.1 , anno di grazia 1998 e la quarta in assoluto).

Quando userai le strutture dati per fare i tuoi programmi userai quell'aggiunta.

Vai tranquillo.

maboscol
25-05-2010, 20:03
ok, grazie delle info e della pazienza, stasera ho da studiare ;)

maboscol
27-05-2010, 00:21
torno a rompere...ma non ci sono ide che faccinao solo da editor/compilatore? le ho provate tutte e tre quelle che mi hai conigliato e non ne esco, non riesco a fare manco un programmino di due righe, o mi apre un progetto con migliaia di file, mi da un pacco di errori infinito per riga....insomma, io cerco qualcosa di pacchiano ^^

a sto punto per iniziare mi sa che è davvero meglio compilare a riga di comando :mbe:

PGI-Bis
27-05-2010, 01:49
Apri Netbeans.

Menu File -> New Project

Si apre una finestra, a sinistra selezioni Java, a destra Java Application poi premi Next

Scrivi il nome che ti pare (che so, esercizi) e premi "finish"

A questo hai davanti il sorgente di un'applicazione java. Quando salvi lui compila da se. Per lanciare il programma premi il pulsante "play" verde (quello a destra del martello con la scopetta).

Cosa sia quella roba che vedi già scritta lo trovi a pagina 20.

xool
27-05-2010, 07:16
Potresti provare l'editor creato da Claudio De Sio Cesari, cerca EJE. E' molto spartano ma allo stesso tempo semplice da usare.

maboscol
29-05-2010, 13:40
allora, ho iniziato e qualche problema l'ho avuto, non col java ma con qualche errore di battitura (o traduzione) del manuale.

però dopo mezzora di scervellamento (che per carità, non fa mai male ^^) ho scoperto che c'è una cosa proprio errata, ma vorrei capire se è CAMBIATA in questi anni o è proprio scritta sbagliata:

stavo facendo un esercizio al termine del capitolo che tratta i tipi di variabili, mi servivano alcune operazioni matematiche così ne aprofitto e mi sono sforzato anche se non sempre erano necessari di usare alcuni moduli di Math.

mi serviva una potenza, seguo il manuale e scrivo Math.Po(x,y)....errore nella compilazione. provo e riprovo, penso che l'errore sia nell'errato utilizzo, niente da fare.

cerco online una qualche guida per l'utilizzo di questa funzione, insomma dopo un bel po sono riuscito a farlo funzionare con Math.pow, quindi sono due gli errori:

- .pow invece che PO
- la p minuscola invece che maiuscola

quindi ripeto, è un'errore del libro o un cambiamento?


edit: e un'altra cosa (mi secca aprire un topic per stupidaggini così :P ), non riesco ad usare la potenza di 10...sul libro vedo che scrive per esempio 5.0e2 (quindi 500), ma non posso usare sta cosa su un risultato di un'operazione? se voglio elevare alla e3 il risultato di 7-4 non posso scrivere (7-4)e3 ?non so se mi spiego :(

PGI-Bis
29-05-2010, 14:52
E' un refuso del testo, "pow" è il nome corretto.

"e" in java non è un operatore ma un simbolo dei letterali di tipo numerico in virgola mobile a doppia precisione. I "double" insomma.

Cioè se scrivo:

10.0

ho scritto un double così come l'avrei se scrivessi:

2e32

Non è il simbolo un'operazione, come potrebbe essere:

2 + 3

o

25 * 32

Quando scrivi l'esponente il linguaggio si aspetta che quella "e" faccia parte di un letterale numerico. Per questo quando lo usi in:

(2 + 3)e5

ti dice "hey, che fai?": (2 + 3)e5 non è un letterale numerico cioè non è una sequenza di caratteri che il linguaggio Java interpreta come numero, quindi non puoi metterci la "e".

Nota però che il ragionamento che fai per dire "adesso ci metto la e" non è assurdo. Effettivamente (2 + 3) è un'epressione la cui valutazione risulta essere un numero. SE e fosse un operatore allora potresti anche farlo. Ma, ripeto, in Java quella "e" non è un'operatore.

maboscol
29-05-2010, 17:10
E' un refuso del testo, "pow" è il nome corretto.

"e" in java non è un operatore ma un simbolo dei letterali di tipo numerico in virgola mobile a doppia precisione. I "double" insomma.

Cioè se scrivo:

10.0

ho scritto un double così come l'avrei se scrivessi:

2e32

Non è il simbolo un'operazione, come potrebbe essere:

2 + 3

o

25 * 32

Quando scrivi l'esponente il linguaggio si aspetta che quella "e" faccia parte di un letterale numerico. Per questo quando lo usi in:

(2 + 3)e5

ti dice "hey, che fai?": (2 + 3)e5 non è un letterale numerico cioè non è una sequenza di caratteri che il linguaggio Java interpreta come numero, quindi non puoi metterci la "e".

Nota però che il ragionamento che fai per dire "adesso ci metto la e" non è assurdo. Effettivamente (2 + 3) è un'epressione la cui valutazione risulta essere un numero. SE e fosse un operatore allora potresti anche farlo. Ma, ripeto, in Java quella "e" non è un'operatore.

quindi se volessi fare qualcosa tipo

(a+b) * 10^5

non posso usare la 'e'? è così? devo fare le due operazioni separete, la somma, 10 alla 5 e poi moltiplicarle insieme? forse non ho capito bene :mbe:

edit: ah, un'altra cosa...avendo il numero 65.3452, volendo memorizzare quello dopo la virgola come un int (quindi una variabile x=3452) come faresti? perchè io l'ho fatto ma mi sa di molto macchinoso, troppo....penso ci sia quache comando o procedura più adatta ^^

PGI-Bis
29-05-2010, 18:56
La "e" non un operatore ma denota un esponente in un letterale. Cioè se io scrivo:

10e5

non sto dicendo a Java di elevare 10 alla quinta, sto semplicemente abbreviando:

1000000

Se vuoi dire:

(a + b) * 10^5

puoi dire:

(a + b) * 1e5

Ma non puoi dire:

(a + b)e5

perchè (a + b) non è una parte di un letterale numerico che può essere seguita dalla "e".

In 65.3452 la parte che a te interessa è il resto della divisione per 65. In Java ottieni il resto con l'operatore %, quindi diresti:

double x = 65.3452 % 65;

In general per ogni double X puoi ottenere la parte dopo la virgola (che dovrebbe avere un nome, forse "frazionaria" ma non sono sicuro) dicendo:

double y = X % Math.floor(x);

Forse c'è anche un metodo precotto in Math che lo fa senza il %. Tieni conto che per questioni di rappresentazione possono venir fuori numeri strani. Dovresti usare BigDecimal se può essere un problema.

maboscol
29-05-2010, 23:44
chiaro per il discorso dell'esponente :D

grazie anche per l'esempio, in effetti è anchebanale che dividento il numero per la sua parte intera si ha comeresto la parte frazionaria...la sono stato tardo io a non pensarci :doh:

edit: no aspetta....ma come dici te, se lo applico per esempio al numero 675.783 ottengo che il risultato è un

double x = 0.783

io invece voglio proprio il numero 783

mi sa che l'unica mi rimane quella di moltiplicare il risultato dell'operazione per 1000 (in questo caso) per avere l'intero.
alla fine è come avevo fatto io solo che non avevo usato il resto ma avevo fatto con ( x - abs(x)) e moltiplicato per 1000.