LENGUAJE DE PROGRAMACION - JAVA

Post on 29-Jun-2015

1.177 views 3 download

Transcript of LENGUAJE DE PROGRAMACION - JAVA

LENGUAJE DE PROGRAMACION - JAVA

Babastre

Introducción

La programación en Java se caracteriza porque este lenguaje es:

Un lenguaje simple

Orientado a objetos

Interpretado y compilado a la vez

Robusto

Portable

Conceptos Basikos Para poder explicar este juego de clases y

objetos yo suelo utilizar un ejemplo.

Este proceso es como un niño que desea un juguete, para que el niño pueda obtener su juguete debe de existir previamente un molde o una plantilla de donde sale ese juguete. Pero al niño no le sirve la plantilla, sino el juguete creado con esta, por eso para cumplir la necesidad del niño es necesario que se use la plantilla para crear un nuevo juguete.

Conceptos Basikos

En este simple ejemplo podemos apreciar el proceso que se llama programación orientada a objetos.

En este caso el niño viene a representar al programador, la plantilla para crear el juguete es lo que se llame como «clase», y el juguete en si es el «objeto»

Para poder trabajar en POO debemos tener en cuenta este ejemplo.

Conceptos de POO

Clases Objetos Encapsulamiento Herencia Polimorfismo Abstracción Ocultamiento

Estructura

Declaración de una clase

