miércoles, 20 de enero de 2016

Aplicaciones JAVA en NetBeans IDE


  Continuando con el post anterior Ambiente JAVA en NetBeans , en el cual
creamos un proyecto de nombre AppTest y agregamos dos formularios MenuPrincipal 
EjBasico ,entonces la estructura de nuestro proyecto queda de la siguiente manera.

LogoEMC


       En este momento deberiamos estar en la capacidad de identificar claramente cada componente
 de la estructura de un projecto Java en NetBeans.

       Ya teniendo claro el entorno de programacion, comenzaremos con ejemplos basicos con
propiedades y metodos de controles Swing , lo primero que debemos hacer es situarnos en
tiempo de diseño en el formulario EjBasico , el cual sera nuestro formulario de trabajo.

        Lo primero q vamos hacer es ir a nuestra paleta de componentes y agregar dos jLabel ,
dos jTextField y dos jButton debemos tener presente que todos los componentes poseen
atributos o propiedades (color , tamaño entre otros) los cuales podemos cambiar tanto en
tiempo de diseño (en el diseñador del formulario) como en tiempo de ejecucion (a traves de codigo)

       Para cambiar propiedades mediante el diseñador , nos colocamos sobre el control
o componente y hacemos click derecho sobre el luegoPROPIEDADES y se abre una ventana
como esta donde se encuentran todas la propiedades o atributos del control.

LogoEMC


        Fijense que la propiedad text esta resaltada en azul, justamente por que es la que debemos
cambiar en los controles que agregamos a nuestro formulario para que quede de esta manera. 
LogoEMC


        Hablemos del tiempo de ejecucion y de los metodos Set Get son simples métodos que usamos
en nuestro codigo para establecer o modificar (set) y obtener (get)el valor de un atributo. El nombre
del método siempre sera get o set y a continuación el nombre del atributo. Por ejemplo si queremos
modificar la propiedad text de un jTextField bastaria con escribir la siguiente linea de codigo
jTextField1.setText ("Texto Mostrado") ; y si queremos asignar el valor de la propiedad a
una variable String valor = jTextField1.getText() ; 

       Para comprender mejor vamos a nuestro formulario boton EJECUTAR y hacemoc
click derecho PROPIEDADES y vamos a la pestaña de EVENTOSbuscamos el de nombre
mouseClicked desplegamos la lista y seleccionamos el unico elemento que contiene.


LogoEMC


       Inmediantamente se nos desplegara nuestra ventana de codigo ubicandonos donde
estan las lineas del evento que acabamos de activar (jButton2MouseClicked) , el codigo que
escribamos dentro sera el que se ejecute cuando el cliente haga click en el boton EJECUTAR de
nuestra aplicacion.

LogoEMC


       Ahora agregaremos nuestro primer metodo (funcion ConcatenarCadenas) la cual recibe
dos parametros (nombre y apellido) y devuelve un valor de tipo String (nombreCompleto).

LogoEMC


       Solo queda programar nuestro boton EJECUTAR para que invoque la funcion
ConcatenarCadenas () pasandole los parametros que ella espera :nombre (lo que escribimos
en el jTextField1) y apellido (lo que escribimos en el jTextFied2) , el valor que retorna la funcion
lo asignaremos al titulo de nuestro formulario. Nuestro codigo quedaria de esta forma.

LogoEMC


       Ejecutamos nuestro programa y deberiamos ver algo asi :

LogoEMC


       En este punto aprendimos sobre los metodos Set Get , la forma de llamar o invocar una
funcion pasandoles sus respectivos parametros y algo no menos importante concatenar c
adenas . Solo queda agregar el codigo nesesario al boton MENU para regresar a nuestro
Menu Principal , este paso te lo dejamos como actividad.


       Agregamos un nuevo formulario y lo nombramos Conversion y añadimos los siguientes
controles dos jLabel, dos jTextField, un jList y dos jButton para que quede de esta forma
(sin modificar ninguna de sus caracteristicas por defecto)

LogoEMC


        Antes debemos ir a el formulario MenuPrincipal y agregar un nuevo elemento a
Ejemplos el cual llamaremos Conversion Numerica sino recuerdas recapitula AQUI
 Ambiente JAVA en NetBeans IDE

LogoEMC


        Luego del paso anterior continuamos en el formulario Conversion hacemos click derecho
sobre este PROPIEDADES pestaña EVENTOS y buscamos el de nombre windowOpened y
 seleccionamos el elemento que se despliega.

