martes, 28 de febrero de 2017



la sintaxis de Java, esto quiere decir, como se debe escribir en el lenguaje Java, como debes escribir las lineas de codigo, operadores y un poco de la estructura.

Primeramente explicare unas simples reglas que debes seguir al escribir en Java y seguir una sintaxis correcta sin cometer errores y escribir de la manera correcta.
-Todas las instrucciones(OJO una instrucción no es lo mismo que una linea, ya que en Java puedes dejar espacios entre lineas y no haber terminado la instrucción) de codigo en Java deben terminar con un signo punto y coma ” ; “
ej:
System.out.println(

“Hola mundo” ); //notese que la isntruccion se divide en dos lineas pero al terminar se utiliza “;”

-Todas las variables al igual que en otros lenguajes deben iniciar con una letra mas no con un numero o caracter especial, pueden iniciar con una letra y posteriormente usar numeros para nombrarlas.
ej:
String hola; //correcto
Integer Numero1; //correcto
Double 23numero; //incorrecto

-Otra regla importante es que para llevar una estructura correcta, todo programa en Java debe tener minimo una clase, las cuales deben tener metodos, las clases se crean de la siguiente manera:

public class Nombredeclase /*aqui se declara una clase, notese que comienza con mayusculas la cual es la forma correcta de nombrar una clase*/
{
public static void main(String args[ ]){}/* este es el metodo principal de la clase, dentro de este se escriben instrucciones*/
}

Comprender la estructura de un programa en Java puede ser dificil si no se tiene mucha experiencia, pero la mejor manera de comprender como funciona es programando, puedes utilizar programas ya hechos , ejecutarlos y asi mismo estudiar su codigo fuente para que comprendas su funcionamiento.

Operadores numericos:
Continuemos con los operadores numericos, los operadores numericos basicos son los siguientes:
* multiplicación
+ suma
- resta
/ division
% modulo o residuo(regresa el residuo de una division)

Operadores condicionales
> mayor que
< menor que
>= mayor o igual
<= menor o igual
== igual //para comparar igualdad se puede utilizar el metodo .equals() para comparar objetos, asi como cadenas String y otras clases de objetos
! diferente
!= diferente de

Asignación
= el simbolo ” = ” igual se utiliza para asignar un valor a una variable, es por esto que no debe ser utilizado como condición.
Ej:
Variablenumerica = 25; //uso correcto ya que se asigna un valor numerico a un numero
if(variable1=variable2) //uso incorrecto

Resultado de imagen para imagenes de sintaxis de java netbeans

Tipos de variables de Java netbeans


Resultado de imagen para imagenes de un tipo de variable de java netbeans


Tipos de datos primitivos
Tipo Descripcion
boolean Tiene dos valores true o false.
char Caracteres Unicode de 16 bits Los caracteres alfa-numéricos son los mismos que los ASCII con el bit alto puesto a 0. El intervalo de valores va desde 0 hasta 65535 (valores de 16-bits sin signo). 
byte Tamaño 8 bits. El intervalo de valores va desde -27 hasta 27 -1 (-128 a 127)
short Tamaño 16 bits. El intervalo de valores va desde -215 hasta 215-1 (-32768 a 32767)
int Tamaño 32 bits. El intervalo de valores va desde -231 hasta 231-1 (-2147483648 a 2147483647)
long Tamaño 64 bits. El intervalo de valores va desde -263 hasta 263-1 (-9223372036854775808 a 9223372036854775807)
float Tamaño 32 bits. Números en coma flotante de simple precisión. Estándar IEEE 754-1985 (de 1.40239846e–45f a 3.40282347e+38f)
double Tamaño 64 bits. Números en coma flotante de doble precisión. Estándar IEEE 754-1985. (de 4.94065645841246544e–324d a 1.7976931348623157e+308d.)


Los tipos básicos que utilizaremos en la mayor parte de los programas serán boolean, int y double.

Caracteres

