Cuándo ejecutamos un programa Java, es posible pasarle parámetros mediante el comando java seguido del nombre de nuestro programa y una lista de parámetros.

Ejemplo:


1. package argumentos;

2. 

3. public class Saludo {

4. 

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

6. 

7.       System.out.println("Hola: " + args[0] +" " + args[1]);

8. 

9.    }

10. }



Por convención al arreglo de String en el método principal se le llama args, aunque cabe destacar que se le puede poner cualquier nombre. Para ejecutar el programa lo harámos de la siguiente forma siempre y cuando lo hagamos desde la terminal, primero compilamos con el comando javac y después ejecutamos con el comando java:

java Saludo Maycc Suarez

La salida que muestra el programa es:

Hola: Maycc Suarez

Si utilizamos un ide como eclipse para pasarle parámetros a nuestro programa lo haríamos de la siguiente forma:
  • Hacemos clic en Run: 


  • Luego le damos a Run Configurations.. y escribimos los parámetros que vayamos a utilizar como en la siguiente captura:


  • Finalmente le damos a Run y listo:

Por regla general todos los programas escritos en java pasan por las siguientes fases: 
  
  • Edición: En esta fase creamos nuestro programa con cualquier editor de texto plano. Nuestro archivo tendrá la extensión .java; lo cual significa que es un archivo de código fuente. 
  • Compilación: Esta fase se lleva a cabo cuando compilamos nuestro archivo .java y posterior a ello se genera otro archivo con extensión .class,  el mismo que también es conocido como bytecode, que es un código intermedio que la JVM puede ejecutar. 
  • Carga: Una vez compilado nuestro programa se carga en memoria a través del cargador de clases. 
  • Verificación: Una vez que nuestro programa se encuentre en memoria el verificador de códigos de bytes, comprueba que dicho código sea valido, es decir que este bien escrito respetando la sintaxis del lenguaje  y lo más importante que no viole las restricciones de seguridad de Java. 
  • Ejecución: Una vez que todo este bien la ultima fase es la ejecución, en la cual nuestro programa será ejecutado en la JVM que es la encargada de llevar a cabo una compilación JIT (justo a tiempo).
Los modificadores de acceso nos permiten determinar desde que clase o desde que parte de nuestro programa cierto elemento podrá ser accedido o utilizado, como por ejemplo: una variable, un método o una clase, etc.

En Java existen los siguientes modificadores de acceso:
  • Private: Es el más restrictivo de todos y los elementos que hagan uso de él, solo podrán ser accedidos dentro de la misma clase. (Se aplica a los atributos o miembros de una clase, interfaces y clases internas).
  • Protected: Los elementos podrán ser accedidos desde el mismo paquete y  desde cualquier clase que extienda o herede de la clase padre, independientemente si se encuentran en el mismo paquete o no. (Se aplica a los miembros de una clase como atributos, métodos, etc.)
  • Public: Es el menos restrictivo de todos ya que se puede acceder desde cualquier parte, es decir está abierto o disponible para todos (Se aplica a clases, métodos, atributos, interfaces, etc.)
  • Default: Es el nivel de acceso por defecto, cuando no declaramos de forma explícita un modificador (no especificado), los elementos solo podrán ser accedidos dentro del mismo paquete. 

Esto se entenderá mejor en la siguiente tabla:

MODIFICADOR
CLASE
PAQUETE
SUBCLASE
TODOS (otras clases)
Private
SI
NO
NO
NO
Protected
SI
SI
SI
NO
Public
SI
SI
SI
SI
Default
SI
SI
NO
NO

 
1. package saludo;
2.
3. public class HolaMundo
4. {
5.      public static void main( String[] args)
6.      {
7.
8.          System.out.println( "Hola Mundo!!!" );
9.  
10.     }
11.}




La línea 1 es una declaración de paquete, en java los paquetes son un contenedor de clases que nos sirven para agrupar nuestras clases, interfaces o archivos. Básicamente se trata de una carpeta o grupo de carpetas.

