curso de java estructura del lenguaje

59
Curso de Java Estructura del Lenguaje

Upload: cadman-potter

Post on 01-Jan-2016

56 views

Category:

Documents


2 download

DESCRIPTION

Curso de Java Estructura del Lenguaje. Contenido de la clase. Variables Convención de código Java Tipos primitivos Compilación y ejecución de un programa Java Estructuras de control. Declaración de variables. Declaración < tipo de variable> < nombre de variable>; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Curso  de Java Estructura  del  Lenguaje

Curso de Java

Estructura del LenguajeCurso de Java

Estructura del Lenguaje

Page 2: Curso  de Java Estructura  del  Lenguaje

Contenido de la clase

- Variables- Convención de código Java- Tipos primitivos- Compilación y ejecución de un programa Java

- Estructuras de control

Page 3: Curso  de Java Estructura  del  Lenguaje

Declaración de variables

Declaración<tipo de variable> <nombre de variable>;

Declaración y asignación <tipo de variable> <nombre de variable> = <valor>;

// Variable de tipo intint numeroEntero;

//Múltiples declaraciones en una sola líneaint i, j, l;

Page 4: Curso  de Java Estructura  del  Lenguaje

Identificadores

Un identificador es un nombre que nos permite dirigirnos a las variables, funciones y otros elementos utilizados a la hora de escribir el código de un programa.

Reglas- Los nombres deben empezar con una letra, con _ o $.

- Los siguientes caracteres pueden ser números, letras, _ o $.

Ejemploscontador //válido

_siguiente //válido

1erContador //??

INT //??

Page 5: Curso  de Java Estructura  del  Lenguaje

Práctica

Definir las variables para un programa que reciba como parámetro la cantidad de horas para terminar un trabajo y calcule el equivalente en días de trabajo.

Parámetro

Variables

Page 6: Curso  de Java Estructura  del  Lenguaje

Convenciones

Los identificadores asociados a variables se suelen poner en minúsculas

int Contador; // Malint contador; // Bien

Cuando el identificador está formado por varias palabras, la primera palabra va en minúsculas y el resto de las palabras se una inicia con una letra mayúscula.

int contadorelementos; // malint contadorElementos; // bien

Page 7: Curso  de Java Estructura  del  Lenguaje

Convenciones

Número por línea

Se recomienda una declaración por línea ya que alienta a comentar.

int tamaño; // tamaño de la tablaint cantidad; // cantidad de alumnos

LugarDeclarar las variables al inicio del bloque

