Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Vorrei imparare il java ma non capisco bene alcune cose sul codice

    Salve a tutti, stavo cercando di imparare il java, essendo il mio primo linguaggio di programmazione ad oggetti non capisco molto bene alcune cose sul codice, sto studiando sul libro scaricabile gratuitamente "Claudio De Sio Cesari --- Object Oriented && Java 5 (II Edizione)" e nonostante mi trovi bene alcune cose mi rimangono un pochino ostiche, per farvi capire prendo un semplice esercizio dal libro in questione:
    codice:
    public class Esercizio3A {
        public static void main (String args[]) {
            int a = 5, b = 3;
            double r1 = (double)a/b;
            System.out.println("r1 = " + r1);
            char c = 'a';
            short s = 5000;
            int r2 = c*s;
            System.out.println("r2 = " + r2);
            int i = 6;
            float f = 3.14F;
            float r3 = i + f;
            System.out.println("r3 = " + r3);
            double r4 = r1 - r2 - r3;
            System.out.println("r4 = " + r4);
           }
        }
    Si tratta, come avrete capito di un semplice codice che divide, moltiplica somma e sottrae dei numeri.
    Io capisco la parte di codice che comanda le operazioni tuttavia le prime due righe (anche studiando il libro) non mi sono chiare, capisco che servono per "aprire il discorso" ma non capisco precisamente come scriverle, sono sempre uguali per ogni codice o cambiano di volta in volta?

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Vorrei imparare il java ma non capisco bene alcune cose sul codice

    Originariamente inviato da mygametech
    Io capisco la parte di codice che comanda le operazioni tuttavia le prime due righe (anche studiando il libro) non mi sono chiare, capisco che servono per "aprire il discorso" ma non capisco precisamente come scriverle, sono sempre uguali per ogni codice o cambiano di volta in volta?
    A cosa ti riferisci? Alla dichiarazione della classe e al metodo main?
    Il metodo main è sempre quello:

    public static void main(String[] args) { ... }

    ed è il punto di ingresso del tuo programma.

    La dichiarazione della classe cambia ovviamente (a partire dal nome).
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613

    Re: Vorrei imparare il java ma non capisco bene alcune cose sul codice

    Originariamente inviato da mygametech
    Salve a tutti, stavo cercando di imparare il java, essendo il mio primo linguaggio di programmazione ad oggetti non capisco molto bene alcune cose sul codice, sto studiando sul libro scaricabile gratuitamente "Claudio De Sio Cesari --- Object Oriented && Java 5 (II Edizione)" e nonostante mi trovi bene alcune cose mi rimangono un pochino ostiche, per farvi capire prendo un semplice esercizio dal libro in questione:
    codice:
    public class Esercizio3A {
        public static void main (String args[]) {
            int a = 5, b = 3;
            double r1 = (double)a/b;
            System.out.println("r1 = " + r1);
            char c = 'a';
            short s = 5000;
            int r2 = c*s;
            System.out.println("r2 = " + r2);
            int i = 6;
            float f = 3.14F;
            float r3 = i + f;
            System.out.println("r3 = " + r3);
            double r4 = r1 - r2 - r3;
            System.out.println("r4 = " + r4);
           }
        }
    Si tratta, come avrete capito di un semplice codice che divide, moltiplica somma e sottrae dei numeri.
    Io capisco la parte di codice che comanda le operazioni tuttavia le prime due righe (anche studiando il libro) non mi sono chiare, capisco che servono per "aprire il discorso" ma non capisco precisamente come scriverle, sono sempre uguali per ogni codice o cambiano di volta in volta?
    Le prime due righe descrivono una classe ed un metodo, che sono due concetti basilari della programmazione ad oggetti, quindi evidentemente nel tuo studio non hai ancora trattato la programmazione ad oggetti, è così? Se è così, se quello che segui è un buon libro il significato delle due righe ti verrà spiegato più avanti e per ora puoi limitarti a prenderle "per buone", considerandole come il punto da cui inizia l'esecuzione del programma.
    effeffe

  4. #4
    Si esatto! a ccosa servono queste dichiarazioni ai fini del codice?

  5. #5

    Re: Re: Vorrei imparare il java ma non capisco bene alcune cose sul codice

    Originariamente inviato da Kaamos
    Le prime due righe descrivono una classe ed un metodo, che sono due concetti basilari della programmazione ad oggetti, quindi evidentemente nel tuo studio non hai ancora trattato la programmazione ad oggetti, è così? Se è così, se quello che segui è un buon libro il significato delle due righe ti verrà spiegato più avanti e per ora puoi limitarti a prenderle "per buone", considerandole come il punto da cui inizia l'esecuzione del programma.
    Hai ragione! in effetti leggendo il sommario del libvro mi sono accorto che il capitolo "object Orientation" si trova più avanti!

  6. #6
    ci sono tuttavia alcune cose che non mi sono ancora del tutto chiare: ad esempio alla quarta riga dove c'è double non riesco a capire perchè esso poi viene riscritto tra parentesi, non basta fare la divisione come tutte le altre operazioni?
    mentre alle righe 6-7-8 abbiamo usato prima char, presumo per memorizzare la variabile int a che valeva 5 (se è giusta la mia affermazione non bastava richiamare int a direttamente? perchè abbiamo dovuto memorizzare un dato già memorizzato?), poi abbiamo fatto la moltiplicazione di c ed s (se non sbaglio il risultato di 5 per 5000 non è 485000 cosa che invece esce fuori dal codice, ne concludo che quindi c'è qualcosa che ancora mi è oscuro)

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Originariamente inviato da mygametech
    ci sono tuttavia alcune cose che non mi sono ancora del tutto chiare: ad esempio alla quarta riga dove c'è double non riesco a capire perchè esso poi viene riscritto tra parentesi, non basta fare la divisione come tutte le altre operazioni?
    mentre alle righe 6-7-8 abbiamo usato prima char, presumo per memorizzare la variabile int a che valeva 5 (se è giusta la mia affermazione non bastava richiamare int a direttamente? perchè abbiamo dovuto memorizzare un dato già memorizzato?), poi abbiamo fatto la moltiplicazione di c ed s (se non sbaglio il risultato di 5 per 5000 non è 485000 cosa che invece esce fuori dal codice, ne concludo che quindi c'è qualcosa che ancora mi è oscuro)
    Il "tipo" fra parentesi è un casting, una conversione forzata da un tipo ad un'altra, l'hai studiato? Se è presentato come esempio spero sia anche spiegato...

    'a' non è la variabile chiamata a ma il carattere 'a', i singoli apici indicano i caratteri, non sono numeri (almeno non concettualmente). E comunque le variabili si usano scrivendo il solo identificatore (a) non il tipo e l'identificatore (int a). Il tipo si specifica solo nella dichiarazione.

    I caratteri possono essere poi usati anche come numeri, quindi c non contiene 5 ma il valore corrispondente al carattere 'a'.

    Permettimi di dire che o tu non stai seguendo bene il libro o quest'ultimo lascia a desiderare...
    effeffe

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Non per essere scortese ma sono domande a cui puoi trovare risposta nelle prime pagine di qualunque manuale Java...

    double r1 = (double)a/b;

    Il cast a double è necessario perché a e b sono interi. La divisione tra interi da un intero (tronca). Forzando a ad essere temporaneamente un double fai fare la divisione in virgola mobile.

    char c = 'a'; non ha nulla a che fare con la variabile a. Semplicemente è una variabile che contiene il carattere 'a'.

    ecc ecc
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  9. #9
    ok di sicuro non sono un genio della programmazione e se non capisco alcune cose non è tutta colpa del libro, tuttavia voi avreste qualche consiglio su buone guide o libri che possono essere trovati e scaricati gratuitamente da internet? avevo trovato anche "java mattone dopo mattone" ma non so se è buono...

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Originariamente inviato da mygametech
    ok di sicuro non sono un genio della programmazione e se non capisco alcune cose non è tutta colpa del libro, tuttavia voi avreste qualche consiglio su buone guide o libri che possono essere trovati e scaricati gratuitamente da internet? avevo trovato anche "java mattone dopo mattone" ma non so se è buono...
    Se cerchi su questo forum e in generale su internet troverai risposte fino alla nausea, comunque per restare nel gratuito puoi cominciare dai tutorial Oracle, secondo me la miglior risorsa gratuita in rete sull'argomento: http://docs.oracle.com/javase/tutorial/

    Ed usa risorse in inglese.
    effeffe

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.