En Java los caracteres no están restringidos a los ASCII sino son Unicode. Un carácter está siempre rodeado de comillas simples como 'A', '9', 'ñ', etc. El tipo de dato char sirve para guardar estos caracteres.

Un tipo especial de carácter es la secuencia de escape, similares a las del lenguaje C/C++, que se utilizan para representar caracteres de control o caracteres que no se imprimen. Una secuencia de escape está formada por la barra invertida (\) y un carácter. En la siguiente tabla se dan las secuencias de escape más utilizadas.
Carácter Secuencia de escape
retorno de carro \r
tabulador horizontal \t
nueva línea \n
barra invertida \\



Variables booleanas

En el lenguaje C/C++ el valor 0 se toma como falso y el 1 como verdadero. En el lenguaje Java existe el tipo de dato boolean. Una variable booleana solamente puede guardar uno de los dos posibles valores: true (verdadero) y false (falso).boolean encontrado=false; {...} encontrado=true;



Variables enteras

Una variable entera consiste en cualquier combinación de cifras precedidos por el signo más (opcional), para los positivos, o el signo menos, para los negativos. Son ejemplos de números enteros:

12, -36, 0, 4687, -3598

Como ejemplos de declaración de variable enteras tenemos: int numero=1205; int x,y; long m=30L;


int es la palabra reservada para declarar una variable entera. En el primer caso, el compilador reserva una porción de 32 bits de memoria en el que guarda el número 1205. Se accede a dicha porción de memoria mediante el nombre de la variable, numero. En el segundo caso, las porciones de memoria cuyos nombres son x e y, guardan cualquier valor entero si la variable es local o cero si la variable es de instancia o de clase. El uso de una variaable local antes de ser convenientemente inicializada puede conducir a consecuencias desastrosas. Por tanto, declarar e inicializar una variable es una práctica aconsejable.

En la tercera línea 30 es un número de tipo int por defecto, le ponemos el sufijo L en mayúsculas o minúsculas para indicar que es de tipo long.

Existen como vemos en la tabla varios tipos de números enteros (byte, short, int, long), y también existe una clase denominada BigInteger cuyos objetos pueden guardar un número entero arbitrariamente grande.


Variables en coma flotante

Las variables del tipo float o double (coma flotante) se usan para guardar números en memoria que tienen parte entera y parte decimal. double PI=3.14159; double g=9.7805, c=2.9979e8;


El primero es una aproximación del número real p, el segundo es la aceleración de la gravedad a nivel del mar, el tercero es la velocidad de la luz en m/s, que es la forma de escribir 2.9979 108. El carácter punto '.', separa la parte entera de la parte decimal, en vez del carácter coma ',' que usamos habitualmente en nuestro idioma.

Otras ejemplos son los siguientes float a=12.5f; float b=7f; double c=7.0; double d=7d;


En la primera línea 12.5 lleva el sufijo f, ya que por defecto 12.5 es double. En la segunda línea 7 es un entero y por tanto 7f es un número de tipo float. Y así el resto de los ejemplos.

Conceptualmente, hay infinitos números de valores entre dos números reales. Ya que los valores de las variables se guardan en un número prefijado de bits, algunos valores no se pueden representar de forma precisa en memoria. Por tanto, los valores de las variables en coma flotante en un ordenador solamente se aproximan a los verdaderos números reales en matemáticas. La aproximación es tanto mejor, cuanto mayor sea el tamaño de la memoria que reservamos para guardarlo. De este hecho, surgen las variables del tipo float y double. Para números de precisión arbitararia se emplea la clase BigDecimal.


Valores constantes

Cuando se declara una variable de tipo final, se ha de inicializar y cualquier intento de modificarla en el curso de la ejecución del programa da lugar a un error en tiempo de compilación.

Normalmente, las constantes de un programa se suelen poner en letras mayúsculas, para distinguirlas de las que no son constantes. He aquí ejemplos de declaración de constantes. final double PI=3.141592653589793; final int MAX_DATOS=150;



Las cadenas de caracteres o strings

Además de los ocho tipos de datos primitivos, las variables en Java pueden ser declaradas para guardar una instancia de una clase, como veremos en el siguiente capítulo (Clases y objetos).

