Top Banner
Programación de Algoritmos Autor: Luis Eduardo Villavicencio Prof.: Ing. Danilo Jaramillo
24
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cap I

Programación de Algoritmos

Autor: Luis Eduardo Villavicencio

Prof.: Ing. Danilo Jaramillo

Page 2: Cap I
Page 3: Cap I

Java utiliza los siguientes tipos de datos que van en rangos en el caso de los enteros que son: byte, short, int y long:

EnterosNombre Tamaño Rango

Long 64 bits -9.233.372.036.854.775.

808L a 9.233.372.036.854.775.

807L

Int 32 bits -2.147.483.648 a 2.147.483.647

Short 16 bits -32.768 a 32.767

Byte 8 bits -128 a 127

Page 4: Cap I

Los datos de coma flotante de Java son float y double y sus rangos se explican en el siguiente cuadro:

Nombre Tamaño Rango

float 32 bits ± 3.40282347E+38F

double 64bits ± 1.79769313486231570

E+308

Page 5: Cap I

En Java se utiliza Unicode para almacenar los caracteres y por ello se emplean 16 bits para almacenar cada caracter.

Secuencia Descripción

\b Retroceso

\t Tabulador

\r Retorno de carro

\n Nueva línea

\’ Comilla simple

\” Comilla doble

\\ Barra invertida

Page 6: Cap I

Java también utiliza datos lógicos como es el caso del Boolean el mismo que solo puede tomar 2 valores de Verdadero y Falso.

En Java usamos envoltorios que recubren el tipo de dato básico con una clase, de ahí en adelante el tipo básico se convierte en un objeto.En la siguiente tabla se muestra los 9 tipos de envoltorios para los tipos básicos:

Page 7: Cap I

Tipo Envoltorio

int Integer

long Long

float Float

double Double

short Short

byte Byte

char Character

boolean Boolean

void Void

Page 8: Cap I

Declaración de Variablestipo identificador [=valor][,identificador[=valor]…];

Ejemplo:int i=5;

float j;

double d = Math.sqrt(i*2);

Page 9: Cap I

Conversión AutomáticaExisten dos reglas para determinar si se

puede realizar la conversión automática.Los dos tipos son compatibles.El tipo destino es más grande que el tipo origen.Reglas de Compatibilidad:Todos los tipos numéricos son compatibles entre sí, sin importar que sean enteros o reales.El tipo char es compatible con int.El tipo boolean no es compatible con ningún otro tipo.

Page 10: Cap I

Ejemplos de conversión automática

int a;

a=‘c’;

short g;

g=678;

Page 11: Cap I

Conversión explicita (Casting)Para realizar ésta conversión debemos anteponer al

dato quequeremos cambiar el tipo destino encerrando en

paréntesis.La conversión se realiza siguiendo las siguientes

reglas:Entre números enteros, si el destino es mayor que

el origen, el valor resultante será el resto (módulo) de la división entera del valor con el rango del tipo de destino.

Si el origen es un número real y el destino un entero, la parte decimal se trunca, además si la parte entera restante no cabe en el destino, se aplica en criterio del módulo.

Entre número reales, se guarda el máximo valor posible.

A continuación se muestran algunos ejemplos de conversión explicita:

Page 12: Cap I

dou=3.40282347E+50;

float fl=(float) dou;

double d=123.67;

int dest=(int) d;

int j= 257;

byte b;

b=(byte) j;

Page 13: Cap I

Declaración de arrays de una dimensión.La declaración se realiza especificando el tipo del array seguido de [], después viene el nombre de la variable.

int[] a;

Ahora reservamos un espacio de memoria para almacenar el array con el operador new.

a=new int[20];

Page 14: Cap I

Ejemplos de cómo declarar arrays

float[] b=new float[10];

int tamaño=15;

float a[]=new float[tamaño];

Page 15: Cap I

Declaración de un array multidimensional

La forma de definirlo se ve a continuación:int[][] tabla=new int[6][7];

Al definir un array multidimensional, sólo es obligatorio indicar el número de filas, después se puede reservar memoria para el resto de forma independiente.

int[][] tabla=new int[3][];tabla[0]=new int[3];tabla[1]=new int[3];

Cuando tenemos más dimensiones todo continúa funcionando de la misma forma, sólo es necesario añadir otro grupo de corchetes para poder declarar cada nueva dimensión.

Page 16: Cap I

Operadores Aritméticos

Operador Descripción

+ Suma

- Resta

* Multiplicación

/ División

% Módulo

++ Incremento

-- Decremento

Page 17: Cap I

Operadores Relacionales

Operador Descripción

== Igual

!= Diferente

> Mayor que

< Menor que

>= Mayor o igual

<= Menor o igual

Page 18: Cap I

Operadores Lógicos

Operador Descripción

& AND

| OR

^ XOR

&& AND en cortocircuito

|| OR en cortocircuito

! NOT

Page 19: Cap I

SENTENCIAS CONDICIONALESSentencia if-else

if(expresión){ if(opción==3){ sentencia suma=suma+2; sentencia opción=0; ... }else{}else{ suma=0 sentencia opción=0; sentencia } ...}

Page 20: Cap I

int opción=0;

switch(opción){

case 1: Suma;

break;

case 2: Resta;

break;

case 3: Multiplicación;

break;

case 4: División;

break;

case 5: Potencia;

break;

default: System.out.println(“Opción Incorrecta”);

}

Page 21: Cap I

Sentencia switchswitch(expresión){

case valor1: sentencia;sentencia;...[break;]

case valor2: sentencia;sentencia;...[break;]

[default: sentencia; sentencia;

}

Page 22: Cap I

Bucle whileSu principal característica es que posee una condición de entrada, es decir si se cumple la condición, se ejecutan las sentencias que estén dentro del bucle.

int valor=1, suma=0;

while(expresión){ while(valor>=10){

sentencia; suma=suma+valor;

sentencia; valor++;

... }

}

Page 23: Cap I

Bucle forAl igual que el bucle while posee una condición de entrada, es decir si se cumple la condición, se ejecutan las sentencias que estén dentro del bucle.

int i, producto=1;

for(exp;exp;exp){ for(i=1;i>=50;i++)

sentencia; producto= producto*i;

sentencia; }

...

}

Page 24: Cap I

Bucle do-whileÉste bucle al contrario de los anteriores posee una condición de salida, lo que permite al bucle ejecutarse por lo menos una vez.

do{

sentencia;

sentencia;

...

}while(expresión);