LogoEMC


        El evento windowOpened contendra la el codigo que se ejecutar al abrir el formulario ,
es decir cada vez que llamemos a ese formulario se ejecutara alguna accion que nesecitemos,
en nuestro caso estableceremos la propiedad text de los componentes en nuestro formulario.
Recordemos que ya hemos realizado esta actividad solo que en tiempo de diseño ,
ahora lo haremos en tiempo de ejecucion (por medio de codigo); En la imagen muestro y
explico las lineas que agregamos.

LogoEMC


        Ejecutamos y nuestro formulario debe verse de la siguiente manera


LogoEMC


       Ahora el boton SUMAR lo programaremos para sumar Numero A y Numero B
agregando el resultado a la lista (recordamos que debemos agregar el evento
mouseClicked haciendo click derecho sobre el boton PROPIEDADES pestaña EVENTOS y
seleccionamos mouseClicked)para que se ejecute nuestro codigo, ahora bien existe otro evento
para que cuando hagamos click sobre un boton se ejecute su codigo y es el de nombre
actionPerformed el cual utilizaremos seguidamente , fijate


LogoEMC


        Ahora describimos el Diagrama de flujo del proceso de sumar Numaero A y Numero B
agregando el resultado al jList.

LogoEMC


       Basados en el diagrama anterior nuestro codigo JAVA queda asi.

LogoEMC


       Ejecutamos nuestro programa.

LogoEMC


       Ok , solo falta validar que lo que ingresamos en nuestro campos de texto sea un valor numerico
(usaremos punto ( . ) como separador decimal) , pero validar de nuevo si ya existe ValidarTexto ()
dentro del codigo ? ... Bueno esta funcion solo valida que los campos de texto no esten vacios
(No valida que el cliente por equivocacion ingrese letras en lugar de numeros ), en otras palabras
nos aseguraremos que los campos de texto de nuestro formulario acepten unicamente valores
numericos.

       Para lograr esto debemos agregar el evento keyReleased tanto para el jTextField1 como para el jTextFiel2 ,este evento se dispara cuando presionamos una tecla pero exactamente en el momento que soltamos, el codigo queda asi.

LogoEMC


Descarga Aqui la Aplicacion AppTest 

Ambiente JAVA en NetBeans IDE


     NetBeans IDE es un entorno de desarrollo integrado , hecho
principalmente para el lenguaje de programación Java. Existe además
un número importante de módulos para extenderlo.NetBeans IDE es
un producto libre y gratuito sin restricciones de uso.

       En el siguiente post mostrare como crear un proyecto Java Aplicattion
en NetBeans,este tipo de aplicaciones son las que comunmente conocemos como
aplicaciones visuales o de formulario.

       Lo primero que debemos hacer es abrir nuestro NetBeans , luego vamos a
 nuetro menu ARCHIVO -> NUEVO PROYECTO y se despliega una ventana
con dos pestañas Categorias y Proyectos seleccionamos Java y Java Aplicattion
respectivamente como muestra la imagen y Click en el boton Siguiente.

LogoEMC

       Luego aparecera una ventana donde ingresamos el nombre de nuestro programa
y la ubicaciondonde queremos que se guarde, la ubicacion por defecto
es C:\Usuarios\MiUsuario\Documentos\NetBeansProyects\

LogoEMC

        Click en Finalizar y listo ya hemos creado nuestro proyecto , ahora en pantalla tenemos
nuestraClase Principal contentiva del metodo main()

LogoEMC

        En este punto debemos recordar que lo recomendado es escribir dentro del metodo main()
 solo el codigo nesesario para el inicio de nuestro programa , aunque no nesesariamente
debe ser asi, en nuestro caso agregaremos un formulario a nuestro proyecto el cual se
convertira en nuestra pantalla de inicio o menu principal , asi dentro del main() solo escribiremos
el codigo para llamar a nuestro Menu Principal y asi estaremos haciendo una buena
 practica de programacion al no recargar de codigo innesesario nuestra clase principal.

       Agregamos un formulario a nuestra aplicacion y lo nombramos MenuPrincipal de la siguiente
 forma: En la parte superior izquierda de nuestro monitor hacemos click derecho sobre el icono de la
taza humeante y seleccionamos NUEVO -> jFRAME FORM aparecera una pantalla donde ingresamos
el nombre MenuPrincipal y el packcage al cual va a pertenecer la clase que estamos agregando
(en java todo es una clase , un formulario tambien lo es).

LogoEMC

        Agrego estas lineas de codigo a el metodo main()
