590 likes | 780 Views
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>;
E N D
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>; Declaración y asignación <tipo de variable> <nombre de variable> = <valor>; // Variable de tipoint intnumeroEntero; //Múltiples declaraciones en una sola línea int i, j, l;
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 $. • Ejemplos • contador //válido • _siguiente //válido • 1erContador //?? • INT //??
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
Convenciones Los identificadores asociados a variables se suelen poner en minúsculas int Contador; // Mal int 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. intcontadorelementos; // mal intcontadorElementos; // bien
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 tabla int cantidad; // cantidad de alumnos Lugar Declarar lasvariablesal inicio delbloque voidmyMethod() { int int1; // inicio del bloque del método if (condicion) { int int2; // inicio del bloque if ... } }
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
Definición de constante final<tipo>identificador = <valor>; Convenciones Los identificadoresasociados a constantes se suelenponer en mayusculas finalint COTIZACION = 4600; Si el identificadorestaformadoporvariaspalabras, lasdistintaspalabras se separanpor un guionbajo. final COTIZACION_DOLAR = 4600;
Tipos primitivos Tipo numérico Números enteros: byte, short, int, log Números en coma flotante: float, double Tipo carácter char Tipo booleano boolean Manejo de caracteres a través de una clase.
Números enteros ¿long o int? 47483648
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.
Desbordamiento de número enteros short numero = 32767; numero + 1
Literales reales • Cadenas de dígitos con un punto decimal • 234.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
Caracteres • Literales de tipo carácter • Valores entre comillas simples • ‘a’ ‘1’ ‘*’
Secuencias de escape para representar caracteres especiales System.out.println("Bienvenidos alumnos al "primer" día de clase");
Secuencias de escape para representar caracteres especiales System.out.println("Bienvenidos alumnos al \"primer\" día de clase");
Tipo boolean • Los literales son true y false
Conversión entre tiposprimitivos Narrowing: conversión de un tipoprimitivo mayor a un tipoprimitivomenor. La conversióntieneque ser explícita. double d = 1.5; inti = (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;
Conversión entre tiposprimitivos Widening char long double int float byte short Narrowing
Promociónaritmé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. intintDato = 5; doubledoubleDato = 3; doubleDato = intDato * doubleDato; intDato = intDato * doubleDato;
Promociónaritmé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. intintDato = 5; doubledoubleDato = 3; doubleDato = intDato * doubleDato; intDato = intDato * doubleDato; intDato = (int) (intDato * doubleDato);
Practicaconversión y promoción Se dá cuando se realiza una operación aritmética entre dos tipos
Operadores aritméticos • Si losoperandossonenteros se realizanoperacionesenteras. • Ejemplo
C String String é uma classe que manipula cadeias de caracteres A classe String possui métodos para essas manipulações Trabalha com Pool de Strings para economizar memória Outros métodos úteis da classe String:
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.
C Comentarios Os comentários em Java podem ser por linha ou em bloco: Porlinha: // isto é um comentário e inicia com duas barras. Embloco: /* Comentário em bloco aceita múltiplas linhas Não utilize comentáriosaninhados *
C La clase String -String no esun tipo primitivo, sino uaclase • 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.
C • Concatenación de cadena de caracteres • Para concatenar cadenas de caracteres se utiliza el operador +
C Lista de operadores Incremento e Decremento: ++ e -- int a = 0; int b = a++; // incrementado depois de atribuir int c = ++a; // incrementado antes de atribuir b = a--; // decrementado depois de atribuir c = --a; // decrementado antes de atribuir
C Operadores aritméticos Multiplicação e Divisão: * e / int um = 3 / 2; // divisão de inteiros gera um inteiro floatumEmeio = (float) 3 / 2; // ocorre promoção aritmética para float doublexyz = umEmeio * um; // ocorre promoção aritmética para float Módulo: % intresto = 7 % 2; // resto = 1 Adiçã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 );
C Operadores de comparación Comparação ordinal: >, >=, < e <= Comparatiposprimitivosnuméricos e o tipo char. boolean b = ( 10 < 3 ); boolean w = (x <= y); if( x >= y ) { } Operadorinstanceof Compara o tipo da classe de uma referência de um objeto. String str = “Uma String”; if( strinstanceof String ) { } // true if( srtinstanceof Object ) { } // true Comparação de Igualdade: == e != Comparam tipos primitivos, valores literais e referências de objetos. if( abc == 10 ) { } boolean b = ( xyz != 50 ); if( refObj1 == refObj2 ) { }
Operadores de comparación Los operadores de comparaci[onson v[alidos para n[umeros y caracteres
C Operadores l[ogicos Los operadores && ||son de corto circuito.
Operadores de asignación Operadores l[ogicos Los operadores && ||son de corto circuito.
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.
Operadorcondicional ? Permitebifurcar el flujo del programa a partir del valor de una variable boolean. Permiteincluirunacondicióndentro de unaexpresión. variableBoolean ? Expre1 : expre2; Ejemplo intcotizacion = 5000; intprecio = 5; // 5 U$S Intmoneda = 2; // U$S int total = (moneda == 1) ? precio : cotizacion * precio; Mostrarsintaxis y ejemploporseparado en la parte de condicionales.
Contenido de la clase • Elementos de la tecnología Java • Compilación y ejecución de un programa Java • Estructuras de control
Estructuras condicionales if / else operador ?, switch
If() / else • Sintaxis if • if (condicion) • sentencia; • if (condicion) { • bloque; • } • Sintaxis if / else • if (condicion) • sentencia1; • else • sentencia2; • if (condicion) { • bloque1; • } else { • bloque 2; • }
If() / else • Ejemplo • publicclassClausulaIf { • public static void main( String[] args ) { • intidade = 20; • if( idade <= 12 ) { • System.out.println( "Criança" ); • } • elseif( idade <= 19 ) { • System.out.println( "Adolescente" ); • } • elseif( idade <= 60 ) { • System.out.println( "Adulto" ); • } • else { • System.out.println( "Idoso" ); • } • } • }
switch() • Permite seleccionar entre varias alternativas posibles que representan números enteros. • Sintaxis • switch (expresion) { • case valorExp1: • bloque 1; • break; • case valorExp2: • bloque2; • break; • … • default • // bloque por defecto; • }
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; • default • comentario = “Nota no reconocida”; • }
Estructuras iterativas • While, for, do..while
El bucle while • Sintaxis • while (condicion) • sentencia; • while (condicion) { • bloque • }
El bucle while • Sintaxis • for (expr1; expre2; expre3) { • bloque; • }