JAVA: ELEMENTOS
BÁSICOS
Introducción a la programación Orientada a Objetos -
2020
JAVA
Java es un lenguaje de programación presentado
en 1995 enfocado a:
• soportar los fundamentos de la programación
orientada a objetos.
• generar código independiente de la arquitectura
de la computadora
Actualmente se utiliza particularmente para
desarrollar aplicaciones para Internet.
ELEMENTOS BÁSICOS
• Variables, constantes y expresiones
• Asignación.
• Tipos Elementales. Precedencia de los operadores.
Casting
• Estructuras de Control. Condicional e iteración.
• Estructura de una Clase en Java.
• Métodos.
• El método main.
• ENTRADA/SALIDA
VARIABLES Y CONSTANTES
• Declaración
[< modificador>] < tipo > < ident > [ , < ident > ] ;
int i,I,j101;
static final char fin =‘.’;
boolean eureka;
La declaración establece el nombre, tipo, alcance
y determina si es variable o constante.
Una declaración de constante establece también
el valor.
En el caso de una variable el valor puede quedar
establecido en la declaración o no.
Introducción a la Programación Orientada a Objetos
TIPOS DE DATO
• Todas las variables de un tipo comparten una
misma representación, toman valores de un
mismo conjunto y pueden participar de las mismas
operaciones.
• El lenguaje establece restricciones que aseguran
la consistencia entre los operadores provistos y los
operandos. Estas restricciones van a ser
controladas por el compilador o en ejecución.
• El compilador decide cuánto espacio de
almacenamiento va a requerir cada dato en
ejecución, de acuerdo a su tipo.
Introducción a la Programación Orientada a Objetos
TIPOS DE DATOS
Nombre de valor memoria Rango
Tipo requerida
byte integer 1 byte -128 a 127
short integer 2 bytes -32768 a
32767
int integer 4 bytes -2147483648 a
2147483647
long integer 8 bytes
float floating-point 4 bytes
double floating-point 8 bytes
char single 2 bytes UNICODE
character
boolean true or false 1 bit
Introducción a la Programación Orientada a Objetos
EXPRESIONES
• Operadores relacionales
igual ==
distinto !=
menor <
menor o igual <=
mayor >
mayor o igual >=
• Operadores booleanos
•Conjunción: & (and)
•Disyunción: | (or)
•Negación: ! (not)
Introducción a la Programación Orientada a Objetos
EXPRESIONES
•Completa ej: a & b
•En cortocircuito ej: a && b
• En la evaluación completa se evalúan siempre
todos los términos de la expresión. En la
evaluación en cortocircuito sólo se evalúa lo
necesario para verificar el resultado de la
expresión. EJ: si a es falso, ya no es necesario
evaluar b, porque sin importar su valor la expresión
a&&b será falsa.
Introducción a la Programación Orientada a Objetos
EXPRESIONES
++, --, !,-(valor negativo) ,
+(valor positivo) , type-cast
*, /, %
+, -
<, >, <=, >=
==, !=
&&
||
=, +=, -=, *=, /=, %=
Introducción a la Programación Orientada a Objetos
EXPRESIONES
• Asignación
< ident > = < expresion >;
< tipo >< ident > = < expresion >;
Cuando la expresión que aparece a la derecha de
una asignación no coincide con el tipo de la variable
que está a la izquierda puede producirse una
conversión automática o un error.
Introducción a la Programación Orientada a Objetos
EXPRESIONES
La conversión entre tipos es automática si
•Los dos tipos son compatibles.
•El tipo de la variable destino es de un rango mayor al
tipo de la variable que se va a convertir.
Jerarquía de Tipos
byte →short→int→long→float→double
Introducción a la Programación Orientada a Objetos
EXPRESIONES
• Cuando el número a convertir está fuera del
rango del tipo a que se quiere convertir, la
conversión automática es imposible. Este error
puede salvarse mediante una conversión forzada
(explicita), que se denomina casting.
• La sintaxis para realizar un casting es:
destino = (tipo_destino) valor
• En el caso de los tipos numéricos, al "recortar" el
valor de la variable de rango mayor se pierde
precisión
Introducción a la Programación Orientada a Objetos
ESTRUCTURAS DE CONTROL
< instruccion > ::= < declaración de variable > |
< expresion > ; |
< bloque > |
< instruccion if > |
< instruccion while > |
< instruccion for > |
< instruccion switch > |
< instruccion try > |
< instruccion return > |
< break > | < continue > |
Introducción a la Programación Orientada a Objetos
ESTRUCTURAS DE CONTROL
• Bloques
< bloque> ::= { [< instruccion > ]* }
{ promedio = total / n ;
[Link]("El promedio es ");
[Link](promedio); }
{ int temp;
temp = x;
x = y;
y = temp; }
Introducción a la Programación Orientada a Objetos
ESTRUCTURAS DE CONTROL
• Un bloque define un nuevo ambiente de
referenciamiento.
• Las variables declaradas dentro de un bloque son
locales y no son visibles fuera de él.
• Adoptaremos la convención de declarar las
variables de un bloque al principio e inicializarlas
explícitamente.
Introducción a la Programación Orientada a Objetos
ESTRUCTURAS DE CONTROL
• Condicional
< instruccion if > ::= if < expresion booleana >
< instruccion >
else
< instrucción >
Introducción a la Programación Orientada a Objetos
CONDICIONAL
if (x > y) if (x > y) { if (x > y) {
max = x; max = x; int temp;
else min = y ;} temp = x;
max = y; else { x = y;
max = y; y = temp;
min = x ; }
}
Introducción a la Programación Orientada a Objetos
CONDICIONAL
estado = ´B´; estado = ´B´;
if (promedio > 7) if (promedio > 7)
if (inasistencias<3) { if (inasistencias<3)
estado = ´A´; estado = ´A´; }
else else
estado = ´C´; estado = ´C´
Introducción a la Programación Orientada a Objetos
CONDICIONAL
• Switch
<instruccion switch>::=
switch (<expression>) {
[ case <constante> : <instruccion> ]*
default: <instruccion>
Introducción a la Programación Orientada a Objetos
CONDICIONAL
switch ( nota ) {
case 10:
case 9:
estado = ´A´ ;
break;
case 8:
case 7:
estado = ´B´ ;
break;
case 6:
case 5:
estado = ´C´ ;
break;
default: estado = ´D´; }
Introducción a la Programación Orientada a Objetos
ITERACIÓN
< instruccion while > ::=
while (<expresion booleana>)
<instrucción>
< instruccion do while> ::=
do
<instrucción>
while (<expresion booleana>)
Introducción a la Programación Orientada a Objetos
ITERACIÓN
int numero;
int digitos = 0;
[Link] (“Ingrese el numero”);
numero = [Link] ();
while ( número > 0 ) {
numero /=10;
digitos++; }
[Link](digitos);
Introducción a la Programación Orientada a Objetos
ITERACIÓN
int numero;
int digitos = 0;
[Link] (“Ingrese el numero”);
numero = [Link] ();
do {
numero /=10;
digitos++; }
while ( número > 0 );
[Link](digitos);
Introducción a la Programación Orientada a Objetos
ITERACIÓN
< instruccion for > ::=
for ( <asignacion>; <expresion> ; <expresion>)
<instrucción>
for ( n = 1 ; n <= 10 ; n++ )
[Link]( n, n*n );
for ( int n = 1 ; n <= 10 ; n++ )
[Link]( n, n*n );
Introducción a la Programación Orientada a Objetos
ITERACIÓN
sum = 0 ;
for ( n = 1 ; n <= 10 ; n++ )
sum = sum + n ;
for ( n = 1, sum = 0 ; n <= 10 ; n++ )
sum = sum + n ;
for (n=1,sum=0; n<=10; sum=sum+n,n++);
Introducción a la Programación Orientada a Objetos
ESTRUCTURA DE UN
PROGRAMA
• La unidad básica de programación en Java es la
clase.
• Un programa en Java está constituido por una
colección de clases .
• La implementación de una clase consiste en
definir sus miembros:
• Atributos: variables de instancia y de clase
• Servicios: constructores y métodos
Introducción a la Programación Orientada a Objetos
ESTRUCTURA DE UN
PROGRAMA
• Símbolos separadores
(){}[];,
•Comentarios:
• Los que ocupan varias líneas y se encierran
entre símbolos /* … */ o /** … */
• Los que comienzan con el símbolo // y terminan
junto con la línea
Introducción a la Programación Orientada a Objetos
MÉTODOS
[ < Modificador > ]* [< Tipo del Resultado > ]
< Identificador > ( [< Parámetros Formales > ]* )
{ < bloque > }
Introducción a la Programación Orientada a Objetos
MÉTODOS
• Para que un programa en JAVA pueda ejecutarse
es necesario definir una clase que incluya un
método llamado main.
class Hello { //define una clase llamada Hello
public static void main (String args[]) {
// define el método main, asociado a los modificadores public y
static. IMPORTANTE no alterar el encabezamiento de main.
[Link]("Hello World!");
// La instrucción [Link] muestra un literal en pantalla.
}
}
Introducción a la Programación Orientada a Objetos
ENTRADA Y SALIDA
• Salida:
[Link] (…);
[Link] (…);
• Entrada:
[Link] ();
[Link] ();
[Link] ();
[Link] ();
[Link] ();
EJEMPLO
Implemente un método para decidir si un número es primo y
úselo para mostrar los números primos menores a T (valor
ingresado por el usuario).
import IPOO.*;
class mostrarPrimos {
public static void main (String args[]) {
[Link](” Ingrese el valor del
limite”);
int T = [Link]();
for (int i = 0; i < T; i++)
if (esPrimo(i))
[Link](i+” ”); }
}
Introducción a la Programación Orientada a Objetos
Aunque la solución es correcta,
no es recomendable que un
método tenga varios puntos de
salida. EJEMPLO
class mostrarPrimos {
public static void main (String args[])
{…}//bloque método main
static boolean esPrimo (int n){
boolean es= true;
if (n < 2 ) return false ;
if (n == 2) return true ;
for (int i = 2;(i < n) && es ; i++)
if (n%i == 0)
es=false;
return es;
}
}//fin de la clase
EJEMPLO
static boolean esPrimo (int n){
boolean es;
if (n < 2) es = false;
else
if (n == 2) es = true;
else
if (n%2 == 0) es =false;
else
{for (int i = 2; i<=[Link](n) && es; i++)
if (n%i == 0 )
es = false ;}
return es;
} Notemos que es una versión más eficiente.
} Introducción a la Programación Orientada a Objetos
¿PREGUNTAS?