Sunteți pe pagina 1din 23

Programacin en JAVA (Modulo I)

Ing. Eddy Salazar CONTENIDO 1. Introduccion 1.1. Caracteristicas 1.2. Estructura de una clase 1.3. Tipo de datos 1.4. Estructuras de control 2. Metodos 2.1. Funciones 2.2. Procedimientos 2.3. Recursividad 3. Estructuras de datos 3.1. Vectores 3.2. Matrices 4. Entrada de datos por consola 5. Excepciones

Practica final no examen

CARACTERISTICAS POO Cdigo neutral: en diferentes SO

.java

compilar

.class

interpretar

resultado

Compilar: para validar errores de sintaxis Interpretar: es lo mismo que ejecutar el programa ESTRUCTURA DE UNA CLASE EN JAVA

Modificador class NombreClase { Atributos Mtodos }


Modificador: Public: la clase es publica y puedo acceder a ella sin restriccion Private: clase privado, no se puede acceder desde otras clases Protected: se utiliza en herencia de clase

NombreClase: es el nombre el cual siempre debe iniciar con mayscula y en singular Atributos: Caractersticas de la clase Mtodos: acciones que puedo realizar Mtodo Principal: Public static void main (String arg[]) { } Static: es aquel que para poder ser llamado no necesito un objeto Void: dice que es un procedimiento TIPOS DE DATOS char boolean byte 2 8 = 256 = -128---------------0-----------------127 short 2 16 int 2 32 long 2 64 float double: es aconsejable por la precisin String: es la clase string

ESTRUCTURAS DE CONTROL IF if (condicion) { .. } else { . } FOR for (valor inicial; condicin; incremento/decremento) { . } WHILE while (condicion){ . } DO do{ } while (condicion); Ejercicio 1:

public class Saludo { public static void main (String arg []) { System.out.print("HOLA MUNDO"); } }
Guardar el archivo:

Para ejecutar:

Se genera el archive .class

Para interpretar:

Genera el mensaje:

JDEVELOPER

Primero crear aplicacion Dentro aplicacin proyectos

New Aplicattion:

Paquete: conjunto o coleccin de clases, por ejemplo: java.sql es un paquete para trabajar con base de datos

En la carpeta src: se almacenan los .java En la carpeta clases: se almacenan las clases .class

Java.lang es el paquete de java y object es la clase, heredamos esta clase para

El botn de arriba ejecuta todo el proyecto, no solo la clase Ejercicio1: Serie de Fibonacci

Ejercicio2: serie

Clase 28 de Julio Crear la clase Metodos

Crear clase PrincipalMetodos , con el metodo principal, done se crearan los objetos que llamen a las clases de Metodos.java

