Fundamentos de programacion en java

32
Capítulo I: Capítulo I: Fundamentos de Fundamentos de programación en java programación en java

Transcript of Fundamentos de programacion en java

Page 1: Fundamentos de programacion en java

Capítulo I:Capítulo I:Fundamentos de Fundamentos de

programación en javaprogramación en java

Page 2: Fundamentos de programacion en java

Fundamentos del lenguajeFundamentos del lenguaje

Para empezar a estudiar este lenguaje, Para empezar a estudiar este lenguaje,

primeramente se necesita conocer qué primeramente se necesita conocer qué

datos es capaz de manejar, qué datos es capaz de manejar, qué

posibilidades de manejo de esos datos nos posibilidades de manejo de esos datos nos

proporciona, que herramientas para proporciona, que herramientas para

controlar la ejecución nos permite y qué controlar la ejecución nos permite y qué

interacción con el usuario nos ofrece.interacción con el usuario nos ofrece.

Page 3: Fundamentos de programacion en java

Tipos básicos de datosTipos básicos de datos

Los bloques en los que se encuentran Los bloques en los que se encuentran divididos los tipos básicos en java son:divididos los tipos básicos en java son: Enteros: Son cuatro tipos que nos permiten Enteros: Son cuatro tipos que nos permiten

representar números enteros.representar números enteros. Coma flotante: Son dos tipos usados para Coma flotante: Son dos tipos usados para

representar datos reales.representar datos reales. Caracteres: Un tipo que nos permite representar Caracteres: Un tipo que nos permite representar

caracteres de cualquier idioma mundial.caracteres de cualquier idioma mundial. Lógicos: Un tipo para representar valores Lógicos: Un tipo para representar valores

lógicos.lógicos.

Page 4: Fundamentos de programacion en java

EnterosEnteros

NombreNombre TamañoTamaño RangoRango

longlong 64 bits64 bits -9.233.372.036.854.775.808L a -9.233.372.036.854.775.808L a 9.233.372.036.854.775.808 9.233.372.036.854.775.808

intint 32 bits32 bits -2.147.483.648 a -2.147.483.648 a 2.147.483.6472.147.483.647

shortshort 16 bits16 bits -32.768 a 32767-32.768 a 32767

bytebyte 8 bits8 bits -128 a 127-128 a 127

Page 5: Fundamentos de programacion en java

Coma flotanteComa flotante

NombreNombre TamañoTamaño RangoRango

floatfloat 32 bits32 bits ±3.40282347E+38F±3.40282347E+38F

doubledouble 64 bits64 bits ±1.79769313486231570E+308±1.79769313486231570E+308

Page 6: Fundamentos de programacion en java

CaracteresCaracteres

SecuenciaSecuencia DescripciónDescripción

\b\b RetrocesoRetroceso

\t\t TabuladorTabulador

\r\r Retorno de carroRetorno de carro

\n\n Nueva líneaNueva línea

\’\’ Comilla simpleComilla simple

\”\” Comilla dobleComilla doble

\\\\ Barra invertidaBarra invertida

Page 7: Fundamentos de programacion en java

LógicosLógicos

Para representar valores lógicos Java Para representar valores lógicos Java

utiliza, el tipo boolean, el cual permite tomar utiliza, el tipo boolean, el cual permite tomar

dos valores: verdadero y falso.dos valores: verdadero y falso.

Page 8: Fundamentos de programacion en java

EnvoltoriosEnvoltorios

TipoTipo EnvoltorioEnvoltorio

intint IntegerInteger

longlong LongLong

floatfloat FloatFloat

doubledouble DoubleDouble

shortshort ShortShort

bytebyte ByteByte

charchar CharacterCharacter

booleanboolean BooleanBoolean

voidvoid VoidVoid

Page 9: Fundamentos de programacion en java

Literales y constantesLiterales y constantesTipoTipo LiteralLiteral ComentariosComentarios

intint 123123 Todos los enteros por defecto son intTodos los enteros por defecto son int