.
MenuPrincipal principal = new MenuPrincipal();
principal .setVisible(true) ;                               
principal .setLocationRelativeTo(null) ;                 


        La clase principal queda de esta forma

LogoEMC


        En este momento ejecutamos nuestro programa MENU -> EJECUTAR -> 
EJECUTAR PROYECTO y nos aparecera un formulario en blanco ya que no agregamos ningun
control y tampoco modificamos ninguna propiedad.

LogoEMC


       Recapitulando y volviendo a la estructura de nuestro proyecto, la cual identificamos
de forma clara en la siguiente imagen.

LogoEMC
       En primer lugar vemos el tazon humeante que representa nuestro proyecto, claramente
identificamos el nombre AppTest, a continuacion visualizamos una carpeta de nombre
Source Packcages en esta se guardaran los paquetes de clases , podemos tener N numeros
de Packcage dentro de esta , por ahora solo tenemos el paquete que se creo por defecto con
nuetro proyecto apptest.En este paquete se encuentran las clases de nuestro proyecto : La clase
principal AppTest y la clase o formulario MenuPrincipal.Luego sigue la carpeta Librerias
que contiene todas las librerias que nos ofrece la API de Java en el JDK .

       Ahora comenzaremos agregar controles a nuestro formulario y conocer algunas de las
propiedades y metodos de estos componentes, el IDE nos ofrece dos tipos de componente los Swing
y los AWT , nosotros usaremos los Swing que son los mas recientes. estos controles los ubicamos
en la parte derecha de nuestro monitor recordando que solo sera visible esta paleta si estamos en la
pantalla de diseño de un formulario si estamos en la de codigo obviamente no se mostrara por
que en elcodigo no se usan estos componentes.

LogoEMC


        Los componentes mas comunes son :
        a) jLabel son etiquetas o identificadores.
        b) jTextField son comunmente conocidos como cajas de texto.
        c) jComboBox lista desplegable.
        d) jList lista desplegada.
        e) jButton botones para ejecutar acciones.
        f) jCheckBox cajas para seleccionar opciones.

       Estos controles se pueden agregar al formularios simplemente arrastrandolos con el mouse
al sitiodonde lo queremos colocar dentro del formulario,en la siguiente imagen a nuestro formulario
le agregamos los controles nombrados para una mejor comprension.

LogoEMC



       Ahora procedemos a eliminarlos uno por uno haciendo click derecho sobre cada uno de ellos y
BORRAR para dejar nuestro formulario en blanco y proseguir con nuestro post.

       Vamos a la paleta de controles Swing y buscamos el de nombre MenuBar y lo arrastramos a
nuestro formulario, esta barra de menu puede traer alguna pestaña por defecto , solo hacemos click
derecho sobre ella y BORRAR asi eliminamos si contiene alguna pestaña que no nos interesa ,
de igual forma si queremos agreger elementos y subelementos a nuestra barra de menu hacemos click
derecho sobre esta y AGREGAR ITEM y luego de nuevo click derecho y EDITAR TEXTO para cambiar
el texto que muestra.

LogoEMC

       A nuestra barra de Menu le agregamos un elemento o item de nombre Ejemplos y un subelemento
de nombre ProgramacionBasica tal y como muestra la imagen de arriba.Podemos agregar tantos Items
como queramos y estos a su vez podran contener tantos SubItems como agreguemos.

       Hagamos un alto en nuestro desarrollo para aclarar conceptos:
a) Tiempo de Diseño : Hace referencia a la apariencia que toma nuestro software.
b) Tiempo de Ejecucion : Hace referencia a el comportamiento de nuestro programa.
Para aclarar mejor los conceptos anteriores tenemos ese ejemplo : A un formulario le agregamos un
boton desde la paleta lo hacemos en Tiempo de Diseño , a hora a el mismo formulario le agregamos
un boton pero no lo arrastramos desde la paleta sino que lo agregamos a traves de codigo entonces
lo hacemos en tiempo de ejecucion.
c) Evento : Hace referencia a sucesos que pueden ocurrir durante la ejecucion de un programa,
por ejemplo cuando hacemos click en un boton sabemos que el programa va a realizar alguna
accion siguiendo las instrucciones de ese boton.

       Continuemos con el desarrollo de nuestra aplicacion , podemos agregar un nuevo formulario