En la línea 3 declaramos nuestra clase llamada HolaMundo, nuestro archivo deberá llamarse de la misma manera (HolaMundo.java), dado que es una declaración de clase pública.

En la línea 5 declaramos el método principal, que es el punto de entrada para ejecutar una aplicación de Java. En este caso el método se llama main, no retorna ningún tipo de información (void), además es public static (es un método de clase), ( String[] args) es el bloque de construcción de nuestro programa, se trata de un arreglo de String llamado args que nos sirve para pasar información o argumentos, cuando ejecutemos nuestra aplicación con el comando java.

Finalmente en la línea 8 hacemos uso de System.out que es el objeto estándar de salida y llamamos a un método de este objeto llamado println, que nos sirve para desplegar o imprimir un mensaje en la consola con un salto de línea.

La clase System se encuentra en el paquete java,lang que se importa de manera automática o de forma implícita en nuestras clases que creemos. 



Java es un lenguaje de programación orientado a objetos, concurrente, multiplataforma y de propósito general, cuyo lema es: "write once run anywhere", escribe una vez tu código y ejecútalo donde quieras, sin hacerle ningún tipo de modificación en la mayoría de los casos, lo cual quiere decir que es independiente de la plataforma hardware así como del sistema operativo, debido a que posee una máquina virtual (JVM), que es la encargada de interpretar los bytecodes (.class).

Originalmente fue desarrollado por James Gosling, quien es conocido como el padre del lenguaje Java., en un inicio  era conocido como Oak, posteriormente cambio su nombre a java. En sus inicios fue pensado, para crear software para electrodomésticos inteligentes de uso doméstico. Las razones por la cual se le puso el nombre de Java son varias, unos argumentan que es debido a las iniciales de sus creadores; otros señalan que si nombre se debe a un tipo de café que vendían en la cafetería de al lado, de ahí que Java tiene como icono o logo una taza de café.

Su sintaxis deriva principalmente de C y C++ y su POO está basada en Smalltalk. En la actualidad Java es utilizado para desarrollar aplicaciones empresariales a gran escala, además es el lenguaje base para desarrollar apps para Android.

Características principales:
  • Orientado a objetos. (Aunque no en un 100%).
  • Multiplataforma.
  • Fuertemente tipado. (Es necesario declarar el tipo de dato).
  • Multitarea (Hilos o Threads).
  • Biblioteca de clases extensa. (Conocida como API, nos permite ahorrar tiempo de desarrollo, al no tener que reinventar la rueda).
  • Es robusto, escalable y seguro. (La JVM verifica los bytescodes, para comprobar que no rompan o infrinjan las normas de seguridad de Java).
Conclusión:

En definitiva Java no solamente es un lenguaje de programación, es mucho más que eso; es una plataforma robusta para el desarrollo de software como tal. Diría que es como una navaja suiza, ya que es multipropósito, prácticamente se puede utilizar para hacer cualquier cosa: desde aplicaciones desktop (Java SE), apps móviles (Android), aplicaciones empresariales (Java EE). Aunque al principio la curva de aprendizaje de java es un poco alta, a medida que nos vayamos adentrando más en el lenguaje y con la práctica se nos hará más fácil desarrollar nuestro software.
Recuerden en la vida con esfuerzo, dedicación y disciplina se logran muchas cosas, la disciplina tarde o temprano vencerá a la inteligencia.

poo

La Programación Orientada a Objetos en primer lugar es un paradigma, una filosofía en la forma en que programamos. Es abstraer cualquier objeto o ente del mundo real, ejemplos: carro, persona, televisor, estudiante, cliente, etc, y plasmarlos en nuestro código.
La POO es una forma de pensar en como resolver cualquier problema o necesidad aplicando principios como abstracción, encapsulamiento, modularización, herencia, polimorfismo.

Definiciones:

  • ¿Qué es una clase?
 Una clase es un molde o plantilla a partir de la cual se puede crear objetos.
Ejemplo: La clase Carro.
  • ¿Qué es un objeto?