void myMethod() { int int1; // inicio del bloque del método if (condicion) { int int2; // inicio del bloque if ... }}

Page 8: Curso  de Java Estructura  del  Lenguaje

Convención - Importancia

-El 80% del costo del ciclo de vida del software va a mantenimiento.

-Difícilmente un software es mantenido por su autor original.

- La convención de código mejora la lectura del programa

Page 9: Curso  de Java Estructura  del  Lenguaje

Definición de constante

final <tipo> identificador = <valor>;

Convenciones

Los identificadores asociados a constantes se suelen poner en mayusculas

final int COTIZACION = 4600;

Si el identificador esta formado por varias palabras, las distintas palabras se separan por un guion bajo.

final COTIZACION_DOLAR = 4600;

Page 10: Curso  de Java Estructura  del  Lenguaje

Tipos primitivos

Tipo numéricoNúmeros enteros: byte, short, int, logNúmeros en coma flotante: float, double

Tipo carácter char

Tipo booleano boolean

Manejo de caracteres a través de una clase.

Page 11: Curso  de Java Estructura  del  Lenguaje

Números enteros

Tipo de dato Espacio en memoria

Valor mínimo Valor máximo

byte 8 bits -128 127

short 16 bits -32768 32767

int 32 bits -2147483648 2147483647

long 64 bits -9223372036854775808 9223372036854775807

Page 12: Curso  de Java Estructura  del  Lenguaje

Números enteros

Tipo de dato Espacio en memoria

Valor mínimo Valor máximo

byte 8 bits -128 127

short 16 bits -32768 32767

int 32 bits -2147483648 2147483647

long 64 bits -9223372036854775808 9223372036854775807

¿long o int?47483648

Page 13: Curso  de Java Estructura  del  Lenguaje

Literales enteros

• Los literales enteros son de tipo int por defecto.

• Un literal entero es de tipo long si va acompañado del sufijo l o L.

• 2334567665L es de tipo long.

Page 14: Curso  de Java Estructura  del  Lenguaje

Desbordamiento de número enteros

short numero = 32767;

numero + 1

Page 15: Curso  de Java Estructura  del  Lenguaje

Desbordamiento de número enteros

Tipo Operación Resultado

byte 127 + 1 -128

short 32767+1 -32768

int 2147483647+1 -2147483648

Page 16: Curso  de Java Estructura  del  Lenguaje

Números en coma flotante

Tipo de dato Espacio en memoria

float 32 bits

double 64 bits

Page 17: Curso  de Java Estructura  del  Lenguaje

Literales reales

• Cadenas de dígitos con un punto decimal234.32 .001

• En notación científica (mantisa.10exponente)123e45 123E+45 1E-6

• Por defecto, los literales reales representan valores de tipo double.

• Para representar un valor de tipo float, añadir el sufijo f o F.

123.87F

Page 18: Curso  de Java Estructura  del  Lenguaje

Caracteres

Literales de tipo carácter

Valores entre comillas simples‘a’ ‘1’ ‘*’

Tipo de dato Espacio en memoria

Codificación

char 16 bits UNICODE

Page 19: Curso  de Java Estructura  del  Lenguaje

Secuencias de escape para representar caracteres especiales

Secuencia de escape Descripción

\t Tabulador

\n Nueva línea

\r Retorno de carro

\b Retroceso

\’ Comillas simples

\” Comillas dobles

\\ Barra invertida

Page 20: Curso  de Java Estructura  del  Lenguaje

Secuencias de escape para representar caracteres especiales

Secuencia de escape Descripción

\t Tabulador

\n Nueva línea

\r Retorno de carro

\b Retroceso

\’ Comillas simples

\” Comillas dobles

\\ Barra invertida

System.out.println("Bienvenidos alumnos al "primer" día de clase");

Page 21: Curso  de Java Estructura  del  Lenguaje

Secuencias de escape para representar caracteres especiales

Secuencia de escape Descripción

\t Tabulador

\n Nueva línea

\r Retorno de carro

\b Retroceso

\’ Comillas simples

\” Comillas dobles

\\ Barra invertida

System.out.println("Bienvenidos alumnos al \"primer\" día de clase");

Page 22: Curso  de Java Estructura  del  Lenguaje

Tipo boolean

• Los literales son true y false

Tipo de dato Espacio en memoria

Valores

boolean 1 bit Verdadero o falso

Page 23: Curso  de Java Estructura  del  Lenguaje

Conversión entre tipos primitivos

Narrowing: conversión de un tipo primitivo mayor a un tipo primitivo menor. La conversión tiene que ser explícita.

double d = 1.5;int i = (int) d; // el valor de d queda truncado a 1

Widening: conversión de un tipo primitivo menor a un tipo primitivo mayor. La conversión puede ser implícita.

short s = 15;float f = s;

Page 24: Curso  de Java Estructura  del  Lenguaje

Conversión entre tipos primitivos

byte

double

short

char

long floatint

Widening

Narrowing

Page 25: Curso  de Java Estructura  del  Lenguaje

Promoción aritmética

Se dá cuando se realiza una operación aritmética entre dos tipos primitivos numéricos diferentes. El compilador realiza una operación widening.

int intDato = 5;double doubleDato = 3;

doubleDato = intDato * doubleDato;

intDato = intDato * doubleDato;

Page 26: Curso  de Java Estructura  del  Lenguaje

Promoción aritmética

Se dá cuando se realiza una operación aritmética entre dos tipos primitivos numéricos diferentes. El compilador realiza una operación widening.

int intDato = 5;double doubleDato = 3;

doubleDato = intDato * doubleDato;

intDato = intDato * doubleDato;

intDato = (int) (intDato * doubleDato);

Page 27: Curso  de Java Estructura  del  Lenguaje

Practica conversión y promoción

Se dá cuando se realiza una operación aritmética entre dos tipos

Page 28: Curso  de Java Estructura  del  Lenguaje

Operadores aritméticos

- Si los operandos son enteros se realizan operaciones enteras.Ejemplo

Operador Operación

+ Suma

- Resta o cambio de signo

* Multiplicación

/ División

% Módulo (resto de la división)

Operación Tipo Resultado

8/3 int 2

Page 29: Curso  de Java Estructura  del  Lenguaje

C

String

String é uma classe que manipula cadeias de caracteresA classe String possui métodos para essas manipulaçõesTrabalha com Pool de Strings para economizar memória

Outros métodos úteis da classe String:

Page 30: Curso  de Java Estructura  del  Lenguaje

Funciones de la clase Character

isDigit() isLetter() isLowerCase() isUpperCase() toLowerCase() toUpperCase()

Mostrar los tipos primitivos y las clases de los tipos primitivos para no aburrir tanto esta parte. Se pueden ir realizando prácticas con las funciones aprendidas.

Page 31: Curso  de Java Estructura  del  Lenguaje

C

Comentarios

Os comentários em Java podem ser por linha ou em bloco:Por linha:// isto é um comentário e inicia com duas barras.Em bloco:/*Comentário em bloco aceita múltiplas linhasNão utilize comentários aninhados*

Page 32: Curso  de Java Estructura  del  Lenguaje

C

La clase String

-String no es un tipo primitivo, sino ua clase

La clase String

- String no es un tipo primitivo sino una clase predefinida.- Una cadena (String) es una secuencia de caracteres.- Las cadenas de caracteres son inmutables. Es decir, no se

pueden modificar los caracteres individuales de la cadena.

Page 33: Curso  de Java Estructura  del  Lenguaje

C

Concatenación de cadena de caracteres- Para concatenar cadenas de caracteres se utiliza el operador +

Operación Resultado

“Total = “ + 100 + 50 Total = 10050

“Total = “ + (100 + 50) Total = 150

Page 34: Curso  de Java Estructura  del  Lenguaje

C

Lista de operadores

Incremento e Decremento: ++ e --int a = 0;int b = a++; // incrementado depois de atribuirint c = ++a; // incrementado antes de atribuirb = a--; // decrementado depois de atribuirc = --a; // decrementado antes de atribuir

Page 35: Curso  de Java Estructura  del  Lenguaje

C

Operadores aritméticos

Multiplicação e Divisão: * e /int um = 3 / 2; // divisão de inteiros gera um inteirofloat umEmeio = (float) 3 / 2; // ocorre promoção aritmética para floatdouble xyz = umEmeio * um; // ocorre promoção aritmética para floatMódulo: %int resto = 7 % 2; // resto = 1Adição e Subtração: + e -long l = 1000 + 4000;double d = 1.0 – 0.01;Concatenação:long var = 12345;String str = “O valor de var é “ + var;Na concatenação de Strings, as variáveis ou literais são promovidos a String antes:String str = “O valor de var é “ + Long.toString( var );

Page 36: Curso  de Java Estructura  del  Lenguaje

C

Operadores de comparación

Comparação ordinal: >, >=, < e <=Compara tipos primitivos numéricos e o tipo char.boolean b = ( 10 < 3 );boolean w = (x <= y);if( x >= y ) { }Operador instanceofCompara o tipo da classe de uma referência de um objeto.String str = “Uma String”;if( str instanceof String ) { } // trueif( srt instanceof Object ) { } // trueComparação de Igualdade: == e !=Comparam tipos primitivos, valores literais e referências de objetos.if( abc == 10 ) { }boolean b = ( xyz != 50 );if( refObj1 == refObj2 ) { }

Page 37: Curso  de Java Estructura  del  Lenguaje

Operadores de comparación

Los operadores de comparaci[on son v[alidos para n[umeros y caracteres

Operador Significado

== Igual

!= Distinto

< Menor

> Mayor

<= Menor o igual

>= Mayor o igual

Page 38: Curso  de Java Estructura  del  Lenguaje

C

Operadores l[ogicos

Los operadores && || son de corto circuito.

Operador Nombre Significado

! NOT Negaci[on l[ogica

&& AND

|| OR

^ XOR

Page 39: Curso  de Java Estructura  del  Lenguaje

Operadores de asignación

Operadores l[ogicos

Los operadores && || son de corto circuito.

Operador Nombre Significado

! NOT Negaci[on l[ogica

&& AND

|| OR

^ XOR

Page 40: Curso  de Java Estructura  del  Lenguaje

C

Ejercicios - Dada una medida de tiempo expresada en horas, minutos y

segundos con valores arbitarios, elabore un programa que transforme diche medida en una expresión correcta. Por ejemplo, dada la medida 3h 118m 195s, el programa deberá obtener como resultado 5h 1m 15.

Page 41: Curso  de Java Estructura  del  Lenguaje

Operador condicional ?

Permite bifurcar el flujo del programa a partir del valor de una variable boolean. Permite incluir una condición dentro de una expresión.

variableBoolean ? Expre1 : expre2;

Ejemplo

int cotizacion = 5000;int precio = 5; // 5 U$SInt moneda = 2; // U$S

int total = (moneda == 1) ? precio : cotizacion * precio;

Mostrar sintaxis y ejemplo por separado en la parte de condicionales.

Page 42: Curso  de Java Estructura  del  Lenguaje

Contenido de la clase

- Elementos de la tecnología Java

- Compilación y ejecución de un programa Java

- Estructuras de control

Page 43: Curso  de Java Estructura  del  Lenguaje

Estructuras condicionales

if / else

operador ?,

switch

Page 44: Curso  de Java Estructura  del  Lenguaje

If() / else

- Sintaxis if

if (condicion) sentencia;

if (condicion) {bloque;

}

- Sintaxis if / else

if (condicion) sentencia1;

elsesentencia2;

if (condicion) {bloque1;

} else {

bloque 2;}

Page 45: Curso  de Java Estructura  del  Lenguaje

If() / else

- Ejemplopublic class ClausulaIf {public static void main( String[] args ) {int idade = 20;if( idade <= 12 ) {System.out.println( "Criança" );}else if( idade <= 19 ) {System.out.println( "Adolescente" );}else if( idade <= 60 ) {System.out.println( "Adulto" );}else {System.out.println( "Idoso" );}}}

Page 46: Curso  de Java Estructura  del  Lenguaje

switch()

Permite seleccionar entre varias alternativas posibles que representan números enteros.

- Sintaxisswitch (expresion) {

case valorExp1:bloque 1;break;

case valorExp2:bloque2;break;

…default

// bloque por defecto;}

Page 47: Curso  de Java Estructura  del  Lenguaje

switch()

- Ejemplo

int nota;String comentario;switch (expresion) {

case 1:case 2:

comentario = “No pasa”;break;

case 3:case 4:

comentario = “Pasa”;break;

case 5:comentario = “Pasa con buen rendimiento”; break;

defaultcomentario = “Nota no reconocida”;

}

Page 48: Curso  de Java Estructura  del  Lenguaje

Estructuras iterativas

- While, for, do..while

Page 49: Curso  de Java Estructura  del  Lenguaje

El bucle while

- Sintaxiswhile (condicion)

sentencia;

while (condicion) {bloque

}

Page 50: Curso  de Java Estructura  del  Lenguaje

El bucle while

- Sintaxisfor (expr1; expre2; expre3) {

bloque;}

Page 51: Curso  de Java Estructura  del  Lenguaje

Equivalencia entre for y while

for (expr1; expre2; expre3) {bloque

}

expr1;while (expre2) {

bloque;expre3;

}

Page 52: Curso  de Java Estructura  del  Lenguaje

El bucle do while

Sintaxis

dosentencia;

while ( condicion );

dobloque;

while ( condicion );

Page 53: Curso  de Java Estructura  del  Lenguaje

Ejercicios de bucles

Diseñe un programa para jugar a adivinar un número entre 0 y 100. El programa irá dando pistas al jugador indicándole si el número introducido por el jugador es menor o mayor que el número que tiene que adivinar. El juego termina cuando el jugador adivina el número o decide terminar el juego introduciendo un número negativo.

Page 54: Curso  de Java Estructura  del  Lenguaje

Array

- Declaración- Creación- Uso- Copia de arrays se debe explicar en la clase de

referencia.

Page 55: Curso  de Java Estructura  del  Lenguaje

C

Ejercicios

- Programar un algoritmo que realice una división por restas sucesivas.

- Programar un algoritmo recursivo que muestre el numero menor de un vector.

- Generar 5,10,15,20,25,30,...- class JavaSeries1

{    public static void main (String args [])    {int n, c = 1, serie = 5;System.out.print ("Cantidad d terminos: ");n = Leer.datoInt ();while (c <= n){    System.out.print ("," + serie);    serie += 5;    c++;}    }}

Page 56: Curso  de Java Estructura  del  Lenguaje

C

Ejercicios- Obtener subcadena de cadenas.- Crear una clase pública de nombre EjercicioString2 que contenga

sólo al método main y que muestre por consola el número de veces que aparece la letra "a" en la siguiente String "Mañana es sabado sabadete y voy a irme a tomar unas copillas por los barrios bajos de Logroño"

Page 57: Curso  de Java Estructura  del  Lenguaje

C

Ejercicios- Probar conversión de tipos y promoción aritmética.

Page 58: Curso  de Java Estructura  del  Lenguaje

C

Ejercicios- Escribir un programa Java para evaluar cada una de las

siguientes fórmulas. Declarar las variables con los tipos más adecuados.

Page 59: Curso  de Java Estructura  del  Lenguaje

C

Ejercicios- Escribir un programa Java para evaluar cada una de las

siguientes fórmulas. Declarar las variables con los tipos más adecuados.