Empezando con Java

Muy buenas quiero empezar a programar en Java y vengo a preguntaros que manuales online y que libros fisicos son los mas adecuados para comenzar con este gran lenguaje

Un saludo y muchas gracias ^_^
El libro "Java 2 - Curso de Programación (3ª Edición)" de la editorial Ra-Ma. Es un buen tochaco, unas 900 páginas. Incluye un CD con ejemplos y en cada tema te resuelve unos cuantos problemas y te propone otros.
Ealdor escribió:El libro "Java 2 - Curso de Programación (3ª Edición)" de la editorial Ra-Ma. Es un buen tochaco, unas 900 páginas. Incluye un CD con ejemplos y en cada tema te resuelve unos cuantos problemas y te propone otros.

¿Cuánto puede costar? :D
Rigle escribió:
Ealdor escribió:El libro "Java 2 - Curso de Programación (3ª Edición)" de la editorial Ra-Ma. Es un buen tochaco, unas 900 páginas. Incluye un CD con ejemplos y en cada tema te resuelve unos cuantos problemas y te propone otros.

¿Cuánto puede costar? :D

Ni idea, a mi me lo dieron en un cursillo que hice (junto con otro de servlets y struts).
Rigle escribió:
Ealdor escribió:El libro "Java 2 - Curso de Programación (3ª Edición)" de la editorial Ra-Ma. Es un buen tochaco, unas 900 páginas. Incluye un CD con ejemplos y en cada tema te resuelve unos cuantos problemas y te propone otros.

¿Cuánto puede costar? :D


Si es el que creo yo unos 40 pavos. Yo personalmente creo que esos libros son unos tochos infumables de cara a aprender de cero, sobretodo si la experiencia previa en programación es pobre. Recomiendo muchísimo más buscar algún curso online que los hay casi gratuitos.
Pues yo realmente os recomiendo "Piensa en Java" de Bruce Eckel, en su página web se pueden descargar gratuitamente (en inglés solamente). Es un libro MUY bueno y que abarca prácticamente todo lo importante de java.

Un saludo.
Sepho escribió:Pues yo realmente os recomiendo "Piensa en Java" de Bruce Eckel, en su página web se pueden descargar gratuitamente (en inglés solamente). Es un libro MUY bueno y que abarca prácticamente todo lo importante de java.

Un saludo.

Lo probaré :)
Rigle escribió:
Sepho escribió:Pues yo realmente os recomiendo "Piensa en Java" de Bruce Eckel, en su página web se pueden descargar gratuitamente (en inglés solamente). Es un libro MUY bueno y que abarca prácticamente todo lo importante de java.

Un saludo.

Lo probaré :)


No te arrepentirás! ;) Se me olvidó decir explícitamente que aunque en su web esté la versión en inglés para descargar, en cualquier librería especializada está el libro en castellano.
Ya estoy mirando el libro en inglés, lo probaré, y si me gusta, pues me lo compro en español (O sigo con el inglés XD)
Buenas tras mucho leer y releer ya he echo mis primeros programitas en Java, sencillos pero por algo se empieza xD

Tengo una gran duda que me impide seguir con mi aprendizaje, y es las clases...por mucho que leo y releo en mil libros y cursos online no consigo comprenderlo...

Me recuerdan a las funciones de C, pero ni por esas xDD

A ver si algun programador mas experimentado que yo en Java me puede ayudar con esto >.<



Un saludo y muchas gracias
Arkkey escribió:Buenas tras mucho leer y releer ya he echo mis primeros programitas en Java, sencillos pero por algo se empieza xD

Tengo una gran duda que me impide seguir con mi aprendizaje, y es las clases...por mucho que leo y releo en mil libros y cursos online no consigo comprenderlo...

Me recuerdan a las funciones de C, pero ni por esas xDD

A ver si algun programador mas experimentado que yo en Java me puede ayudar con esto >.<



Un saludo y muchas gracias


Hola Arkkey, postea tu duda en concreto, sino va a ser un poco complicado ayudarte :P
Arkkey escribió:Buenas tras mucho leer y releer ya he echo mis primeros programitas en Java, sencillos pero por algo se empieza xD