Las cadenas de caracteres o strings son distintas en Java y en el lenguaje C/C++, en este último, las cadenas son arrays de caracteres terminados en el carácter '\0'. Sin embargo, en Java son objetos de la clase String. String mensaje="El primer programa";


Empleando strings, el primer programa quedaría de la forma equivalente
public class PrimeroApp{ public static void main(String[] args) { //imprime un mensaje String mensaje="El primer programa"; System.out.println(mensaje); } }



En una cadena se pueden insertar caracteres especiales como el carácter tabulador '\t' o el de nueva línea '\n' String texto="Un string con \t un carácter tabulador y \n un salto de línea";



Palabras reservadas

En el siguiente cuadro se listan las palabras reservadas, aquellas que emplea el lenguaje Java, y que el programador no puede utilizar como identificadores. Algunas de estas palabras le resultarán familiares al programador del lenguaje C/C++. Las palabras reservadas señaladas con un arterisco (*) no se utilizan.
abstract boolean break byte byvalue*
case cast* catch char class
const* continue default do double
else extends false final finally
float for future* generic* goto*
if implements import inner* instanceof
int interface long native new
null operator* outer* package private
protected public rest* return short
satatic super switch synchronized this
throw transient true try var*
void volatile while 


Las palabras reservadas se pueden clasificar en las siguientes categorías:


Tipos de datos: boolean, float, double, int, char
Sentencias condicionales: if, else, switch
Sentencias iterativas: for, do, while, continue
Tratamiento de las excepciones: try, catch, finally, throw
Estructura de datos: class, interface, implements, extends
Modificadores y control de acceso: public, private, protected, transient
Otras: super, null, this.

Variables de Java netbeans


Resultado de imagen para imagenes de variables de java netbeans



Una variable es un nombre que se asocia con una porción de la memoria del ordenador, en la que se guarda el valor asignado a dicha variable. Hay varios tipos de variables que requieren distintas cantidades de memoria para guardar datos.

Todas las variables han de declararse antes de usarlas, la declaración consiste en una sentencia en la que figura el tipo de dato y el nombre que asignamos a la variable. Una vez declarada se le podrá asignar valores.

Java tiene tres tipos de variables:
de instancia
de clase
locales

Las variables de instancia o miembros dato como veremos más adelante, se usan para guardar los atributos de un objeto particular.

Las variables de clase o miembros dato estáticos son similares a las variables de instancia, con la excepción de que los valores que guardan son los mismos para todos los objetos de una determinada clase. En el siguiente ejemplo, PI es una variable de clase y radio es una variable de instancia. PI guarda el mismo valor para todos los objetos de la clase Circulo, pero el radio de cada círculo puede ser diferenteclass Circulo{ static final double PI=3.1416; double radio; //... }


Las variables locales se utilizan dentro de las funciones miembro o métodos. En el siguiente ejemplo area es una variable local a la función calcularArea en la que se guarda el valor del área de un objeto de la clase Circulo. Una variable local existe desde el momento de su definición hasta el final del bloque en el que se encuentra.class Circulo{ //... double calcularArea(){ double area=PI*radio*radio; return area; } }


En el lenguaje Java, las variables locales se declaran en el momento en el que son necesarias. Es una buena costumbre inicializar las variables en el momento en el que son declaradas. Veamos algunos ejemplos de declaración de algunas variables int x=0; String nombre="Angel"; double a=3.5, b=0.0, c=-2.4; boolean bNuevo=true; int[] datos;


Delante del nombre de cada variable se ha de especificar el tipo de variable que hemos destacado en letra negrita. Las variables pueden ser
Un tipo de dato primitivo
El nombre de una clase
Un array

El lenguaje Java utiliza el conjunto de caracteres Unicode, que incluye no solamente el conjunto ASCII sino también carateres específicos de la mayoría de los alfabetos. Así, podemos declarar una variable que contenga la letra ñ int año=1999;


Se ha de poner nombres significativos a las variables, generalmente formados por varias palabras combinadas, la primera empieza por minúscula, pero las que le siguen llevan la letra inicial en mayúsculas. Se debe evitar en todos los casos nombres de variables cortos como xx, i, etc. double radioCirculo=3.2;


Las variables son uno de los elementos básicos de un programa, y se deben
Declarar
Inicializar
Usar

Paquetes de JavaNetbeans


Resultado de imagen para paquetes de java netbeans


El paquete (package)
Los paquetes son una forma de organizar grupos de clases. Un paquete contiene un conjunto de clases relacionadas bien por finalidad, por ámbito o por herencia.

Los paquetes resuelven el problema del conflicto entre los nombres de las clases. Al crecer el número de clases crece la probabilidad de designar con el mismo nombre a dos clases diferentes. 

Las clases tienen ciertos privilegios de acceso a los miembros dato y a las funciones miembro de otras clases dentro de un mismo paquete.

En el Entorno Integrado de Desarrollo (IDE) JBuilder de Borland, un proyecto nuevo se crea en un subdirectorio que tiene el nombre del proyecto. A continuación, se crea la aplicación, un archivo .java que contiene el código de una clase cuyo nombre es el mismo que el del archivo. Se pueden agregar nuevas clases al proyecto, todas ellas contenidas en archivos .java situadas en el mismo subdirectorio. La primera sentencia que encontramos en el código fuente de las distintas clases que forman el proyecto es package o del nombre del paquete.
//archivo MiApp.java package nombrePaquete;
public class MiApp{ //miembros dato //funciones miembro }

//archivo MiClase.java package nombrePaquete;
public class MiClase{ //miembros dato //funciones miembro }




La palabra reservada import

Para importar clases de un paquete se usa el comando import. Se puede importar una clase individual import java.awt.Font;


o bien, se puede importar las clases declaradas públicas de un paquete completo, utilizando un arterisco (*) para reemplazar los nombres de clase individuales. import java.awt.*;


Para crear un objeto fuente de la clase Font podemos seguir dos alternativas import java.awt.Font; Font fuente=new Font("Monospaced", Font.BOLD, 36);


O bien, sin poner la sentencia import java.awt.Font fuente=new java.awt.Font("Monospaced", Font.BOLD, 36);


Normalmente, usaremos la primera alternativa, ya que es la más económica en código, si tenemos que crear varias fuentes de texto.

Se pueden combinar ambas formas, por ejemplo, en la definición de la clase BarTextoimport java.awt.*; public class BarTexto extends Panel implements java.io.Serializable{ //... }


Panel es una clase que está en el paquete java.awt, y Serializable es un interface que está en el paquete java.io


Los paquetes estándar
Paquete Descripción
java.applet Contiene las clases necesarias para crear applets que se ejecutan en la ventana del navegador
java.awt Contiene clases para crear una aplicación GUI independiente de la plataforma
java.io Entrada/Salida. Clases que definen distintos flujos de datos
java.lang Contiene clases esenciales, se importa impícitamente sin necesidad de una sentencia import.
java.net Se usa en combinación con las clases del paquete java.io para leer y escribir datos en la red.
java.util Contiene otras clases útiles que ayudan al programador

Obejtos en JavaNetbeans


Resultado de imagen para objetos de java netbeans



En Java, un objeto es básicamente una instancia de una clase (las instancias de las que hablábamos hace un momento). Para el ejemplo de la fábrica de galletas, los objetos vendrían siendo cada una de las diferentes galletas obtenidas de los moldes definidos (clases), creados por medio de un proceso o "contructor" de galletas.

Muy bien, ya hemos hecho un repaso sobre el concepto de clase y objeto en Java, sin embargo aún no sabemos cómo crearlos ni usarlos, así que vamos a ello.


Al momento de crear objetos en Java, debemos tener claras dos cosas indispensables, la primera es el nombre de la clase para la cual vamos a crear el objeto y segundo el constructor que dicha clase posee, es decir, si el constructor recibe o no parámetros.

Para crear objetos en Java, el lenguaje nos proporciona el comando new, con este comando le decimos a Java que vamos a crear un nuevo objeto de una clase en especifico y le enviamos los parámetros (en caso de ser necesario) según el constructor, veamos un ejemplo.

Vamos a crear un objeto o instancia en Java para la clase que hemos creado al comienzo llamada MiClase. Esta clase tiene un constructor que no recibe parámetros, por lo cual no es necesario enviar algún tipo de valor al momento de crear el objeto, veamos entonces la sintaxis para crear un objeto del tipo MiClase en java.

MiClase miObjeto; //Declaramos una variable del tipo de la clase miObjeto = new MiClase(); //Aquí ya hemos creado un objeto de MiClase

Vamos ahora a crear un objeto o instancia para la clase Animal (la del ejemplo dos), en esta ocasión tenemos un constructor que recibe un parámetro (el nombre del animal) y que posee tres métodos de los cuales haremos uso para este ejemplo.

import misClases.Animal;// importamos la clase animal para poder usarla
public Class ejemplo
{
Public static void main( string[]args)
{
 Anima mi Animal = new Animal ("Falco");
 miAnimal.setEdad(3);
 System.out.println("El nombre es:" + miAnimal.getNombre ());
 System.out.println(" y tine "+ miAnimal.getEdad () + "Años");
    }
{

Clases de JavaNetbeans





Las clases en Java son básicamente una plantilla que sirve para crear un objeto. Si imaginásemos las clases en el mundo en el que vivimos, podríamos decir que la clase “persona” es una plantilla sobre cómo debe ser un ser humano. Todos y cada uno de nosotros, los seres humanos, somos objetos de la clase “persona“, ya que todos somos personas. La clase “persona” contiene la definición de un ser humano, mientras que cada ser humano es una instancia u objeto de dicha clase.

Para poder comprender esto debemos verlo con ejemplos. Vamos a crear un proyecto en Netbeans al que voy a llamar JavaExamples.

Vemos que se crea un archivo llamado JavaExamples.java. Esta es la clase principal, la que contiene el método public static void main. Al ejecutarse un programa, lo que se encuentre establecido en el void main será lo primero en ejecutarse. La clase JavaExamples es un ejemplo de una clase, pero en ella no quedan claros los conceptos que me gustaría transmitirles, así que vamos a crear una clase a la que llamaremos “persona”.



Ahora vamos a empezar a construir la clase “persona”. Necesitamos establecer las propiedades de la clase persona. Como personas, ¿qué propiedades poseemos?

Podríamos hablar de un nombre(s), apellido(s), una fecha en la que nacimos, nuestra edad y género. Hay muchas otras propiedades que podríamos mencionar, pero por ahora solamente tomaremos en cuenta las que hemos listado. Son simplemente características que posee todo ser humano, al menos en la mayoría de los casos.

Para establecer estas propiedades dentro de la clase creamos variables, cuidándonos de asignarle a cada propiedad el tipo de dato que le corresponde. Dicho esto, declaramos las propiedades de la clase persona:


1- Private String name;
2-Private string lastName;
3-Private string birthDate;
4-Private int age;
5-Private string gender;



Al establecer las propiedades como private estamos asegurando que dentro de la clase persona se pueda acceder y manipular estas propiedades, pero no así desde otra clase, a menos que el usuario así lo decida y se lleve a cabo a través de métodos públicos. Esto lo veremos un poco más adelante.

***Observación: Es necesario resaltar que, en la medida de lo posible, se debe utilizar nombres en inglés para las variables. Se puede usar el idioma que sea y la estructura que nos plazca, pero se recomienda nombres en inglés y que las variables empiecen con minúscula. Si se trata de nombres compuestos de dos o más palabras se utiliza la primera palabra en minúscula y seguido la segunda palabra en mayúscula. Ejemplo: para llamar a una variable como Last Name, usamos lastName.

Una vez establecidas las propiedades de la clase creamos un constuctor. El contructor es un método con el nombre de la clase donde se establecen los parámetros y las acciones a ejecutar cuando sea que se cree un nuevo objeto o instancia (objeto e instancia es básicamente lo mismo) de la clase persona. En Java las llamadas “funciones” de otros lenguajes se conocen como “métodos”. Nuestro constructor sería:

1-public persona(String nombre, string apellido, string fecha, int ed
2-name=nombres;
3-lastname=apellido;
4-birthDate=fecha
5-age=edad
6-gender=genero


miércoles, 15 de febrero de 2017

Entorno gráfico de JavaNetbeans





Modo Gráfico en Java Netbeans


Para poder crear entornos gráficos en java es necesario importar dos librerías las cuales dotan de varios componentes y soporte para gestionar la interacción con el usuario. Las dos librerías son:


java.awt.*;
javax.swing.*;
La librería java.awt es una librería del modo gráfico que depende directamente del SO.


La estructura de la versión actual del AWT se puede resumir en los puntos que se exponen a continuación:


Los Contenedores contienen Componentes, que son los controles básicos.
No se usan posiciones fijas de los Componentes, sino que están situados a través de una disposición controlada (layouts).
El común denominador de más bajo nivel se acerca al teclado, ratón y manejo de eventos.
Alto nivel de abstracción respecto al entorno de ventanas en que se ejecute la aplicación.
La arquitectura de la aplicación es dependiente del entorno de ventanas, en vez de tener un tamaño fijo.
Es bastante dependiente de la máquina en que se ejecuta la aplicación (no puede asumir que un diálogo tendrá el mismo tamaño en cada máquina).
Carece de un formato de recursos. No se puede separar el código de lo que es propiamente interface.
La librería java.swing es una librería mas estándar ya que esta no depende del SO, es decir que permite una interfaz a cada SO sin cambio de código.


Todos los componentes de esta librería se heredan de javax.swing.JComponent;


Clase JFrame: es el componte principal, esta sera la base de la aplicación principal, este proporciona operaciones para manipular ventanas. Cuando el objeto ventana se a creado es necesario:






Establecer el tamaño de la ventana.
Establecer la acción de cierre.
Hacerla visible.
Ejemplo: 


import javax.swing.*;


public class VentanaTest{ 


public static void main(){ 


JFrame a=new JFrame("Titulo de la ventana");
f.setSize(400,400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}


}


Ademas el JFrame se puede extender haciendo que las operaciones se realice nen el método constructor.


public class MiVentana extends JFrame {


public MiVentana() {


super("Titulo de ventana");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}


}


public class VentanaTest {


public static void main(String[] args) {


MiVentana v = new MiVentana();
v.setVisible(true);
}


}


Clase JButton: es un botón que puede contener texto, gráficos o los dos.


Métodos importantes:



setText(“Texto”);
setTooltipText(“Tooltip”);
setBackground(new Color(R, G, B));
setForeground(Color.color);
setIcon(new ImageIcon(“ruta”));
setFont(new Font(“tipo”, estilio, tamaño));
setBounds(new Rectangle(posX,posY,tamX,tamY));
Ejemplo:


JButton boton1 = new JButton();


boton1.setBounds(new Rectangle(107, 50, 102, 41));
boton1.setBackground(new Color(91, 238, 89));
boton1.setForeground(Color.red);
boton1.setToolTipText("Prueba");
boton1.setFont(new Font("Comic Sans MS",Font.BOLD, 14));
boton1.setText("Botón de prueba");

Clase JToggleButton: Es un boton que representa dos estados (On y Off). Tiene las mismas caracteristicas de JButton. Esta clase tiene dos tipos:



Independientes (Checkboxes).
 



Exclusivas(RadioButton).


Clase JLabel: Muestra texto, gráficos o ambos, sólo lectura.



Clase JTextField: Muestra una linea de texto que puede ser editable. Con el método setText(“Texto”) se le asigna el texto. 



Clase JPanel: Es un contenedor que agrupa componentes dentro de una ventana. Los layouts permiten una correcta ubicación de los componentes.