Es una entidad del mundo real, que posee estados (atributos) y comportamientos (métodos).  Se trata de una instancia de una clase.
Ejemplo: Un carro posee: color, marca, número de puertas ... puede acelerar, cambiar de velocidad, frenar, cambiar de dirección, etc. 
  • ¿Qué es la abstracción?
 Es extraer las características esenciales de alguna cosa, ignorando los detalles innecesarios o que sean redundantes. 
Ejemplo: Abstraer o modelar la clase Carro. (Que tiene y puede hacer un carro)
  • ¿Qué es el encapsulamiento?
 Es el proceso mediante el cual se envuelven los atributos y comportamientos de una abstracción.
Ejemplo: Poner los atributos y comportamientos de un carro en una clase, adicional se podría empaquetarla.
  • ¿Qué es el ocultamiento de información?
Ocultar los detalles de implementación.
Para llevar este proceso acabo se utilizan los modificadores de acceso.
Ejemplo: Imaginemos que tenemos un carro pues como me pertenece,  puedo saber cuanta gasolina hay en el tanque,  pero yo no puedo saber cuanta gasolina hay en el tanque del carro de mi vecino a menos que se lo pregunte. 
  • Los objetos se comunican por mensajes
Quiere decir que los objetos se envían mensajes para conocer sus estados.
Ejemplo: Cuando dos personas se conocen. La una le pregunta a la otra ¿Como te llamas? con lo cual la otra responde con su nombre.
  • ¿Qué es la modularización?
  Es el proceso a través del cual se descompone un sistema en piezas o en partes más pequeñas, cada una de las cuáles es independiente (poco acopladas) y poseen un significado propio (cohesivas)
  • ¿Qué es la herencia?
Es cuando una clase adquiere o hereda las características de una clase existente,  con la capacidad de agregar características propias. Es análogo al mundo real. Ejemplo: Cuando un hijo hereda algún bien o cosa del padre y adicional puede tener las suyas propias.
  • ¿Qué es la polimorfismo?
Es cuando un objeto se puede comportar de diferente forma según el contexto.
Ejemplo: Imaginemos que tenemos una clase llamada Figura con un método abstracto (sin implementar) llamado dibujaFigura() y varías clases que heredan o extienden de esta como: cuadrado, círculo y triángulo, con lo cual cada una de estas clases tendrá que implementar el método de la clase padre, pero con la diferencia de que la forma de dibujar será distinta para cada objeto. No es lo mismo dibujar un cuadrado que un círculo. Mediante el polimorfismo tenemos comportamientos (formas de hacer algo) distintos asociados a objetos distintos.

¿Por qué utilizar la POO?

Por que nos permite la reutilización de código, con lo cual ahorramos tiempo y esfuerzo. Hace que nuestro software sea más fácil de mantener, probar y depurar debido a que sus piezas se encuentran poco acopladas y son cohesivas es decir posee modularización. Aplicando un diseño orientado a objeto nuestro software es más robusto  además es un paradigma que utilizan varios lenguajes de programación así como Industrias del software que hacen uso de él.
programar


Desde el punto de vista de un aprendiz, de un entusiasta y apasionado por el mundo de la Informática, la programación es lo más cercano a ser un dios, ya que podemos crear cosas de la nada, con una idea podemos cambiar el mundo ya sea para bien o para mal, y si no es así podemos empezar a cambiar nuestro mundo como tal.

Aprendiendo a programar se es libre de plasmar nuestras ideas y pensamientos en el código. La programación es saber dar las instrucciones correctas para resolver un problema o alguna necesidad que se nos presente en el día a día.  Según la Wikipedia la programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales, pero también es el arte del pensar, es la capacidad de dar solución a los problemas y saber resolver las necesidades de los demás o las nuestras.

En sí la programación es sentirse apasionado por lo que en verdad nos gusta, es hacer de nuestro hobbie nuestro trabajo, el trabajo hecho a gusto no cansa jamás, la programación es diversión, sentirse emocionado cuando nuestro código se ejecuta, es estar horas y horas sentado frente a un ordenador.

Comenta con Facebook

 
© 2012. Design by Main-Blogger - Blogger Template and Blogging Stuff