longlong 123L123L Es necesario indicar una L Es necesario indicar una L

charchar ‘‘a’a’ Comillas simplesComillas simples

floatfloat 5.9F5.9F Es posible usar también la notación Es posible usar también la notación exponencial 1.8E9exponencial 1.8E9

doubledouble 7.97.9 Todos los reales por defecto son Todos los reales por defecto son double. Se pueden finalizar con una double. Se pueden finalizar con una

DD

booleanboolean truetrue true y false son los únicos valores true y false son los únicos valores válidosválidos

StringString ““hola”hola” Comillas doblesComillas dobles

Page 10: Fundamentos de programacion en java

VariablesVariables

La forma más sencilla de almacenar La forma más sencilla de almacenar

información es utilizar variables. Antes de información es utilizar variables. Antes de

usar cualquier variable, independientemente usar cualquier variable, independientemente

de su tipo, es necesario declararla.de su tipo, es necesario declararla.

Page 11: Fundamentos de programacion en java

Declaración de variablesDeclaración de variablesLa declaración de estas puede realizarse en La declaración de estas puede realizarse en

cualquier parte de una clase o método. La cualquier parte de una clase o método. La

forma de declarar indica el nombre y el tipo forma de declarar indica el nombre y el tipo

de la misma , pero puede ir acompañada de de la misma , pero puede ir acompañada de

más información, como el valor inicial o la más información, como el valor inicial o la

Declaración de más variables del mismo Declaración de más variables del mismo

tipo.tipo.

tipo identificador[=valor] [, identificador[=valor]…]; tipo identificador[=valor] [, identificador[=valor]…];

int i=0, j;int i=0, j;

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

Page 12: Fundamentos de programacion en java

Ámbito y tiempo de vida de Ámbito y tiempo de vida de variablesvariables

El ámbito se produce dentro de un bloque El ámbito se produce dentro de un bloque

de código.de código.

El tiempo de vida es el tiempo que El tiempo de vida es el tiempo que

transcurre entre la declaración de la variable transcurre entre la declaración de la variable

y su destrucción.y su destrucción.{{

int a;int a;

a=9;a=9;

{{

int b=a+1;int b=a+1;

}}

a=10;a=10;

}}

Page 13: Fundamentos de programacion en java

Uso básico de cadenas deUso básico de cadenas de caracterescaracteres

Es posible definir literales de tipo cadena Es posible definir literales de tipo cadena

entrecomillando texto con comillas doblesentrecomillando texto con comillas dobles, ,

imprimir con System.out.println() estas imprimir con System.out.println() estas

cadenas e incluso concatenarlas usando el cadenas e incluso concatenarlas usando el

operador +.operador +.

System.out.println(“Hola”+” mundo”);System.out.println(“Hola”+” mundo”);

también se puede hacer de ésta manera:también se puede hacer de ésta manera:

String a, b;String a, b;

a=“Hola”;a=“Hola”;

b=“ mundo”;b=“ mundo”;

String c=a+b;String c=a+b;

System.out.println(c);System.out.println(c);

Page 14: Fundamentos de programacion en java

ArraysArrays

Es un conjunto de datos homogéneos que Es un conjunto de datos homogéneos que

ocupan posiciones de memoria contiguas y ocupan posiciones de memoria contiguas y

que es posible referenciar a través de un que es posible referenciar a través de un

nombre único.nombre único.

Page 15: Fundamentos de programacion en java

Declaración de arrays de una Declaración de arrays de una dimensióndimensión

La declaración de la referencia del array se realiza La declaración de la referencia del array se realiza

especificando el tipo del array seguido de [], después viene especificando el tipo del array seguido de [], después viene

el nombre de la variable.el nombre de la variable.

int[] a;int[] a;

Una vez que se tiene la referencia, se tiene que reservar la Una vez que se tiene la referencia, se tiene que reservar la

memoria para almacenar el array, para ello se utiliza el memoria para almacenar el array, para ello se utiliza el