(proceso que ya conocemos) y le damos el nombre de EjBasico y ya con el MenuBar en nuestro
Formulario vamos y hacemos doble click en el subitem ProgramacionBasica y se despliega la
ventana de codigo del formulario MenuPrincipal y buscamos las siguientes lineas de codigo 
LogoEMC

       Estas lineas de codigo que aparecieron pertenecen al Metodo del evento ActionPerformed y hacen
referencia al codigo que se ejecutara al hacer click en el subitem ProgramacionBasica (recordemos
 el concepto de evento), dentro de este metodo escribiremos las lineas nesesarias para pasar
desde el formulario MenuPrincipal al formulario que acabamos de agregar EjBasico (Lo que llamamos
 en programacion pasar de un formulario padre a un formulario hijo).

LogoEMC


       Ejecutamos y veremos que ya nuestra aplicacion con un poco mas de estructura ,
bueno hasta aqui este post en el proximo continuaremos el desarrollo de nuestro programa y
 profundizaremos en el estudio de controles y de sus metodos y propiedades ...Saludos

Estructura de un Programa JAVA

 JAVA es un lenguaje orientado a objetos. Así que un programa en este lenguaje es una colección de clases .Por ahora pensaremos en una clase como en un objeto contentivo de metodos (funciones y procedimientos) , atributos (variables y constantes) y propiedades que no son mas que metodos especiales para acceder a los valores contentivos en los atributos.

-. Estructura de un Programa JAVA.


       Como ya sabemos un programa Java esta constituido por una coleccion de clases entre las cuales destaca la Clase Principal debido a que contiene el metodo main() que sera el metodo de inicio de la aplicacion , el nombre de la clase principal sera igual al de nuestra aplicacion , en conclusion podemos decir ningun programa Java podra ejecutarse si no contiene una clase principal , el codigo de inicio de nuestro programa sera el que escribiremos en la funcion main() y solo podra existir una clase contentiva del metodo main().
LogoEMC

    En la imagen notamos que nuestra clase principal al igual que nuestro programa llevan el nombre de AppConsola y el metodo main() contiene una unica instruccion que despliega un mensaje.
       Por razones de buena practica en la programacion se recomienda que la clase principal solo contenga al metodo main() y este sea usado solo para iniciar la ejecucion del programa , es decir no sobrecargar la clase con codigo ,solo debemos escribir lo nesesario para que la aplicacion inicie. 

Ahora podemos agregar nuevas clases a nuestra aplicacion que tendran un aspecto similar a este : 

LogoEMC

a) packcage es una palabra reservada en Java, indica el nombre del paquete a la que pertenece nuestra clase , por defecto la clase principal pertenece a     un packcage del mismo nombre como apreciamos en la imagen y es la primera sentencia que se encuentra en el codigo.
b) import es una palabra reservada en Java, indica que nuestros metodos utilizaran clases que se encuentran en otros packcage.
c) Modificador de acceso + palabre reservada class Nombre de la Clase , conforma la declaracion de nuestra clase; Los modificador de acceso     (public , protected y private) son palabras reservados para indicar desde donde pueden ser accedidos los objetos en nuestra aplicacion, por ejemplo un     objeto declarado public puede ser accedido desde cualquier otra clase de nuestra aplicacion a diferencia de uno declarado como protected o protegido     el cual sera accedido solo por otros objetos de la misma clase u objetos que hereden de la misma y por ultimo private el cual restringe el acceso a solo     miembros de la misma clase.
d) Luego encontramos variables declaradas con el modificador de acceso private este espacio es reservado para declarar los atributos de la clase al igual     que variables y constates.debemos tener presente que no nesesariamente los debemos declarar privados.
e) Seguidamente podemos comenzar a escribir los metodos (funciones y procedimientos) de la clase. En nuestro ejemplo apreciamos una funcion de tipo     Booleano de nombre PruebaConexion ().

Funciones , Procedimientos y Paso de Parametros en JAVA


- Metodo.


       Lo definimos como la forma de realizar una actividad sistemática, organizada y estructuradamente, utilizando una técnica o metodologia para el desarrollo de dicha actividad. En la vida cotidiana lo entendemos como la forma en que preferimos hacer las cosas. 

       En programacion de forma general el metodo lo entendemos como la serie de pasos que se ejecutan para la solucion de un problema, de forma especifica el metodo puede ser un bloque de codigo (secuencia logica de instrucciones) o un conjunto de estos.
       Estos bloques de codigo se encuentran empaquetados y en este paquete como cualquier otro que encontramos en el supermercado estan impresas algunas propiedades como el nombre, datos y sus respectivos tipos nesesarios para su ejecucion y el tipo de metodo.

       Antes de continuar debemos familiarizarnos con algunos conceptos para la mejor compresion de las funciones y procedimientos en JAVA.