[public] [final ][ abstract] class Clase [extends ClaseMadre] { Public, final y abstract son el tipo de clase

que podemos declarar. La clase «public» es aquella que puede ser

vista por cualquier clase. La clase «final» es aquella que no puede

tener clase que la hereden La clase «abstract» es aquella que puede

tener herederas pero no puede ser instanciada.

Declaración de atributos o variables

[private|protected|public] [static] [final] [transient] [volatile] Tipo NombreVariable [= Valor]; Puede ser declarada como: [private|

protected|public] [static] [final] [transient] [volatile]

siendo las mas usadas private, protected y public.

Tipo de variables en java

byte 8 bits -128 a 127 short 16 bits -32,768 a 32,767 int 32 bits -2,147,483,648 a 2,147,483,647 long 64 bits -9,223,372,036,854,775,808L a

9,223,372,036,854,775,807L float 32 bits +/- 3.4E+38F (6-7 dígitos

importantes) double 64 bits +/- 1.8E+308 (15 dígitos

importantes) char 16 bits Conjunto de caracteres Unicode ISO boolean 1 bits verdadero o falso

Declaración de métodos

[private|protected|public] [static] [abstract] [final] [native] [synchronized] TipoDevuelto NombreMétodo ( [tipo1 nombre1[, tipo2 nombre2 ]…] )

Los métodos pueden ser de tipo: Las clases native son aquellas que se

implementan en otro lenguaje (por ejemplo C o C++) propio de la máquina.

Las clases synchronized permiten sincronizar varios threads para el caso en que dos o más accedan concurrentemente a los mismos datos.

Condicionales if

Estructuras de control

Bucles «For»

Ejercicios

Representar el calculo factorial de un numero

cualquiera.

Obtener el mayor de 3, 4 y 5 números ingresados

por teclado.

Ordenar 10 números de forma ascendente.

Mostrar los 10 primeros números pares.

Mostrar todos los divisores de 20.

Mostrar la tabla de multiplicar de cualquier numero

Suma el total de los elementos del siguiente arreglo[] ={1,2,3,4,5,6,7,8,9,10}.

Encontrar las letras en la posición:26,4, 45,11,2,3,14,1,5, 32. De la frase: «Esta es una frase de prueba de Java para probar los string»

Comparar 2 palabras y mostrar si son igual o no.

Mostrar el numero de cifras que contiene un numero ingresado.

Hallar si un numero es primo o no.

Vectores

Los vectores o también llamados arreglos o arrays se utilizan para poder almacenar una cantidad predeterminada de datos del mismo tipo.

Su estructura es: Tipovariable Nombrevector[] = new

tipovariable[tamaño];

Un vector se puede crear en 2 pasos ya que el hacer uso de este es crear un objeto.

En el primer paso se declara al vector para su posterior uso. tipo nombre [];

En el segundo paso se crea al vector nombre = new tipo [elementos];

Operaciones de con Vectores

La primera operación de un vector es conocer su tamaño, lo cual se hace a través de del comando: «nombrevector.length», lo cual nos devuelve un entero.

Otra operación es el llenado de un vector, el cual se puede hacer asignando todos lo valores de uno solo:

El segundo modo es usando el indicador, es decir, introduciendo dato por dato en una posición especifica dada por nosotros.

Para usar este tipo de llenado se necesita un bucle, ya que llenar dato por dato es un trabajo muy complejo.

Ejemplo de uso de un vector

Suma de los elementos de un vector

Copia de un vector

Hay 2 maneras correctas de copiar un vector y una incorrecta.

Del siguiente modo solo copias las referencias mas no los elementos:

En otras palabras solo copia el tamaño y el tipo.

La segunda manera es a través de un bucle y un pequeño algoritmo.

El segundo modo es a través de una función ya implementada en Java.

El primer parámetro (from), es para indicar el nombre del vector de donde se va a copiar, el segundo parámetro (fromIndex) es para indicar desde k posición se va a empezar a copiar, el tercer parámetro (to) es el nombre del vector en donde se va a copiar, el cual debe de estar creado previamente, el cuarto parámetro es (toIndex), en el que se define en que posición se va a empezar a copiar, y el ultimo paramtro (n), es el que indica el numero de elementos a copiar.

Ejemplo de copia de un vector

En este ejemplo podemos ver la copia de un vector llamado pares a un vector llamado datos, esta es una copia total, es decir desde el primer elemento hasta el ultimo.

Matrices

Las matrices son un tipo especial de vectores, se diferencian por que aparte de tener in numero de filas, también tiene un numero de columnas.

Se pueden definir también en dos pasos

En los primeros «[]» se pone el numero de filas y en el segundo el numero de columnas, esto quiere decir que los vectores y las matrices son contenedores de información de tipo estáticos, ya que vienen con un tamaño definido en su creación, mas adelante veremos los elementos dinamicos.

Operaciones con Matrices

Las operaciones con matrices son las mismas que con los vectores pero con algunas modificaciones.

Para obtener su tamaño hay que tener en consideración si queremos el numero de filas o el de columnas.

El tamaño del array puede obtenerse utilizando la propiedad; Array.length.

El agregar los elementos es casi igual, existen 2 métodos, el primero es darle todos los datos de uno solo.

Y el otro es dando los valores a través de un bucle y utilizando sus índices de fila y columna.

Ejercicio en clase

Realizar un programa que ejecute sumas, restas, multiplicación y división de dos datos ingresados por teclado y que al final pregunte su desea realizar otra operación. Además tiene que darnos la opción de elegir que operación queremos realizar, la cual también se ingresara por teclado.

Strings

Para obtener la longitud de la cadenanombre.length()

Si deseamos concatenar cadenasnombre = "Juan"+" Garcia”;

Se puede utilizar el método concat para concatenar dos cadenas,

nombre = " Carlos“; cadena=nombre.concat(" Juan ");

el contenido de cadena, al final sería: "CarlosJuan "

Para obtener el caracter que se encuentra en una posición

charAt(posición); Ejemplo:

cadena.charAt(0) devolveria el caracter “C”donde posición se inicia en cero.

Para extraer una subcadena, hay dos formas

substring(int posiciónInicial); copia desde la posición inicial

hasta el final de la cadenasubstring(int posiciónInicial, int posicionFinal);

copia desde la posición inicial hasta la posición final-1

Un ejemplo de substring,

nombre=“Maria Rosa”;

System.out.println(nombre.substring(2));

System.out.println(nombre.substring(2,4));

La salida sería,ria Rosari

Para sustituir una letra por otra dentro de la cadena

replace(char original,char sustituto)

ejemplo,

cadena=“casa mia”;

System.out.println(cadena.replace('a','e'));

la salida sería:cese mie

Para convertir los caracteres de una cadena de mayúsculas a minúsculas

toLowerCase() Ejemplo:

cadena=“CASA MIA”;

System.out.println(cadena.toLowerCase());

la salida sería:casa mia

Para convertir los caracteres de una cadena de minúsculas a mayúsculas

toUpperCase() Ejemplo:

cadena=“casa mia”;

System.out.println(cadena.toUpperCase());

la salida sería:CASA MIA

Para comparar los caracteres dentro de dos cadenas

equals()

ejemplo:if (s1.equals(s2)){

System.out.println("Son iguales los caracteres");

}else{

System.out.println("no son iguales los caracteres");

}

Para comparar los caracteres dentro de dos instancias, sin diferenciar entre mayúsculas y minúsculas

equalsIgnoreCase()

ejemplo, if (s1.equalsIgnoreCase(s2))

{System.out.println("Son iguales los

caracteres");}else{

System.out.println("no son iguales los caracteres");

}

Para determinar si la cadena comienza con una cadena especificada.

startsWith() ejemplo,

if (s1.startsWith("car")){System.out.println("SI");}

else{System.out.println("NO");}

Para determinar si una cadena se encuentra, a partir de una posición, dentro de una cadena especificada,

startsWith(String cadena,int posición)

ejemplo,

if (s1.startsWith("car",3)){System.out.println("SI");}

else{System.out.println("NO");}

Para determinar si la cadena termina con una cadena dada.

endsWith() ejemplo,

if (s2.endsWith("SA")){System.out.println("SI");}

else{System.out.println("NO");}

Ejercicios de String

Realizar un programa que dada una cadena de caracteres, la devuelva invertida.

Ejercicios de programación

Crear un programa el cual te pida la edad de una persona y te calcule su edad en un año indicado por teclado.

Escribir un programa que pida un año y diga si es bisiesto o no. Nota: Un año es bisiesto si es múltiplo de 4

salvo el caso en que sea múltiplo de 100, que no es bisiesto, y no sea múltiplo de 400. Por ejemplo, el año 1900 no fue bisiesto, el 2000 sí y el 2100 no lo es.

Realizar un programa que lea 20 números (entre el 1 y el 10) y muestre aquel o aquellos que hayan aparecido más veces.

Calcular la suma de 2 matrices. Crear un programa con las opciones de:

Leer una cadena Convertirla a minúsculas o mayúsculas Mostrar el numero de caracteres que contiene Invertir la cadena y Salir del programa

Ejercicio de arrays

Realizar un programa que maneje un array de enteros a través de una interfaz con seis opciones:

1.- Añadir un elemento al array (comprobando que el array no esté lleno) 2.- Eliminar un elemento del array (comprobando que el array no esté vacío) 3.- Listar el contenido del array 4.- Contar las apariciones de un número en el array 5.- Calcular la media y el máximo de los elementos del array 0.- Terminar

Ejercicios extras 1

Dada una figura cuadrilátera, leer los valores de los cuatro lados (indicando desde el lado izkierdo y siguiendo el sentido horario), e indica si dicha forma un cuadrado, un rectángulo o simplemente es una figura invalida.

Realice un programa que lea por consola un párrafo y que de como resultado otro párrafo, con las mismas palabras pero invertidas. Ingrese frase: esta casa es mía Resultado: mía es casa esta

Ejercicios extras 2

Realice un programa con interfaz que lea un frase u oración y también que lea cuantas veces se repite dicha palabra en la oración.

Usando el programa anterior agregarle otro cuadro de texto, cuya funcionalidad se la de leer una palabra y remplazarla por la k se busco en primer lugar.

Al mismo programa agregarle la funcionalidad de la palabra leída eliminarla de la oración en todas las ocasiones que aparezca y la palabra anterior ponerla en mayúscula.

Ejercicio de calentamiento

Crear una plantilla que devuelva las respuestas de una ecuación de segundo grado, y tb k nos devuelva la solución de un binomio perfecto (a+b)^2, ingresándole nosotros los valores de «a» y «b».

Crear un programa con interfaz y que lea un numero, si es «0» debe devolver domingo, si es «1» dará lunes y así sucesivamente hasta el 7, si se ingresa otro carácter que muestre un mensaje.

Pa´romperse el coco!

Tal vez el esquema de codificación más famoso de todos es el código Morse, desarrollado por Samuel Morse en 1832 para el sistema telegráfico. El código Morse asigna una serie de puntos y rayas a cada letra del abecedario, a cada dígito y a algunos caracteres especiales (punto, coma, dos puntos y punto y coma). Ver tabla adjunta.

Escribir un programa que lea una frase y la codifique en código Morse. También escriba un programa que lea una frase en código Morse y la convierta en su equivalente en castellano. La separación entre letras se indicará mediante un espacio, mientras que la separación entre palabras se indicará mediante 3 espacios.

Un poco de historia

Julio Cesar enviaba mensajes a sus legiones encriptando los mensajes mediante el siguiente algoritmo: Se escogía un número n como clave y se sumaba

a cada letra en el alfabeto n posiciones. Así, si la clave escogida fuese 5, la ‘a’ pasaría a ser la ‘f’, mientras que la ‘f’ pasaría a ser la ‘k’. Para las últimas letras del abecedario se seguiría desde el principio. Así, con la clave de 5 la ‘y’ pasaría a ser la ‘d’.

Se pide crear un programa que encripte una frase mediante este algoritmo en una clave dada, y crear otro frame donde se traduzca esta frase, dando la opción d escoger la clave.

Listas en java

Las listas son un tipo especial almacenamiento de datos, por lo que son un tipo especial de array.

Una lista se define con la sintaxis: List<String> list = new ArrayList<String>();

Para agregar elementos de una lista se usa el comando: list.add("Andrea"); donde list es el nombre de la lista y Andrea el dato a guardar.

Para consultar el tamaño de una lista se usa el comando: list.size(); el cual nos devuelve un entero, debemos tener en cuenta que tamaño es diferente a posición.

Para el manejo de un ArrayList y de sus elementos, hay dos formas.

La primera es llamar a los elementos de la lista con el comando: list.get(0); lo cual te devuelve el elemento k as agregado en la posición 0.

El otro modo para manejar una lista es usar un Iterator que viene a simular otra lista pero mas sencilla, con esta podemos hacer uso de los comandos: .hasNext() que nos dice si hay más elementos y que el método .next() nos permite movernos al siguiente elemento.

Para eliminar un elemento de una lista se usa el .remove, ya sea que se trabaja directamente con la lista o con el iterator.

El metodo list.clear(); hace que tu lista se quede vacia.

Y el comando list.isEmpty(); te devuelve un boolean, el cual es verdad si la lista esta vacia.

Trabajo de Listas

Crear una simulación de una base de datos que registre equipos de futbol, de cada equipo se necesita saber su nombre, su código, el numero de sus integrantes y el nombre de su coach.

Además debemos de poner editar la lista de equipos, es decir agregar, modificar datos y eliminar datos.

Además tiene que indicar si este equipo es de clase A, B y C, siendo la clase A la mas alta.

Suerte :D

Esto es todo por el momento!