operador new. New se utiliza cuando se quiere crear un operador new. New se utiliza cuando se quiere crear un

nuevo elemento de forma dinámica dentro de los nuevo elemento de forma dinámica dentro de los

programas.programas.

a=new int [10];a=new int [10];

Page 16: Fundamentos de programacion en java

Acceso a un array de una Acceso a un array de una dimensióndimensión

Se accede mediante la referencia y un Se accede mediante la referencia y un

índice único, el índice del array es un índice único, el índice del array es un

número entero comprendido entre 0 y la número entero comprendido entre 0 y la

dimensión -1.dimensión -1.

int a[]={1,2,3};int a[]={1,2,3};

System.out.println(b[1]);System.out.println(b[1]);

Se imprimirá 2Se imprimirá 2

Page 17: Fundamentos de programacion en java

Declaración de un array Declaración de un array multidimensionalmultidimensional

Un array bidimensional, es un array de Un array bidimensional, es un array de

arrays y se lo define de la siguiente manera:arrays y se lo define de la siguiente manera:

int [][] tabla=new int [2][3];int [][] tabla=new int [2][3];

Pero solo es obligatorio indicar el número de Pero solo es obligatorio indicar el número de

filas, después se puede reservar memoria filas, después se puede reservar memoria

para el resto de forma independiente.para el resto de forma independiente.int [][] tabla=new int [2][];int [][] tabla=new int [2][];

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

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

Page 18: Fundamentos de programacion en java

Acceso a un array Acceso a un array multidimensionalmultidimensional

Es de la misma manera que en los arrays Es de la misma manera que en los arrays

de una dimensión, solo se le aumenta un de una dimensión, solo se le aumenta un

nuevo grupo de corchetes con el índice de nuevo grupo de corchetes con el índice de

la siguiente dimensión.la siguiente dimensión.

System.out.println(tabla[1][1]);System.out.println(tabla[1][1]);

Page 19: Fundamentos de programacion en java

OperadoresOperadores

Dispondremos de operadores para realizar Dispondremos de operadores para realizar

desde operaciones aritméticas sencillas desde operaciones aritméticas sencillas

hasta operaciones a nivel de bit, los cuales hasta operaciones a nivel de bit, los cuales

son: aritméticos, relacionales, lógicos, a son: aritméticos, relacionales, lógicos, a

nivel de bit, de asignación, el ternario y nivel de bit, de asignación, el ternario y

precedencia de los operadores.precedencia de los operadores.

Page 20: Fundamentos de programacion en java

Operadores aritméticosOperadores aritméticos

Operador Descripción

+ Suma

- Reta

* Multiplicación

/ División

% Módulo

++ Incremento

-- Decremento

Page 21: Fundamentos de programacion en java

Operadores relacionalesOperadores relacionales

Operador Descripción

== Igual

!= Distinto

> Mayor que

< Menor que

>= Mayor o igual

<= Menor o igual

Page 22: Fundamentos de programacion en java

Operadores lógicosOperadores lógicos

Operador Descripción

& AND

| OR

^ XOR

&& AND en cortocircuito

|| OR en cortocircuito

! NOT

Page 23: Fundamentos de programacion en java

Operadores a nivel de bitOperadores a nivel de bit

Operador Descripción

~ NOT

& AND

| OR

^ XOR

>> Desplazamiento a la derecha

>>> Desplazamiento a la derecha sin signo

<< Desplazamiento a la izquierda

Page 24: Fundamentos de programacion en java

Operadores de asignaciónOperadores de asignación

Operador Descripción

~ NOT

+= Suma y asignación

-= Resta y asignación

*= Multiplicación y asignación

/= División y asignación

%= Módulo y asignación

&= AND y asignación

|= OR y asignación

^= XOR y asignación

<<= Desplazamiento a la izquierda y asignación

>>= Desplazamiento a la derecha y asignación

>>>= Desplazamiento a la derecha sin signo y asignación

