Anuncio

Colapsar
No hay ningún anuncio todavía.

¿Cómo aprendo Java?

Colapsar
X
 
  • Filtro
  • Hora
  • Mostrar
Borrar todo
nuevos mensajes

  • Java ¿Cómo aprendo Java?

    Saludos amigos. Déjenme decirles que soy un absoluto ignorante cuando se trata de Java (y de muchas otras cosas que no vienen a cuento). Para mi Java era una isla por allá en alguna parte de Indonesia... y un directorio misterioso en el disco duro de mi computador. Pero recién hoy acabo de bajar un parser para convertir documentos de Mathcad en texto LaTeX.

    El parser en cuestión genera el código para un documento ¿independiente?, es decir, no apto para copiar y pegar en el editor del foro, aparte de que cierta sintaxis no parece ser la correcta, como la definición de matrices por ejemplo, lo que me hace pensar que el programa está hecho quizá para una versión mas vieja de LaTeX.

    Tengo los fuentes y los voy a querer modificar, poco a poco, sin prisa, para adaptarlos al editor del foro.

    (y por fin la pregunta) ¿Qué podrían aconsejarme para aprender Java? Tengo buena base en programación, eso no será un problema. El parser que mencioné es un archivo .jar, obviamente con contenido binario pues al mirarlo con el bloc de notas sólo hay cuadritos y símbolos raros. ¿Necesitaré conseguir/comprar algún compilador?

    Gracias por cualquier consejo,

    AA
    Don't wrestle with a pig in the mud. You'll both get dirty, but the pig will enjoy it. - Parafraseando a George Bernard Shaw

  • #2
    Re: ¿Cómo aprendo Java?

    Puedes usar un programa llamado Eclipse. Busca un buen tutorial en internet, ahí hay harto que leer.
    Jorge López

    Comentario


    • #3
      Re: ¿Cómo aprendo Java?

      Si son solo cuadritos y simbolos raros en realidad no tienes los fuentes, tienes los archivos compilados. Los archivos fuentes tienen extensión . java y los compilados .class, para trabajar con Java primero es que te compres un buen libro sobre Java y un buen IDE sería Eclipse (IBM) o JDeveloper (Oracle).

      Comentario


      • #4
        Re: ¿Cómo aprendo Java?

        Conociendo algo basico de programacion, no vas a encontrar demasiados problemas con el Java, excepto las tres-cuatro tonterias propias que tienen todos los lenguajes de programación y su forma concreta de escribir los codigos.

        El problema que te vas a encontrar, quizas sea entender el codigo y el porque hizo el programador original ese codigo sobre todo si viene mal documentado, aun asi, si las modificaciones van a ser minimas, no deberias encontrate con muchos problemas.

        Si lo que quieres es llegar a niveles mas avanzados y hacer aplicaciones propias en Java, pues si, te tocara leer bastantes mas tutoriales, y sobre todo programar trescientas mil tonterias que es como se aprende a programar. Como te dijeron, utiliza el Eclipse para editar el fuente.

        Comentario


        • #5
          Re: ¿Cómo aprendo Java?

          Wenas ... ahí tienes un libro: http://www.scribd.com/doc/6975024/El...-Libro-Espanol

          ... yo he auto-aprendido un pokito a base de trastear después de un cursillo muy básico que daban en mi uni, es un lenguaje POO ( ó OOP ... como sea), o sea, de programación orientado a objetos ... y me costó un tiempo pillar la idea general del manejo, pero la verdad es que luego no parece complicado pues prácticamente se repite siempre lo mismo, ya que en java todo son objetos de clases.

          Las Clases son como una especie de moldes a partir de los cuales puedes generar muchos objetos. Y las clases siempre tienen las tres mismas partes: atributos, constructores y métodos. Weno, hay otro tipo de clases llamadas Interfaces que sólo tienen métodos (funciones) y además esos métodos sólo están declarados, sin darles ninguna definición (o sea "función(argumentos);" ... amen), y nada más, están prácticamente vacíos.

          Cuando son Clases normales se las declara con la palabra "Class" seguido del nombre de la clase. Cuando son interfaces se usa la palabla "Interface".

          Los Atributos son las variables de tipo int, double, float, etc ... y también pueden serlo otros objetos de otro "tipo" de clase.

          Los Constructores son simplemente métodos(funciones) que tienen obligatoriamente el mismo nombre que el de la clase, y se distinguen entre éllos por los parámetros o argumentos que pidan. Los interfaces tampoco tienen constructores. Cuando se crea un objeto de una clase se hace así:

          NOMBRE_CLASE nombre_objeto = new NOMBRE_CLASE(argumentos);

          El primer NOMBRE_CLASE hace referencia a la clase del objeto, y el 2º lo hace a su constructor que, según los argumentos que se le pasen, se creará un objeto u otro de la misma clase (o sea, del mismo tipo).

          Los atributos suponen ser las características de los objetos, y los métodos los comportamientos.

          Una forma habitual de acceder a un comportamiento común a múltiples objetos diferentes (de distintas clases) es a través de los interfaces ( que para éllo deben ser implementados en la clase de los objetos con la palabra "implements") y cuyos métodos declarados en el interface, son definidos particularmente en las distintas clases, cada uno a su manera. O sea, si tengo los objetos pájaro, gato y perro (de distintas clases) y los 3 tienen la misma capacidad de hablar, cada uno lo hará a su manera.

          El uso de los interfaces se debe a que en java no existe la herencia múltiple, sólo se puede heredar de una sola clase. O sea, la clase padre puede tener varias clases hijas, pero las clases hijas no pueden tener varias clases padre. Así que gracias a los interfaces se arregla el problema, ya que la clases hijas pueden implementar varios interfaces. Para heredar se emplea la palabra "extends".

          Por ejemplo:

          public Class MiClase extends MiOtraClase implements accionhablar, accioncorrer, accionSaltar{

          //atributos
          int x, y;
          Color c;

          //Constructores
          public MiClase(){
          }
          public MiClase(int x){
          this.x = x;
          }
          public MiClase(int x, Color c){
          this.x = x;
          this.c = c;
          }

          //Métodos
          public String hablar(String gemido){
          return gemido;
          }
          public void correr(int x){
          this.x = x;
          }
          public void saltar(){
          this.y = (int)(Math.Random()*50);
          }

          // ... otros métodos

          }


          "this" es una palabra reservada que equivale a un objeto perteneciente a la misma clase en la que se usa (no hace falta crearlo). Y "super" es otra con la que se hace referencia a la clase de la que se hereda. Cuando se hereda, se heredan todos los atributos y métodos de la clase padre.

          //Clases interface
          public interface accionhablar{
          public String hablar(String gemido);
          }

          public interface accioncorrer{
          public void correr(int x);
          }

          public interface accionsaltar{
          public void saltar();
          }

          En otra clase se puede crear un Vector de objetos diferentes, y en otra clase ( o en la misma), mediante un método que tenga un bucle for que vaya recorriendo ese vector, se puede llamar al método común que los objetos tienen.

          Vector v = new Vector();
          v.add(pajaro);
          v.add(gato);
          v.add(perro);

          for(int i = 0; i<v.size() ; i++){
          accionSaltar ac_slt = (accionSaltar)v.elementAt(i);
          ac_stl.saltar();
          }

          Lo del paréntesis (accionSaltar) es un "casting", porque al sacar el objeto del vector hay que volver a bautizarlo del tipo de objeto que es (objeto de la clase Pajaro), o del tipo de interface que implementa si sólo se quiere acceder a ese método saltar().

          Y esto es a lo bestia la idea general ... luego hay clases abstractas, Threads (hilos), etc ... y muchos más detalles que podrás ver en el libro.

          Un saludo.
          Última edición por Xel; 08/06/2010, 03:13:22.

          Comentario


          • #6
            Re: ¿Cómo aprendo Java?

            Hola, cuando hicimos Java, usamos un programa que se llama Netbeans, está bastante bien porque a la mínima que te dejas algo, cometes un error (aunque sea no cerrar un paréntesis) o cualquier chorradita, te avisa. Luego, en internet hay un montón de tutoriales para aprender. Te dejo aquí la bibliografia que nos recomendaron, ok?

            Libros
            C.S. Horstmann, & G. Cornell, "Core Java 2" Vol. I - Fundamentos (Pearson Prentice Hall, 2005).

            R.L. Burden, & J.D. Faires, "Numerical Analysis" (Thomson Brooks/cole, 2004).

            W.H. Press, S.A. Teukolsky, W.T. Vetterling, & B.P. Flannery, "Numerical Recipes: The Art of Scientific Computing, 3rd Edition" (Cambridge University Press, 2007).

            Página web
            Tutorial on-line: http://java.sun.com/docs/books/tutorial/


            Supongo que si ya sabes programar en otro lenguaje no te costará demasiado!

            Saludos!
            \sqrt\pi

            Comentario


            • #7
              Re: ¿Cómo aprendo Java?

              ... vaya, por fín empiezo a tener una visión general de este mundito del java ...

              ... un saludo.

              Comentario

              Contenido relacionado

              Colapsar

              Trabajando...
              X