Tengo una gran duda que me impide seguir con mi aprendizaje, y es las clases...por mucho que leo y releo en mil libros y cursos online no consigo comprenderlo...

Me recuerdan a las funciones de C, pero ni por esas xDD

A ver si algun programador mas experimentado que yo en Java me puede ayudar con esto >.<



Un saludo y muchas gracias


Necesitas aprender POO (Programación Orientada a Objetos), ya que toda la programación moderna (C++, Java, C#...) se basa en ella.
A ver si lo he entendido...

public class Personas {

    private String nombre; // Creo las variables que voy a usar para los metodos que voy a crear
    private String apellido;

    public Personas (String nombre, String apellido) {

        this.nombre = nombre;
        this.apellido = apellido;

    }
    public void obtenerinfo(){ //crea el metodo obtenerinfo que muestra por pantalla los nombre y apellidos

        System.out.println("Nombre:" + nombre);
        System.out.println("Apellido:" + apellido);
    }

}


Esta clase es la clase Personas que es donde voy a crear los metodos y variables que usaran las otras clases al llamar a esta...

El "this" no se exactamente que hace, ¿es como en Visual Basic, cuando te refieres al formulario con el que estamos trabajando y se usa me.loquesea?


public class Test{
           
            public static void main(String args[]){
            Personas p1= new Personas("Luis","Garcia"); //Crea el objeto p1 tipo personas y le paso los parametros para nombre y apellido
            p1.obtenerinfo(); //Llama al metodo obtener info que hemos creado en la clase personas
            Personas p2= new Personas("Javier","Perez");
            p2.obtenerinfo();

            }
}


Esta es la clase Test, que usa los metodos y datos almacenados en la clase Personas que es la "pantilla" con la que creo el objeto

Espero no haber dicho ninguna burrada :(

Se que son dos clases muy sencillas, pero si voy bien encaminado me han servido de muchisimo xD

Un saludo y muchas gracias, espero no tener que molestaros mas >.<
this es un puntero a la propia instancia de la clase. Es decir, cuando tu haces this.metodoTal() desde un método de una clase estas llamando al método metodoTal() de la instancia en la que se esté ejecutando el método de esa clase.

Vale que para esto no tiene poco valor porque puedes llamar a ese mismo método sin this (exceptuando dentro de métodos que declaran variables locales que se llaman igual que un atributo de la clase a la que pertenecen, en los que esos atributos se diferencias con this. ), pero piensa por ejemplo que quieres añadir una instancia de persona en una lista de personas desde dentro de un método de la instancia que quieres meter en la lista. Bastaría con hacer un simple lista.Add(this);

Por cierto, como ye he dicho antes ademas de aprender Java buscate algún libro sobre teoría de la POO, ya que si no no vas a programar adecuadamente.
Ojo con el this.

Para los métodos (y constructores) cuyos nombres de argumentos sean iguales que los de los atributos debes usarlo, ejemplo:

int numero;

...

public void asignarNumero(int numero){
this.numero=numero;
}


Si pones this, haces referencia al atributo de la clase, sino lo haces al argumento del método. Aquí:
int numero;

...

public void asignarNumero(int nuevoValor){

numero=nuevoValor;
}


No te haría falta
Tambien si no me equivoco, a mi siempre me lo han dicho, que digamos que es buen metodo de programacion que la primera letra sea miniscula i las siguientes mayusuculas, me explico:

p1.getinfo() <- mal
p1.getInfo() <- bien
Si, en java los métodos suelen empezar así, con la primera minuscula y el resto de primeras letras de cada palabra mayuscula. Por el contrario en C# la primera tambien es una buena costumbre ponerla mayuscula.
Es simplemente porque se lee mejor, pero son convenciones. Como han dicho, en C# se suele usar todas las palabras de un método con mayúscula. Sin embargo en ruby por ejemplo la convención generalizada es separar las palabras con un guión bajo y en minúsculas.

MiMetodo()
mi_metodo()
18 respuestas