JF 2 14 SG Esp
JF 2 14 SG Esp
JF 2 14 SG Esp
Java Fundamentals
2-14
Clases y métodos Java
Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios.
2
Objetivos
• En esta lección se abordan los siguientes objetivos:
−Describir un método, una clase y una instancia
−Describir un escenario en el que se pueda utilizar una
estructura de control IF
−Describir un escenario en el que se pueda utilizar una
estructura de control WHILE
−Reconocer la sintaxis de un método, una clase, una función y
un procedimiento
−Describir la entrada y salida
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 3
comerciales de sus respectivos propietarios.
3
Alice 3 frente a Java
Alice 3 Java
Entorno programación en 3D que utiliza Lenguaje de programación con sintaxis
representaciones visuales para el lenguaje que se puede editar mediante un entorno
de programación Java de desarrollo integrado (IDE)
Se utiliza para crear animaciones o juegos
Se utiliza para crear aplicaciones que se
interactivos al mismo tiempo que se
ejecuten en cualquier plataforma,
trabaja con construcciones de
incluida la web, mediante sintaxis Java
programación
Interfaz de arrastrar y soltar diseñada para Gracias a IDE puede modelar los objetos
reducir los errores de sintaxis y facilitar el del mundo real, permite la reutilización y
aprendizaje de la programación un mantenimiento más sencillo
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 4
comerciales de sus respectivos propietarios.
4
Procedimientos en Alice 3
• En Alice 3, un procedimiento es un fragmento de
código que envía un mensaje a un objeto para que éste
realice una acción
• Un procedimiento no devuelve un valor
• Un juego de procedimientos disponibles para cada
clase
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 5
comerciales de sus respectivos propietarios.
Los procedimientos se utilizan en Alice 3 para hacer que los objetos realicen una acción.
5
Panel de métodos en Alice 3
• El panel de métodos muestra todos los procedimientos
y funciones de un objeto
• Contiene todos los procedimientos y funciones
integrados y definidos por el usuario disponibles para
cada uno de los objetos de la animación
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 6
comerciales de sus respectivos propietarios.
El panel de métodos proporciona los procedimientos y funciones relevantes para el objeto que
ha seleccionado en la lista desplegable.
6
Declaración de procedimientos en Alice 3
• Puede declarar (crear) sus propios procedimientos de
Alice 3
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 7
comerciales de sus respectivos propietarios.
Debe crear sus propios procedimientos si ha identificado varios objetos que lleven a cabo la
misma acción o si va a escribir el mismo código en más de una ocasión.
7
Métodos en Java
• Los métodos en Java son los mismos que los
procedimientos de Alice 3
• Un método es un fragmento de código que envía un
mensaje a un objeto para que éste realice una acción
Los métodos:
−Pertenecen a una clase
−Se designan con un nombre
−Se pueden llamar en cualquier punto de un programa con el
nombre del método
• Cuando se encuentra un nombre de método en un
programa, se ejecuta
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 8
comerciales de sus respectivos propietarios.
Al pasar a Greenfoot y Eclipse todo el código se describe como métodos. Tendrá métodos
(procedimientos) nulos que realicen acciones y métodos no nulos (funciones) que devuelvan
información.
8
Ejemplo de métodos en Java
• Cuando termina el método, la ejecución vuelve al área
del código de programa desde el que se llamó, y el
programa continúa en la siguiente línea de código
method2(); …
statement; …
}
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 9
comerciales de sus respectivos propietarios.
Las llamadas a métodos se ejecutan de la misma forma que cuando se utilizan funciones o
procedimientos definidos por el usuario en Alice 3.
9
Decisiones para cada método
• Se deben tomar tres decisiones para cualquier método:
−Qué debe hacer el método
−Qué entradas necesita el método
−Qué respuesta devuelve el método
• Sintaxis Java para un método:
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 10
comerciales de sus respectivos propietarios.
10
Propiedades del método
Propiedad del método Descripción
Son opcionales y pueden ser públicos, privados,
modifiers
protegidos o dejarse en blanco
dataType Tipo de dato, como int
methodName Nombre del método
Lista separada por comas de nombres de parámetros con
parameterList sus tipos de dato; cada parámetro se muestra con su tipo
de dato en primer lugar y, a continuación, con su nombre
methodBody Juego de instrucciones que realizan la tarea
Palabra clave que envía el valor del resultado en el código
return
que llama al método
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 11
comerciales de sus respectivos propietarios.
Todos estos términos se explicarán con más detalle en las futuras secciones de este curso. De
momento, intente comprender para qué se utilizan.
11
Método findMax()
public class TestFindMax {
/** Main method */
public static void main(String[] args) {
int i = 5;
int j = 2;
int k = findMax(i, j);
System.out.println("The maximum between " + i + " and " + j +
" is " + k);
}//end method main
/** Return the max between two numbers */
public static int findMax(int num1, int num2) {
int result;
if (num1 > num2)
result = num1; Método
else findMax
result = num2;
//endif
return result;
}//end method findMax
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 12
comerciales de sus respectivos propietarios.
Observando el código de esta sección, intente identificar las secciones con las que ya está
familiarizado. En este ejemplo hay algunas declaraciones de variables (int i = 5 ;), una llamada a
un método (findMax(i, j);) y una sentencia If Else. Ha utilizado todas estas sentencias en Alice 3.
12
Clases en Alice 3
• Dalmatian es un perro
• Cuando se agrega un objeto Dalmatian a una escena,
tiene las propiedades de la clase Dalmatian:
−cuatro patas, dos orejas, un pelaje blanco y negro moteado, y
la capacidad de caminar
Una clase es una especificación, como un modelo o diseño, de cómo crear un
objeto.
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 13
comerciales de sus respectivos propietarios.
Una clase es el código que define qué información se almacena sobre un objeto y lo que el
objeto puede hacer. Una clase se convierte en un objeto al asignarle valores. Un perro es una
clase, pero un perro dálmata (Dalmatian) es un objeto o una "instancia" de la clase perro porque es un
perro con valores específicos.
13
Clases en Java
• El primer grupo:
−Opcional; hace referencia a la visibilidad de otros objetos
−public significa que es visible en todas partes
−El valor por defecto es un paquete o visible solo dentro del
paquete actual
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 14
comerciales de sus respectivos propietarios.
14
Clases en Java
• El segundo grupo:
−Opcional; define si la clase se puede heredar o si se puede
ampliar con otras clases
−Las clases abstractas se deben ampliar y las clases finales no
se pueden ampliar nunca por herencia
−El valor por defecto indica que la clase se puede o no ampliar
a discreción de los programadores
["public"] ["abstract"|"final"]"class" Class_name
["extends" object_name] ["implements" interface_name]
"{"
// properties declarations
// behavior declarations
"}"
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 15
comerciales de sus respectivos propietarios.
15
Clases en Java
• Class_name es el nombre de la clase
• La tercera opción de ampliación está relacionada con la
herencia
• La cuarta opción de implantaciones está relacionada
con las interfaces
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 16
comerciales de sus respectivos propietarios.
16
Código para crear la clase Cat en Java
class Cat{
int catAge;
String catName;
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 17
comerciales de sus respectivos propietarios.
Esta clase tiene dos variables para el nombre y la edad del gato. También dispone de dos
métodos, uno que permite definir la edad del gato y otro que especifica la edad del gato. Todas
las variables de una clase deben tener un método set y otro get asociados.
17
Instancias en Alice 3
• Al agregar un objeto a una escena, se crea una
instancia de la clase
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 18
comerciales de sus respectivos propietarios.
Puede tener varias instancias de la misma clase dentro de una escena. En este ejemplo hay una
instancia de Cat, sin embargo hay varias instancias de naipes. Todas las instancias de una clase
tendrán el mismo comportamiento.
18
Instancias en Java
• En el método main, se crea la instancia myCat de la
clase Cat
class Cat{
int catAge;
String catName;
…
…
…
public static void main(String []args){
Cat myCat = new Cat("Garfield");
myCat.setAge(6);
System.out.println("Cat age: " + myCat.getAge());
}//end method main
}//end class Cat
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 19
comerciales de sus respectivos propietarios.
Para crear una instancia de una clase debe utilizar la sentencia new en Java.
19
Creación de una instancia de una clase
• Para crear una instancia de una clase se utiliza el
operador new, seguido del nombre de la clase
class Cat{
int catAge;
String catName;
…
…
…
public static void main(String []args){ Creación de una
Cat myCat = new Cat("Garfield"); nueva instancia
myCat.setAge(6);
System.out.println("Cat age: " + myCat.getAge());
}//end method main
}//end class Cat
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 20
comerciales de sus respectivos propietarios.
20
Estructuras de control
• Las estructuras de control permiten cambiar el orden
de ejecución de las sentencias en los programas
• Tanto Alice como Java permiten realizar estos tipos de
estructuras de control
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 21
comerciales de sus respectivos propietarios.
Para acceder a las estructuras de control en Alice, arrástrelas a la barra del editor de códigos en
la parte inferior de la pantalla.
21
Estructura de control IF
• Las estructuras de control IF son sentencias que
permiten seleccionar y ejecutar determinados bloques
de código mientras se omite otras secciones
• Estas estructuras tienen el siguiente formato
if (boolean_expression) {
doSomething();
}
else {
doSomethingElse();
}//endif
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 22
comerciales de sus respectivos propietarios.
22
Ejemplo de estructura de control IF
• Por ejemplo:
−Si un estudiante recibe una puntuación del 90% o mayor en
su prueba, se le asignará una "A"
−Si un estudiante recibe una puntuación igual o mayor que
80% y menor que 90 %, se le asignará una "B"
−Si un estudiante recibe una puntuación igual o mayor que
65% y menor que 80%, se le asignará una "C"
−Si un estudiante recibe menos del 65 %, se le asignará una "F"
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 23
comerciales de sus respectivos propietarios.
23
Código de ejemplo de estructuras de control IF
public class Grade {
public static void main( String[] args ){
//variable declaration section
double grade = 89.0;
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 24
comerciales de sus respectivos propietarios.
En este código, una vez que se detecta una condición verdadera, el programa para la
comprobación de las sentencias Else If anidadas. Este es el objetivo de la anidación en la
sentencia Else.
24
Estructura de control while
• Una estructura de control while, o ciclo while, es una
sentencia Java o un bloque de sentencias que permiten
ejecutar bloques específicos de código repetidamente,
siempre que se cumplan determinadas condiciones
• La condición se comprueba antes de cada ciclo
• Formato del ciclo while:
while( boolean_expression ){
statement1;
statement2;
. . .
}
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 25
comerciales de sus respectivos propietarios.
25
Ejemplo de estructuras de control while
class WhileDemo {
public static void main(String[] args){
//variable declaration section
int count = 1;
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 26
comerciales de sus respectivos propietarios.
26
Entrada y salida
• Los programas Java funcionan en muchas plataformas
• Pueden ser programas simples que se ejecutan desde
la línea de comandos, o bien pueden tener complejas
interfaces gráficas de usuario
• Cuando aprenda a programar, creará programas que
utilicen la línea de comandos únicamente para su
entrada y salida
• Con más experiencia, podrá crear interfaces gráficas de
usuario y aprender más sobre las bibliotecas
necesarias para su creación
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 27
comerciales de sus respectivos propietarios.
27
Código de entrada y salida
• Imprimir en el ejemplo de la pantalla
System.out.println("Hello World!");
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 28
comerciales de sus respectivos propietarios.
28
Ejemplo de código de entrada y salida
• Ejemplo de entrada del usuario con el paquete
java.util.Scanner
import java.util.Scanner;
public class ReadString {
public static void main (String[] args) {
System.out.print("Enter your name: ");
Scanner in = new Scanner(System.in);
String userName = null;
userName = in.nextLine();
System.out.println("Thanks for the name, " + userName);
}//end method main
}//end class ReadString
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 29
comerciales de sus respectivos propietarios.
Aquí se utiliza un objeto de la clase Scanner para permitir la entrada. La mayoría de los
programas necesitarán alguna interacción con el usuario, por lo que la entrada y salida es muy
importante. En Alice, las funciones getWholeNumber, getDecimalNumber, etc. realizaban la
entrada.
29
Terminología
• Términos clave que se han utilizado en esta lección:
−Clase
−Estructura de control
−Estructura de control IF
−Instancia
−Método
−Estructura de control WHILE
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 30
comerciales de sus respectivos propietarios.
30
Resumen
• En esta lección, debe haber aprendido a:
−Describir un método, una clase y una instancia
−Describir un escenario en el que se pueda utilizar una
estructura de control IF
−Describir un escenario en el que se pueda utilizar una
estructura de control WHILE
−Reconocer la sintaxis de un método, una clase, una función y
un procedimiento
−Describir la entrada y salida
JF 2-14 Copyright © 2022, Oracle y/o sus filiales. Oracle, Java y MySQL son marcas comerciales
Clases y métodos Java registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas 31
comerciales de sus respectivos propietarios.
31
32