a) Modificadores de Acceso (public, protected , private ): Estos indican el nivel desde donde puede se accedido el metodo dentro de la aplicacion,
     pero esto es tema de otro post, mientras tanto nos conformaremos con declarar nuestros metodos publicos (public).
b) Palabra reservada void esta indica al metodo que no devuelve ningun valor.
c) Palabra reservada static cuando se usa en la declaracion de un metodo indica que este pertenece a la clase y que pertenece a esta de forma intriseca.
d) Parametros podemos definirlos como variables de entrada nesesarias para la ejecucion de los metodos, debemos recalcar que un metodo puede o no     recibir parametros.
e) Valor de Retorno Dato que devuelve una funcion al ser ejecutada. se identifica con la palabra reservada return .

1.- Funciones.


        Bloque de codigo o subrutina que al ser ejecutada devuelve un valor.
Sintaxis para la Declaracion de Funciones 

ModificadorDeAcceso TipoDeDatoDevuelto NombreDeLaFuncion ( TipoDato Parametro1 , ... , TipoDato Parametro n ) { 
  ' Bloque de Codigo ' 
   ValorDeRetorno ; } 

2.- Procedimientos.


        Bloque de codigo o subrutina que al ser ejecutada no devuelve valor.
Sintaxis para la Declaracion de Procedimientos

ModificadorDeAcceso TipoDeDatoDevuelto (void) NombreDelProcedimiento( ) {   ' Bloque de Codigo '   } 

Solucion de Problemas Usando Funciones y Procedimientos


1.- Escribe un metodo en JAVA que sume dos numeros 
        Para solucionar este problema escribire un procedimiento que recibe dos variables de entrada de tipo int parametros y luego las sume.
public void Suma2Numeros ( int a , int b ){
   int suma = a + b ; }

       Ahora el mismo problema pero usando una funcion.
public int Suma2Numeros ( int a , int b ){
   int suma = a + b ; 
return suma ; }

2.- Escribe un metodo en JAVA que reciba dos parametros de tipo float los compare y devuelva un valor de tipo string con un mensaje identificando el numero mayor. 
       Como nos piden que el metodo devuelva un valor de inmediato lo restringe a utilizar una funcion.
public String NumeroMayor ( float num1 , float num2 ){
float mayor ;                                   
   if ( num1 > num2 ) mayor = num1 ; 
else mayor = num2 ;                      
                              return "El numero Mayor es : " + mayor.ToString() ; }

1.- Escribe un metodo en JAVA que identifique si un numero es par o impar
       Escribirimes una funcion Booleana que recibe como parametro de entrada un numero entero si este es par la funcion devuelve true de lo contrario false.