Page 25: Fundamentos de programacion en java

El operador tenarioEl operador tenario

El operador ? : es el operador ternario. El operador ? : es el operador ternario.

Puede sustituir a una sentencia if-then-else. Puede sustituir a una sentencia if-then-else.

Su sintaxis es: exp1 ? exp2: exp3;Su sintaxis es: exp1 ? exp2: exp3;

Donde exp1 es una expresión booleana.Donde exp1 es una expresión booleana.

Page 26: Fundamentos de programacion en java

Precedencia de los operadoresPrecedencia de los operadoresOperador Asociatividad

() [] . izquierda a derecha

++ - ! +(unario) -(unario) () (cast) new izquierda a derecha

* / % izquierda a derecha

+ - izquierda a derecha

>> >>> << izquierda a derecha

> >= <= > instanceof izquierda a derecha

== != izquierda a derecha

& izquierda a derecha

izquierda a derecha

| izquierda a derecha

&& izquierda a derecha

|| izquierda a derecha

? : izquierda a derecha

= += -= *= /= %= &= |= = <<= >>= >>>= izquierda a derecha

Page 27: Fundamentos de programacion en java

Control de flujoControl de flujo

Existen las sentencias condicionales y los Existen las sentencias condicionales y los

bucles.bucles.

Sentencias condicionales: if-else y switch.Sentencias condicionales: if-else y switch.

Bucles: while, for, do-whileBucles: while, for, do-while

Page 28: Fundamentos de programacion en java

Sentencia if-elseSentencia if-else

Sirve para tomar decisiones, nos permite Sirve para tomar decisiones, nos permite

decidir entre dos posibles opciones decidir entre dos posibles opciones

excluyentes. La sintaxis es la siguiente:excluyentes. La sintaxis es la siguiente:

If (expresión)If (expresión)

sentencia-1sentencia-1

[else[else

sentencia-2]sentencia-2]

Page 29: Fundamentos de programacion en java

Sentencia switchSentencia switch

Sirve para reemplazar if anidados.Sirve para reemplazar if anidados.

La sintaxis es la siguiente:La sintaxis es la siguiente:

switch(expresión) {switch(expresión) {

case valor1: sentencia;case valor1: sentencia;

… …....

[break;][break;]

… …

[default : sentencia;[default : sentencia;

sentencia;]sentencia;]

}}

Page 30: Fundamentos de programacion en java

Bucle whileBucle while

En este bucle una serie de sentencias se En este bucle una serie de sentencias se

repiten mientras se cumple una determinada repiten mientras se cumple una determinada

condición. Una característica es que el condición. Una característica es que el

cuerpo del bucle se ejecuta 0 o N veces.cuerpo del bucle se ejecuta 0 o N veces.

La sintaxis es:La sintaxis es:

While (expresión)While (expresión)

sentencia sentencia

Page 31: Fundamentos de programacion en java

Bucle forBucle for

Es equivalente a un bucle while con la Es equivalente a un bucle while con la

diferencia de que permite realizar diferencia de que permite realizar

asignaciones y cambios en la variable de asignaciones y cambios en la variable de

control dentro del mismo bucle.control dentro del mismo bucle.

La sintaxis es:La sintaxis es:

for(exp1;exp2;exp3)for(exp1;exp2;exp3)

sentenciasentencia

Pueden omitirse cualquiera de las tres Pueden omitirse cualquiera de las tres

expresiones, pero los punto y coma deben expresiones, pero los punto y coma deben

permanecer.permanecer.

Page 32: Fundamentos de programacion en java

Bucle do-whileBucle do-while

La comprobación de la condición del bucle La comprobación de la condición del bucle

se evalúa después de ejecutar el cuerpose evalúa después de ejecutar el cuerpo

La sintaxis es:La sintaxis es:

dodo

sentenciasentencia

while(expresión);while(expresión);

Se ejecuta 1 o N veces.iSe ejecuta 1 o N veces.i