lenguaje de programacion - java
TRANSCRIPT
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!