INTRODUCCIÓN A JAVA
2. CONCEPTOS BÁSICOS DE JAVA
Adéntrate en los elementos más básicos de un programa en Java, conoce las nomenclaturas que incluye y
los tipos de datos con los que trabaja.
© Accenture todos los derechos reservados Confidencial
TABLA DE CONTENIDOS
INTRODUCCIÓN A JAVA
1. ¿Qué es Java? ¿Cómo nace y cómo funciona?
1.1. Origen: ¿Cómo nació Java?
1.2. Principios
1.3. ¿Cómo funciona el programa Java?
1.4. Preguntas Frecuentes
2. Conceptos básicos de Java
2.1. Estructura de una Clase Java
2.2. Denominaciones: Identificadores y palabras clave
2.3. Tipos de datos
2.4. Variables y constantes
2.5. Preguntas Frecuentes
© Accenture todos los derechos reservados Confidencial
2. CONCEPTOS BÁSICOS DE JAVA
2.1. ESTRUCTURA DE UNA CLASE JAVA
Todo programa Java se llama clase, tanto los pequeños programas que diseñamos en nuestros
comienzos como programadores, como los grandes y complejos sistemas transaccionales que
tiene un banco.
En este tema vamos a ver cuáles son los componentes que debe tener una clase Java para que
esté correctamente diseñada. Todos estos componentes definirán la estructura de la clase.
COMPONENTES DE UNA CLASE/PROGRAMA JAVA:
PAQUETE (PACKAGE)
Los paquetes son una forma de organizar las clases. Indica la carpeta o directorio dónde está
guardada la clase. Todas las clases que guardan cierta utilidad semejante se agrupan en un
paquete, un paquete es la primera línea de código que debe estar en una clase Java. Sólo puede
existir un paquete en una clase y cuando no le da un nombre específico, el compilador crea uno
por defecto llamado default package.
CLASE (CLASS)
El siguiente paso sería indicar el nombre de la clase.
SENTENCIAS
Una sentencia es la unidad mínima de ejecución de un programa. Al final de cada
sentencia se finalizará con punto y coma (;).
BLOQUES
Los bloques son un conjunto de sentencias, que están delimitados por llaves ({}).
MÉTODO
Una clase también implementa un comportamiento. El comportamiento de una clase se define
con la creación de métodos, un método debe contener el tipo de retorno + nombre del método.
Se recomienda que este siempre sea un verbo.
Existe un nombre de método en Java que se denomina método main. Este método es el método
de entrada, el que da lugar al inicio del programa Java. Se llama siempre así y tiene que estar
definido de la siguiente manera:
public static void main(String args[])
Retorno: es el valor que queremos que nos devuelva el método al aplicarlo.
2
© Accenture todos los derechos reservados Confidencial
COMENTARIOS
Java permite incluir comentarios entre las líneas de código, para dejar más claras aún las
instrucciones. Existen tres tipos de comentarios en Java:
Comentarios de una sola línea
// Esto es un comentario
Comentarios multilínea
/* Esto es un comentario de una
o más líneas */
Comentarios de documentación para la herramienta Javadoc
/** Esto es un comentario para javadoc */
A continuación, se presenta un ejemplo de un programa. En él podemos ver la estructura básica
de un programa java:
package ejemplos; Paquete
//A continuación la clase Comentario
class Ejemplo1{ Clase
public static void main(String[] args){ Método main
[Link]("Hola Mundo");
Bloque de Sentencias
[Link]("Esto es un ejemplo");
3
© Accenture todos los derechos reservados Confidencial
2. CONCEPTOS BÁSICOS DE JAVA
2.2. DENOMINACIONES: IDENTIFICADORES Y PALABRAS CLAVE
¿QUÉ ES UN IDENTIFICADOR?
Los identificadores son los nombres únicos que el programador da a los componentes que se
están manejando en un programa, es decir, el nombre que ponemos por ejemplo a las clases,
métodos y variables.
¿QUÉ PRINCIPIOS DEBE SEGUIR EL PROGRAMADOR A LA HORA DE
ESTABLECER IDENTIFICADORES?
Deben usarse nombres que sean significativos. Por ejemplo, clase RecetaBizcocho, si
queremos realizar un programa para elaborar una receta.
Se recomienda empezar por una letra, aunque después se pueden emplear números.
No se permite el uso de caracteres especiales como: espacio en blanco, +, %,*, etc.
Los nombres de clases comienzan con mayúsculas y cuando son nombres compuestos
cada palabra comienza con mayúsculas. Ej. public class RecetaBizcocho.
Java distingue entre mayúsculas y minúsculas. Ej. bizcocho es distinto que Bizcocho.
Los nombres de constantes se escriben todo con mayúsculas y si el nombre es compuesto se
usa el carácter de subrayado para separar las palabras. Ej. TIEMPO_HORNEADO, pero para el
nombre de las clases, métodos y atributos, no se usa el carácter de subrayado.
No pueden coincidir con palabras reservadas/clave (las vemos en el siguiente punto).
4
© Accenture todos los derechos reservados Confidencial
¿QUÉ ES UNA PALABRA CLAVE?
También conocidas como palabras reservadas, son aquella que están definidas de manera
exclusiva por el lenguaje de programación para un propósito específico. No se pueden utilizar
estas palabras para darles otro comportamiento distinto al definido.
TIPO DE DATOS
boolean byte char double
dato verdadero/falso. número entero dato valor unicode número real en coma
de 8 bits. de 16 bits. flotante 64 bits.
float int long short
número real en coma número entero número entero número entero
flotante 32 bits. de 32 bits. de 64 bits. de 16 bits.
ESTRUCTURAS DE CONTROL
CONDICIONALES BUCLES SALTO/RETORNO EXCEPCIONES
if for break try
para instrucciones de para escribir bucles interrumpe la indica un bloque de
control condicionales que se repiten un ejecución de un bucle código donde se quieren
simples (if) o múltiples número determinado o de una instrucción. atrapar excepciones.
(else if). de veces.
continue catch
else while cláusula de un bloque (try)
interrumpe la
instrucción de control para escribir bucles donde se especifica una
ejecución de un
condicional doble que que se repiten excepción.
bucle, pero permite
indica qué hacer en mientras una seguir realizando
caso de que no se condición sea cierta. interacciones. finally
cumpla la condición del La condición se valida permite especificar un
(if) o el (else if). al principio. bloque de código que
return
siempre se ejecutará, se
switch interrumpe la
do produzca o no una
instrucción de control ejecución del método
para escribir bucles excepción.
condicional múltiple. y puede devolver un
(do while) que se valor de retorno.
repiten mientras una throw
case condición sea cierta. permite lanzar una
para indicar cada caso La condición se valida excepción.
de una instrucción de al final.
control (switch).
throws
indica las excepciones
default
que un método puede
indica el caso por
lanzar.
defecto de una
instrucción de control
(switch).
5
© Accenture todos los derechos reservados Confidencial
MODIFICADORES
abstract final native private
para definir clases y indica que una variable indica que un método está indica que un elemento
métodos abstractos. no se puede modificar, en un lenguaje de es accesible únicamente
un método no se puede programación dependiente desde la clase donde se
redefinir o una clase no de la plataforma. ha definido.
se puede heredar.
protected public static synchronized
indica que un elemento es indica que un elemento indica que un elemento indica que un método
accesible desde la clase es accesible desde es único en una clase y o bloque de código es
donde se ha definido, cualquier clase. que se puede acceder atómico.
subclases de ella y otras al él sin tener que crear
clases del mismo paquete. una instancia u objeto
de la clase.
transient volatile
para especificar que indica que el valor de un
un atributo no sea atributo que está siendo
persistente. utilizado por varios hilos
esté sincronizado.
ESTRUCTURA DE DATOS
class extends implements import
para definir una clase. permite indicar la clase para definir la/s interfaces importa una clase que se
padre de una clase. de una clase. encuentra en otro paquete o
en la API de Java.
interface package
para declarar una te permite agrupar un
conjunto de clases e
interfaz.
interfaces.
OTROS
assert const enum goto
para afirmar que una se usaba para la para definir tipos de datos se usaba para moverse de
condición es cierta. definición de enumerados. un punto a otro del código,
constantes, pero ya pero ya no se utiliza.
no se utiliza, ahora
se usa (final).
instanceof new override strictfp
permite saber si un objeto para crear un objeto sirve para sobreescribir indica que se tienen que
es una instancia de una nuevo de una clase. un método. utilizar cálculos en coma
clase concreta. flotante estricto.
super void this
permite invocar a un dato vacío (sin para referenciar al
método o constructor de valor). objeto e invocar al
la superclase. constructor.
API de Java: es una interfaz de programación de aplicaciones (API, por sus siglas del inglés: Application Programming Interface)
provista por los creadores del lenguaje de programación Java, que da a los programadores los medios para desarrollar
aplicaciones Java.
6
© Accenture todos los derechos reservados Confidencial
2. CONCEPTOS BÁSICOS DE JAVA
2.3. TIPOS DE DATOS
En el tema anterior (palabras clave) vimos la columna en la que identificábamos la
denominación de algunos tipos de datos. En este caso vamos a entrar más a fondo en ellos.
Java trabaja con dos tipos de datos: primitivos/simples o de referencia/complejos, veamos
sus diferencias.
1. DATOS PRIMITIVOS O SIMPLES
Son entidades elementales como números, caracteres, Verdadero/Falso. No son objetos,
por tanto, no necesitan ser creados para usarse.
TIPO NOMBRE TAMAÑO RANGO VALOR DEFECTO
ENTERO byte 8 bits -128 a 127 0
15 15
short 16 bits -2 a 2 -1 0
31 31
int 32 bits -2 a 2 -1 0
63 63
long 64 bits -2 a 2 -1 0
+38
DECIMAL float 32 bits ± 3.40282347e 0
-45
± 1.40239486e 0
+306
double 64 bits ± 1.79769313486231570e 0
-324
± 4.94065645841246544e 0
CARÁCTER char 16 bits \u0000 a \uffff ‘\u0000`
LÓGICO boolean true / false N.A. False
Veamos varios ejemplos de los más usados en Java:
Int: números de tipo entero (años, días de la semana)
Float: números decimales de hasta 7 dígitos (altura, peso)
Double: números decimales muy precisos, hasta 16 dígitos (área, longitud)
Char: conjunto de caracteres (códigos con letras y números)
Boolean: datos que sólo pueden ser verdadero o falso (par, primero)
7
© Accenture todos los derechos reservados Confidencial
Para este tipo de números, Java tiene una función Casting, que transforma un dato primitivo de
un tipo a otro en función del tamaño que ocupa. La conversión puede ser de dos formas:
WIDENING CONVERSION
char
byte short int long float double
NARROWING CONVERSION
Casting implícito: Lo realiza el compilador automáticamente, no tenemos que añadir
ninguna línea de código. Una conversión implícita (widening conversion) se da
cuando el contenedor es más grande que el valor a almacenar.
Casting explícito: Lo realiza el programador y se tiene que declarar en qué tipo de dato
se quiere transformar. En una conversión explicita (narrowing casting) se da cuando el
contenedor donde se quiere guardar es más pequeño que el valor a almacenar. En este
caso, puede que haya pérdida de datos.
8
© Accenture todos los derechos reservados Confidencial
2. DATOS REFERENCIA O COMPLEJOS
Son tipos de datos más complejos, que pueden estar formados por varias variables, otros
datos complejos y/o comportamientos (funciones).
Son objetos, por tanto, necesitan ser creados por el programador en caso de usarse
VALOR
GRUPO DESCRIPCIÓN
DEFECTO
BIBLIOTECA
Son las clases que nos proporcionan
ESTÁNDAR
la librería estándar de JAVA.
JAVA
(String, Date, …)
PERSONALIZADOS/
cualquier clase creada por nosotros. clases
DEFINIDOS POR EL
customizadas/ personalizadas.
DESARROLLADOR
null
ARRAYS
conjunto de elementos (arreglos). objeto que
carece de métodos.
Byte Short Integer Long
LÓGICO
Float Double Character Boolean
De ellos, el más utilizado es el tipo de dato String que permite manejar textos y cadenas de
texto. Veamos varios ejemplos:
El operador “+” permite concatenar cadenas.
String str1 = “Hola”;
String str2 = “Fernando”;
String str3 = str1 + ” “ + str2; //str3 sería “Hola Fernando”
String ofrece un conjunto de métodos (formas de usarse)
Para obtener la longitud de la cadena (número de Strings)
[Link]() //devuelve el número 4 ya que la cadena str1 tiene 4 caracteres
de longitud
Para obtener el carácter que está en la posición denotada por(int)
[Link](0) //devuelve H, de la palabra Hola ya que tiene la posición 0.
9
© Accenture todos los derechos reservados Confidencial
2. CONCEPTOS BÁSICOS DE JAVA
2.4. VARIABLES Y CONSTANTES
VARIABLES Y CONSTANTES, ¿QUÉ SON?
Como vimos en el curso de PSEINT, las variables y constantes son espacios reservados para almacenar
información y que, durante la ejecución del programa podrán ir cambiando (Variables) o permanecer fijas
(Constantes):
VARIABLE
Objeto cuyo contenido puede variar durante el proceso de ejecución del algoritmo. Por ejemplo, datos
para llevar a cabo una suma.
CONSTANTE
Objeto que no experimenta cambios durante todo el desarrollo del algoritmo
DECLARACIÓN DE UNA VARIABLE EN JAVA
Declarar es identificar con un tipo y nombre a la variable, y es necesario declararlas antes de
usarlas. El tipo indica qué tipo de valores puede guardar. El nombre permite acceder a su
contenido y es necesario escribirlo en minúsculas
<tipo dato> <nombre variable>;
Ejemplo: la edad, que será un dato que puede variar durante el programa
int edad;
INICIALIZAR VARIABLES
Se produce cuando a una variable se le da un valor por primera vez, antes de ser utilizada. A
nivel de sintaxis la inicialización o asignación, se realiza usando el operador de asignación
“=”. Si no se inicia previamente, Java lo hace automáticamente.
Ejemplo: para los valores numéricos Java les da un valor inicial de cero.
int edad = 0;
ASIGNAR VARIABLES
Se produce cuando a una variable previamente inicializada se le asigna un nuevo valor
durante la ejecución. Dependiendo del tipo de variables se asignan de una manera u
otra.
Numéricos: se asignan directamente a la variable. Ej. int edad = 20;
Caracteres: los caracteres se ha de usar la comilla simple. Ej. char género = `M`;
Cadenas: para las cadenas de textos se usa las comillas dobles. Ej. String nombre = “Roberto”;
Booleanos: se ha de poner true o false. Ej. boolean casado = true;
10
© Accenture todos los derechos reservados Confidencial
ÁMBITO DE UNA VARIABLE
El ámbito de una variable define su alcance de uso, o lo que es lo mismo, en que secciones de
código una variable estará disponible. Fuera de este ámbito, una variable no podrá ser accedida
(no existe). Además, las variables se han de definir en el ámbito más reducido posible. Hay tres
tipos de ámbitos:
Local: sólo están visibles dentro del bloque de código donde se han declarado (dentro
de un método, un bucle, un condicional…), cuando éste finaliza, deja de existir.
De Instancia o Global: son aquellas que pertenecen a cada instancia concreta de la clase
donde han sido declaradas y sólo pueden ser accesibles desde la propia instancia a la que
pertenecen.
De Clase o Estática: la variable pertenece a la clase, no a la instancia, y se puede
acceder a ella desde cualquier parte de la clase donde han sido declaradas.
Ejemplo de declaración:
public class ClaseAmbitos {
static int numero; //Variable estática de la clase
String nombre; //Variable global en cada instancia de la clase
void Calcular() {
float precio; //Variable local a este método
…
if (precio >= 10.95) {
boolean verdad; //Variable local a este if
…
}
}
}
11
© Accenture todos los derechos reservados Confidencial
CÓMO FUNCIONA UN ARRAY
Una vez visto qué es una variable, podremos entender mejor cómo funciona un Array.
Un Array es un tipo de dato estructurado que permite almacenar un conjunto de datos
homogéneo, es decir, todos ellos del mismo tipo y relacionados. Cada uno de los elementos
que componen un array pueden ser de tipo simple como caracteres, entero o real, o de tipo
compuesto o estructurado como son otros arrays u objetos. Una vez declarado el tamaño de
un array, éste no puede ser modificado. El índice inicial de los arrays en Java es 0.
0 1 2 3 4
Array de tamaño 5
Declaración del array:
<tipo dato> [ ] <nombre_array>;
<tipo dato> <nombre_array> [ ];
<tipo dato> [ ] <nombre_array> [ ];
Ejemplos:
int [ ] arrayEnteros; //Declaración array de enteros
String myStringArray [ ]; //Declaración array de strings
char [ ] myCharArray [ ]; //Declaración array de char
Los arrays se pueden inicializar de dos maneras, por tamaño o con valores:
Por tamaño:
<tipo dato> [ ] <nombre_array> = new <tipo dato> [tamaño];
Ejemplo: int[ ] arrayEnteros = new int[5];
Con valores:
<tipo dato> [ ] <nombre_array> = {val1, val2, … };
Ejemplo: String[ ] arrayNombres = {“Pedro”, “Juan”, “María”, “Susana”};
12
© Accenture todos los derechos reservados Confidencial
Para poder recuperar o asignar un valor a una posición del array, usaremos el índice:
Recuperar:
<tipo dato> <nombre_variable> = <nombre_array> [índice];
Ejemplo: int numero = arrayEnteros [2];
0 1 2 3 4
0 0 0 0 0
Asignar
Ejemplo: arrayEnteros [2] = 10;
0 1 2 3 4
0 0 10 0 0
Ejemplo: arrayNombres [0] = “Sergio”;
0 1 2 3
“Sergio” “Juan” “María” “Susana”
DECLARACIÓN DE CONSTANTES EN JAVA
Se han de definir a nivel de clase (global).
Para definirla se ha de hacer uso de dos palabras reservadas: static y final.
Los nombres de las constantes se escriben en mayúsculas.
static final <tipo_dato> <NOMBRE_CONSTANTE> = valor;
Ejemplo: indicar el número de ruedas de un coche. Independientemente del modelo de coche, el número
de ruedas siempre será cuatro.
static final int NUMERO_RUEDAS = 4;
13
© Accenture todos los derechos reservados Confidencial
2. CONCEPTOS BÁSICOS DE JAVA
2.5. PREGUNTAS FRECUENTES
• ¿Qué programa tengo que descargar para programar en Java?
El entorno de desarrollo que se suele utilizar para desarrollar Java es Eclipse ya que es
un software de acceso libre (gratuito) y tiene en un único programa todas las
herramientas para el desarrollo completo de una aplicación en sus diferentes etapas,
desde la edición del código fuente inicial hasta la obtención del producto final.
• ¿Qué hay que tener en cuenta para nombrar una variable en Java?:
• Debe comenzar siempre con una letra (“edad” es válido, “3edad” no es válido)
• Los nombres de las variables distinguen entre mayúsculas y minúsculas (una
variable llamada “miCredito” y otra “MiCredito” son distintas)
• Usa nombres descriptivos para nombrar tus variables (evita en la medida de lo
posible usar abreviaturas o usar nombres poco claros)
• El nombre de tu variable no debe coincidir con alguna palabra reservada.
• Si tiene una sola palabra escríbela en minúscula y si tienes dos la segunda palabra
empiézala por mayúscula “miCredito”.
14
© Accenture todos los derechos reservados Confidencial
© Accenture todos los derechos reservados Confidencial