public Boolean Modulodivision ( int valor ){
Boolean bandera = false ;          
   if ( valor % 2 = 0 ) bandera = true ; 

Operadores Matematicos, Relacionales y Logicos en JAVA


1.- Operadores Arimeticos o Matematicos.


  Producto   *
  Division   /
  Suma   +
  Diferencia   -
  Residuo de la Division   %

2.- Operadores Relacionales o de Comparacion.


  Asignacion   =
  Iguales   ==
  Diferente   !=
  Mayor Que   >
  Menor Que   <
  Mayor o Igual Que   >=
  Menor o Igual Que   <=

3.- Operadores Logicos.


  Y    &&
  O   ||
  NO   !

4.- Expresiones Logicas.


       Podemos definirlas como la relacion de variables , constantes , metodos y operadores logicos que bajo ciertas reglas de jerarquia que afecta a estos ultimos pueden ser evaluadas arrojando un valor de tipo Booleano utilizado para la solucion de problemas de tipo logico.Dentro del entorno de programacion estas expresiones se escriben utilizando las reglas de sintaxis de cada lenguaje en especifico.Como por ejemplo en Java todas las instrucciones terminan en punto y coma (;) 

Ejemplos con Expresiones Logicas en JAVA

1.Determinar sin un numero se encuentra en el rango (- 10 ; 23 ]
        Rapidamente nos damos cuenta si el numero es mayor a - 10 y menor o igual a 23 la expresion se evaluara verdadera de lo contrario falsa. Utilizando operadores relacionales inferimos :
if ((n > -10 ) && ( n<= 23 )){ resultado = true ; }
else {resultado = false ; }                                    

2.Determinar si un numero es par o impar 
        Sabemos que los numeros pares al ser divididos entre el numero dos arrojan un resultado exacto a diferencia si el numero es impar entonces arrojara un resultado con parte decimal , recordamos que el concepto de par e impar solo se aplica a el conjunto de los numeros enteros con o sin signo , excluyendo el cero.
Ej : si n = 8    entonces    n/2 = 4    pero    si n = 9 entonces n/2 = 4.5

       Razonando y utilizando la logica propocisional nos damos cuenta que : Debemos construir una expresion logica a partir de un numero dado, el cual , si lo dividimos entre dos y el residuo de la division es cero entonces el numero es par y la expresion se evaluara verdadera de lo contrario si dividimos el numero entre dos y el residuo es uno entonces el numero es impar y la expresion se evaluara falsa.
Utilizando el operador residuo de la division podemos solucionar el problema de varias formas , estas son algunas : 

Forma 1 
       bool resultado ;                                      
       if ( n % 2 == 0){ resultado = true ; }       
       else if {n % 2 == 1) {resultado = false ; }
Forma 2
bool resultado ;                                
if ( n % 2 == 0){ resultado = true ; }
else {resultado = false; }                 
Forma 3 
      bool resultado = false ;                           
      if ( n % 2 == 0){ resultado = true ; }       

Arreglos Unidimensionales y Bidimesionales en JAVA


    En programación se denomina arreglo (en inglés array) a una zona de almacenamiento continuo (posiciones de memoria consecutivas) que contiene una serie finita de elementos del mismo tipo. Estas estructuras de datos son adecuadas para situaciones en las que el acceso a la informacion se realice de forma aleatoria. Lo habitual es que un vector tenga una cantidad fija de memoria asignada, aunque dependiendo del lenguaje de programación este podría tener un tamaño variable. En este caso, se les denomina vectores dinámicos , en oposición, a los vectores con una cantidad fija de memoria asignada se los denomina vectores estáticos.

1.- Arreglos Unidimensionales (Vectores).


       Un vector es una matriz (fila,columna) de la forma (1,n) (n,1) dependiendo como queremos visualizarla de forma horizontal o vertical. 

Sintaxis para la Declaracion de VECTORES 
Tipo de Dato [ ] Nombre Vector = new Tipo de Dato [Numero de Posiciones]; 

String [ ] NombreCliente = new String [4] ;        
String [ ] NombreCliente ;                                    

       Tambien pueden declararse vectores predefinidos de la siguiente forma : 

String [ ] Ciudades = {"Caracas","Valencia","Maracay","Barinas"}; 

2.- Arreglos Bidimensionales (Matrices).


       En Java las matrices tienen la forma (i,j) donde i representa las filas y las columnas.

Sintaxis para la Declaracion de MATRICES 

Tipo de Dato [ ] [ ] Nombre Vector = new Tipo de Dato [Numero de Filas] [Numero de Columnas]; 

int [ ][ ] ventas = new int[4][6];        

       Tambien pueden declararse matrices predefinidas de la siguiente forma : 

         1  2  3 
A =   2  4  5 
         3  5  6 

double[ ][ ] A = {{1, 2, 3},{2, 4, 5},{3, 5, 6}};

3.- Propiedades y Metodos de los Arreglos.


Tamaño de los arreglos : 

        Comenzemos por declarar un vector unidimensional de tipo cadena o string de 4 posiciones.

String [ ] NombreCliente = new String [4] ;        

        entonces tendremos en cuenta las siguientes consideraciones : 

- El indice de las posiciones del arreglo comienza en cero y termina en tamaño del vector - 1 es decir tenemos las siguiente estructura para NombreCliente. 

NombreCliente [0];        
NombreCliente [1];        
NombreCliente [2];        
NombreCliente [3];        

- La funcion lenght devuelve el tamaño del vector. 

int tamaño = NombreCliente.Lenght () ;     entonces 
tamaño = 4 ;        
Asignacion de contenido a los arreglos : 

NombreCliente [3] = "Juan Gonzalez" ;        
PrecioArticulo [2,1] = 8958.43 ;                    

       El vector NombreCliente en la posicion 3 contiene "Juan Gonzales" y la Matriz PrecioArticulo en la fila 2 columna 1 contiene 8958.43.

Acceso a el contenido de los arreglos : 

String nombre = NombreCliente [3] ;        
String precio = PrecioArticulo [2,1] ;          

       La variable nombre entonces contendra lo que contiene el vector NombreCliente en la posicion 3 y a la variable numero asignamos el contenido de la matriz A en la fila 2 y columna 1