Metodos.java package proyecto1; public class Metodos { public int contarDig (int n) { int c=0; while (n>0) { n=n/10; c++; } return c; } public boolean primo (int n){ int i; if(n==2) return true; if (n<2 || n%2==0) return false; for (i=3; i< n/2; i=i+2) { if (n%i==0) return false; } return true; } } public String seriePrimos() { String s="2"; //String s="";inicializa una cadena vacia int i; for(i=3; i<=100;i=i+2) if (primo(i)) s=s+" "+i; return s; }

PrincipalMetodos.java package proyecto1; public class PrincipalMetodos { public static void main(String[] args) { Metodos A=new Metodos(); System.out.println(A.contarDig(2134465)); System.out.println(A.primo(125)); System.out.println(A.seriePrimos()); } }

Casting: Conversiones en Java (tipoDato)valor Math.pow(a,b) variables de tipo double

Clase 04 de Agosto PROCEDIMIENTOS Admiten 0 o mas parmetros de entrada Devuelven 0 o ms parmetros de salida, se los define como atributos de la clase. Con tres tipos de comportamientos: pblicos, privados y protegidos Sintaxis public void nombre( , , ) { .. } Cuando un procedimiento no tiene parametros de salida y un print dentro solo se llama asi: A.contarDigP(55555); Cuando un procedimiento tiene uno o mas procedimientos System.out.println(A.c); Recursividad Funcin recursiva n! =n*(n-1) Criterio base Si n=0 devolver 1

Estructura de datos Es la forma de almacenar coleccionar o agrupar varios valores, simples o complejos y manipularlos. Lineales: son aquellas que siguen un orden, por ejemplo: vectores, Matrices No Lineales: cambio su lgica en la manipulacin de datos, puede o no seguir un orden, por ejemplo: Pilas, colas, listas, rboles, grafos a. Vectores: Declaracin y creacin del vector:

tipoDato vector [] = new tipoDato[dimension];


declaracin = creacin, porque le digo cunto va almacenar

Ej: int A[] = new int [10]; Declaracin e inicializacin: tipoDato vector [] ={elemento1, elemento2, elemento3, .., elemento n} ej: int B[] = {20,2,3,45,90} Dimensin del vector Vector.length() Ej: A.length () -- el cual devuelve en este caso 10 porque asi estaba inicializado

Ejercicio: Dado un vector, devolver en otro vector la cantidad de elementos primos, la sumatoria de los elementos pares y el promedio de los elementos impares public int[] ejercicio(int V[], int n){ int R[]= new int [3]; Metodos F= new Metodos(); int cpr=0, sp=0, si=0, i, a=0; for(i=0;i<n;i++){ if(F.primo(V[i])) cpr++; if (V[i]%2==0) sp= sp+V[i]; else{ si= si+V[i]; a++; } } si=si/a; R[0]=cpr; R[1]=sp; R[2]=si; return R; } Para mostrar la funcin desde el mtodo principal: int X[]= new int[3]; X=P.ejercicio(B, B.length); P.mostrarV(X, X.length); b. Matrices: Declaracin y creacin tipoDato nombre [][] = new tipoDAto[# filas][# columnas]; P.mostrarV(P.ejercicio(B, B.length), 3);

ejemplo: int A[][]= new int [10][20]; Declaracin e inicializacin tipoDato nombre [][]= {{el1, el2}, {op1, op2, op3}}; ejemplo: int B[][]= {{1,2},{3,6,5}}; Ejercicio 1-M: Dada una matriz, devolver en un vector la sumatoria de los elementos pares de cada columna de la matriz Por ejemplo: 1 15 24 9 24 Ejercicio 2-M: Generar la siguiente matriz: 1 2 3 4 9 10 11 12 16 15 14 13 8 7 6 5 4 20 3 10 34 30 11 1 8 38

Cadenas (Clase String)

Dimensin de la cadena Int cadena.length() Programacin = 13 Extraccin de un carcter char cadena.charAT (n) Java = v Convertir a maysculas y minsculas cadena.toUpperCase () Mayscula cadena.toLowerCase () Minscula int =2

Comparacin de cadenas int cadena.compareTo(cadena) 0 si son iguales boolean cadena.equals (cadena) true= verdadero y false = falso Comparacin estricta hola no es igual a Hola

boolean cadena.equalsIgnoreCase (cadena) true= verdadero y false = falso

Comparacin no estricta hola es igual a Hola

Posicin de un carcter o cadena int cadena.indexOf(c) el parametro puede ser char o string (cadena), Por ejemplo: busca la o de izquierda a derecha y devuelve su posicin

int cadena.lastIndexOf(c) el parametro puede ser char o string (cadena) Por ejemplo: buscar la posicion de la letra o en la palabra: Programacion cadena.indexOf(o) = 2 busca la o de izquierda a derecha y devuelve su posicin cadena.lastIndexOf(o) = 10 busca la o de derecha a izquierda posicin Extraccin de subcadenas String cadena.substring(a, b) a<b, donde a y b deben ser de tipo int Extrae b-a carteresa partir de la posicin a Ejemplo: Tecnologia cadena.substring(3,7)= nolo y devuelve su

Conversin de valores numricos a cadena String cadena.valueOf(n) el n puede ser de tipo: int, long, byte, short, float, double Ejemplo: cadena.valueOf(7)= 7

Ejercicio: Dada una cadena que almacena el nombre y la extensin de un determinado archivo, cambiar la extensin del archivo a: .html

ANEXO

Las cadenas de texto. Una cadena de texto (en ingls, "string") es un bloque de letras, que usaremos para poder almacenar palabras y frases. En algunos lenguajes, podramos utilizar un "array" de "chars" para este fin, pero en Java no es necesario, porque tenemos un tipo "cadena" especfico ya incorporado en el lenguaje. Realmente en Java hay dos "variantes" de las cadenas de texto: existe una clase llamada "String" y otra clase llamada "StringBuffer". Un "String" ser una cadena de caracteres constante, que no se podr modificar (podremos leer su valor, extraer parte de l, etc.; para cualquier modificacin, realmente Java crear una nueva cadena), mientras que un "StringBuffer" se podr modificar "con ms facilidad" (podremos insertar letras, dar la vuelta a su contenido, etc) a cambio de ser ligeramente menos eficiente (ms lento). Vamos a ver las principales posibilidades de cada uno de estos dos tipos de cadena de texto y luego lo aplicaremos en un ejemplo. Podemos "concatenar" cadenas (juntar dos cadenas para dar lugar a una nueva) con el signo +, igual que sumamos nmeros. Por otra parte, los mtodos de la clase String son:

Mtodo length() charAt (int pos) toLowerCase() toUpperCase() substring(int desde, int cuantos) replace(char antiguo, char nuevo) trim() startsWith(String subcadena) endsWith(String subcadena) indexOf(String subcadena, [int desde])

Cometido Devuelve la longitud (nmero de caracteres) de la cadena Devuelve el carcter que hay en una cierta posicin Devuelve la cadena convertida a minsculas Devuelve la cadena convertida a maysculas

Devuelve una subcadena: varias letras a partir de una posicin dada

Devuelve una cadena conun carcter reemplazado por otro

Devuelve una cadena sin espacios de blanco iniciales ni finales

Indica si la cadena empieza con una cierta subcadena

Indica si la cadena termina con una cierta subcadena

Indica la posicin en que se encuentra una cierta subcadena (buscando desde el principio, a partir de una posicin opcional)

lastIndexOf(String subcadena, [int desde])

Indica la posicin en que se encuentra una cierta subcadena (buscando desde el final, a partir de una posicin opcional) Devuelve un String que es la representacin como texto del objeto que se le indique (nmero, boolean, etc.) Devuelve la cadena con otra aadida a su final (concatenada) Tambin se pueden concatenar cadenas con "+" Mira si las dos cadenas son iguales (lo mismo que "= =") Comprueba si dos cadenas son iguales, pero despreciando las diferencias entre maysculas y minsculas

valueOf( objeto )

concat(String cadena)

equals(String cadena) equals-IgnoreCase( String cadena)

Compara una cadena con la otra (devuelve 0 si son iguales, compareTo(String cadena2) negativo si la cadena es "menor" que cadena2 y positivo si es "mayor").

Como se ve, en ningn momento estamos modificando el String de partida. Eso s, en muchos de los casos creamos un String modificado a partir del original. El mtodo "compareTo" se basa en el rden lexicogrfico: una cadena que empiece por "A" se considerar "menor" que otra que empiece por la letra "B"; si la primera letra es igual en ambas cadenas, se pasa a comparar la segunda, y as sucesivamente. Las maysculas y minsculas se consideran diferentes. Hay alguna otra posibilidad, de uso menos sencillo, que no veremos (al menos por ahora), como la de volcar parte del String en un array de chars o de bytes.

Los mtodos de la clase StringBuffer son:

Mtodo length() setLength() charAt (int pos)

Cometido Devuelve la longitud (nmero de caracteres) de la cadena Modifica la longitud de la cadena (la trunca si hace falta) Devuelve el carcter que hay en una cierta posicin

setCharAt(int pos, char Cambia el carcter que hay en una cierta posicin letra) toString() Devuelve el StringBuffer convertido en String

reverse() append( objeto ) insert(int pos, objeto)

Cambia el orden de los caracteres que forman la cadena Aade otra cadena, un nmero, etc. al final de la cadena Aade otra cadena, un nmero, etc. en una cierta posicin

Al igual que ocurre con los strings, existe alguna otra posibilidad ms avanzada, que no he comentado, como la de volcar parte del String en un array de chars, o de comprobar la capacidad (tamao mximo) que tiene un StringBuffer o fijar dicha capacidad.

Un comentario extra sobre los Strings: Java convertir a String todo aquello que indiquemos entre comillas dobles. As, son vlidas expresiones como "Prueba".length() y tambin podemos concatenar varias expresiones dentro de una orden System.out.println:
System.out.println( "Texto: " + texto1 + 5 + 23.5 );

Vamos a ver un ejemplo que aplique la mayora de todo esto:


// Strings1.java // Aplicacin de ejemplo con Strings // Introduccin a Java,

class Strings1 { public static void main( String args[] ) {

String texto1 = "Hola"; String texto2 = new String("Prueba");

// Forma "sencilla" // Usando un constructor

System.out.println( "La primera cadena de texto es :" ); System.out.println( texto1 );

System.out.println( "Concatenamos las dos: " + texto1 + texto2 ); System.out.println( "Concatenamos varios: " + texto1 + 5 + " " + 23.5 ); System.out.println( "La longitud de la segunda es: " + texto2.length() ); System.out.println( "La segunda letra de texto2 es: " + texto2.charAt(1) ); System.out.println( "La cadena texto2 en maysculas: " + texto2.toUpperCase() ); System.out.println( "Tres letras desde la posicin 1: " + texto2.substring(1,3) ); System.out.println( "Comparamos texto1 y texto2: " + texto1.compareTo(texto2) );

if (texto1.compareTo(texto2) < 0) System.out.println( "Texto1 es menor que texto2" ); StringBuffer texto3 = new StringBuffer("Otra prueba");

texto3.append(" mas"); System.out.println( "Texto 3 ahora es: " + texto3 );

texto3.insert(2, "1"); System.out.println( "Y ahora es: " + texto3 ); texto3.reverse(); System.out.println( "Y ahora: " + texto3 );

} }

El resultado de este programa sera el siguiente:


La primera cadena de texto es : Hola Concatenamos las dos: HolaPrueba Concatenamos varios: Hola5 23.5 La longitud de la segunda es: 6 La segunda letra de texto2 es: r La cadena texto2 en maysculas: PRUEBA Tres letras desde la posicin 1: ru Comparamos texto1 y texto2: -8 Texto1 es menor que texto2 Texto 3 ahora es: Otra prueba mas Y ahora es: Ot1ra prueba mas Y ahora: sam abeurp ar1tO

S-ar putea să vă placă și