Curso basico de programacion en java
Transcript of Curso basico de programacion en java
-
8/18/2019 Curso basico de programacion en java
1/86
Java Básico
Anahí Salgado
@anncode
public class HolaMundo {public static void main(String[] args) {
System.out.println(“Hola Mundo”);
}
}
-
8/18/2019 Curso basico de programacion en java
2/86
¿Java?
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
3/86
• Empezar rápidamente – C y C++
• Escribir menos código – POO – Reutilización
•
Escribir mejor código – Buenas prácticas de
codificación
• Desarrollar con mayorrapidez – Más simple que C++
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
4/86
• Lenguaje más utilizado a nivel mundial
• Google
• Amazon
•
Empresas financieras
– Incrementa tus posibilidadesde conseguir trabajo
– Aumentará tus aspiracionesprofesionales
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
5/86
Plan de Certificaciones
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
6/86
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
7/86
1991
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
8/86
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
9/86
Anahí Salgado
@anncode
James Goslin
-
8/18/2019 Curso basico de programacion en java
10/86
Comunicación entre dispositivos Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
11/86
2009
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
12/86
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
13/86
• Java es un lenguaje de
programación de alto nivel – Simple
– Orientado a Objetos
– Distribuido
– Multihilo
– Arquitectura Neutral
–
Portable – Alto desempeño
– Seguro
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
14/86
Filosofía
Write Once
Anahí Salgado
@anncode
Run Anywere
-
8/18/2019 Curso basico de programacion en java
15/86
¿Qué versión elegir?
Java EE Java SE Java ME
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
16/86
Java SE Java Standard Edition
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
17/86
Componentes
Anahí Salgado
@anncode
JDK Java
Development Kit
JRE Java RuntimeEnvironment
-
8/18/2019 Curso basico de programacion en java
18/86
Java Virtual Machine
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
19/86
Programando con Java
Verifica que lo tengasinstalado y configurado
$ java -version
$ javac
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
20/86
Instalando JDK
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
21/86
Instalando JDK Variables de entorno
Vamos a Mi Pc -> Propiedades,
• Pestaña Opciones avanzadas,seleccionamos Variables deentorno -> Path
• Hacemos click en Modificar yañadimos la ruta completa deldirectorio
• “C:\Program Files\Java\jdk1.7.0_51\bin”.
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
22/86
Hola Mundo
Anahí Salgado
@anncode
• Editor de Textos• Consola de comandos (CMD)
-
8/18/2019 Curso basico de programacion en java
23/86
Fases de programación
Editar
Anahí Salgado
@anncode
Compilar
Cargar
Verificar Interpretar1 2
3
4 4
Escribir código fuente
Compilador javac
Ejecución
-
8/18/2019 Curso basico de programacion en java
24/86
Fases de programación
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
25/86
El método Main
Método que es el punto de entradade una aplicación Java.
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
26/86
El método Main
• Declara todas las acciones realizadas por tuaplicación
public static void main (String[] args) {
// acciones
}
•
Sin él, la aplicación no se ejecutará, regresandoel siguiente error: In class NoMain: voidmain(String args[]) no está definido.
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
27/86
El método Main• El método main contiene dos modificadores
requeridos, public y static.
• No devuelve ningún valor, por lo que tiene un tipo deretorno de vacío.
• El método principal tiene un identificador método(nombre) de ”main".
• Acepta cero o más objetos de tipo String (String []args). Esta sintaxis le permite escribir en los valores dela línea de comandos para ser utilizado por elprograma mientras se está ejecutando.
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
28/86
Usando un IDE(Eclipse)• IDE (Integrated
Development Enviroment):
• Es un entorno de
programación que ha sidoempaquetado como unprograma de aplicación.
• Editor de código
• Compilador
•
Depurador
• Constructor deinterfaz Gráfica
Hola Mundo
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
29/86
Tipos de Datos
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
30/86
Tipos de Datos
•
DEFINICIÓN: –
Un espacio de memoria al que le asignamosun contenido, puede ser un valor numérico,
de tipo carácter o cadena de caracteres.
• Por ejemplo: –
a = 8 – a = 56
– a = b
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
31/86
Tipos de Datos
Tipo Primitivo Tipo Objeto
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
32/86
Tipos ENTEROS Anahí Salgado
@anncode
byte Rango
-128 a 127
short Rango-32,768 a 32,7676
int Rango-2,147,483,648 to
2,147,483,647
long Rango-9,223,372,036,85
4,775,808to
+9,223,372,036,854,775,807
1byte
2bytes
4bytes
8bytes
-
8/18/2019 Curso basico de programacion en java
33/86
Tipos PUNTO FLOTANTE Anahí Salgado
@anncode
float Rango
1.40129846432481707e-45to3.40282346638528860e+38
double Rango
4.94065645841246544e-324dto
1.79769313486231570e+308d
4byte
8bytes
-
8/18/2019 Curso basico de programacion en java
34/86
Tipos TEXTO Anahí Salgado
@anncode
char Rango
Unicode 2byte
-
8/18/2019 Curso basico de programacion en java
35/86
Tipos LOGICOS Anahí Salgado
@anncode
boolean Rango
true o false 1bit
-
8/18/2019 Curso basico de programacion en java
36/86
Nombres en Java
•
Java sigue la siguiente convención paranombrar variables
–
Es sensible al uso de mayúsculas y minúsculas – Debe comenzar con una letra, se permite usar $ y “_”
– Las letras posteriores pueden ser letras, números, $ y “_”
– Por convención se debe usar la técnica “camello”
–
También por convención, las constantes se escriben enmayúsculas y contienen “_”.
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
37/86
Upper Camel CaseLower Camel Case
-
8/18/2019 Curso basico de programacion en java
38/86
CAST
Anahí Salgado
@anncode
En la programación hay situaciones donde
se necesita cambiar el tipo de dato
-
8/18/2019 Curso basico de programacion en java
39/86
Cast
•
Un Cast es una operación en Java que:
– Da como resultado una variable con un tipode datos diferente a su fuente.
– Puede usarse entre tipos de datosprimitivos, instancias de una clase y tipos de
objetos primitivos.
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
40/86
Cast Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
41/86
Cast a tipos primitivos
•
Se puede realizar el cast para todos lostipos de datos primitivos, con excepciónde boolean.
• A menudo, el tipo cast de tipos primitivosse realiza en situaciones donde el tipo
del resultado es más grande que su tipooriginal.
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
42/86
Cast a tipos primitivos
• Por lo tanto, a menudo se puede usar un
byte o char como un int, un int como unlong, un int como un float y como undoble también.
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
43/86
Arrays
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
44/86
Arrays
• Los arreglos se pueden definir como
objetos en los que podemos guardar masde una variable
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
45/86
Arrays
• La estructura de declaración de unarreglo es la siguiente:
tipo_dedato[] nombre_variable;
tipo_dedato nombre_variable[];
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
46/86
Arrays. Definir tamaño
•
Para asignar a un arreglo su tamaño ocapacidad, se hace de la siguienteforma:
arreglo = new tipo_dedato[capacidad];
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
47/86
Arrays. Asignar valores
•
Una vez se tiene declarado un arreglo, yal mismo se le ha asignado un tamaño o
capacidad, podemos accesar a losdatos dentro del mismo y asignarle valores.
arreglo[indicador] = valor;
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
48/86
OPERADORES
Anahí Salgado
@anncode
Una vez que el código fuente de Java tienen variables, laspodemos usar para crear y formar expresiones que
regresen valores.
-
8/18/2019 Curso basico de programacion en java
49/86
Operadores aritméticos
•
Son los símbolos que se usan pararealizar aritmética básica en el lenguajede programación java
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
50/86
Concatenación de cadenas
•
El operador + puede usarse paraagregar o concatenar cadenas
•
Unión de dos elementos.
System.out.println (“El balance de la cuenta es: “ +
balance );
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
51/86
Operadores de Asignación
=
+=
-=
/=
%=
x += 2; x = x + 2; Anahí Salgado
@anncode
O d d i t
-
8/18/2019 Curso basico de programacion en java
52/86
Operadores de incremento ydecremento
• Incremento: Se usan para agregar un 1 al valor de la expresión
++
• Decremento: Se usan para substraer un 1del valor de la expresión.--
Ing. Anahí Salgado - @anncode
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
53/86
Prefijo y postfijo
•
Un prefijo se refiere a colocar unoperador antes del operando++i
--i
• Un posfijo se refiere a colocar unoperador después del operando.
i++i--
Ing. Anahí Salgado - @anncode
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
54/86
Incremento
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
55/86
Equidad y operadores relacionales
• Todas las expresiones creadas con equidad y
operadores relacionales regresaran un valor
booleano, dependiendo si la comparación serealiza o no.
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
56/86
Equidad y operadores relacionales
•
Hace uso de dos operandos, uno en cada ladodel operador.
•
Los operadores de equidad se describen acontinuación:
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
57/86
•
Los operadores relacionales sedescriben a continuación:
Equidad y operadores relacionales
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
58/86
•
Combinan expresiones que regresar un valor boolean
AND &&
OR ||
NOT !
Operadores lógicos
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
59/86
Operadores lógicos
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
60/86
CONTROL FLUJO
Anahí Salgado
@anncode
Las sentencias de código en java son ejecutadas secuencialmentedesde arriba hasta abajo en el orden en que van apareciendo.
Sin embargo podemos controlar el flujo usando sentenciascondicionales, ciclos, etc.
-
8/18/2019 Curso basico de programacion en java
61/86
If/Else
•
Un condicional es una expresiónbooleana.
• La sentencia se ejecuta solamente si
la expresión booleana es verdadera.if (condición) {
instrucciones
} else { instrucciones
}
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
62/86
Switch
•
A diferencia de sentencias if / else, lasentencia switch puede tener unnúmero de posibles rutas de
ejecución
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
63/86
Cliclo While
•
Se ejecuta continuamente un bloquede código mientras una condiciónparticular, es cierto. Su sintaxis se
puede expresar como:
while (condicion) {
//instrucciones}
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
64/86
Cliclo For
• La sentencia proporciona una formacompacta para iterar sobre un rangode valores.
for (inicializa; fin-condicion; incremento) {
instrucciones
}
Anahí Salgado
@anncode
Cliclo For extendido
-
8/18/2019 Curso basico de programacion en java
65/86
Cliclo For extendidoforeach
• Es más fácil para recorrer coleccionesde datos sin necesidad de conocer odefinir el número de elementos a
recorrer
for ( TipoDato elemento : coleccion ) {
Instrucciones
}
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
66/86
PROGRAMACIÓN
ORIENTADA A OBJETOS(POO)
Anahí Salgado
@anncode
Programación Orientada a
-
8/18/2019 Curso basico de programacion en java
67/86
Programación Orientada aObjetos
Una nueva forma de pensar
Anahí Salgado
@anncode
Programación Orientada a
-
8/18/2019 Curso basico de programacion en java
68/86
Programación Orientada aObjetos
Se trata de descomponer el problema
en subproblemas y mássubproblemas
Anahí Salgado
@anncode
Programación Orientada a
-
8/18/2019 Curso basico de programacion en java
69/86
Programación Orientada aObjetos
Definir un Dominio del ProblemaPROBLEM DOMAIN
Recopilación de requisitos del cliente ytener por escrito un alcance
¿Qué queremos lograr?
Anahí Salgado
@anncode
Programación Orientada a
-
8/18/2019 Curso basico de programacion en java
70/86
Programación Orientada aObjetos
Fijarnos en el
escenario del problemay tratar de simularlo con objetos
Anahí Salgado
@anncode
Programación Orientada a
-
8/18/2019 Curso basico de programacion en java
71/86
Programación Orientada aObjetos
Identificar mis objetos
Anahí Salgado
@anncode
• Pueden ser Físicos o Conceptuales• Los objetos tienen atributos (características)
• tamaño• nombre• forma•
representan el estado del objeto• Los objetos tienen operaciones (las cosas
que puede hacer el objeto)
Programación Orientada a
-
8/18/2019 Curso basico de programacion en java
72/86
Programación Orientada aObjetos
Anahí Salgado
@anncode
•
Los nombres de los objetos por lo general son sustantivos
cuenta, cliente
•
Los atributos de los objetos también
• Las operaciones suelen ser verbos osustantivo y verbo
mostar, Enviar Pedido
Programación Orientada a
-
8/18/2019 Curso basico de programacion en java
73/86
Programación Orientada aObjetos
Anahí Salgado
@anncode
•
Vehiculo
atributos:•
matricula• marca• modelo• año
comportamiento:•
arrancar• frenar• reversa
Programación Orientada a
-
8/18/2019 Curso basico de programacion en java
74/86
Programación Orientada aObjetos
Anahí Salgado
@anncode
•
Diseñando un modelo de Clase
• Una
Clasees la forma en como defines tu
objeto
• Las Clases son descriptivas – plantillas
Programación Orientada a
-
8/18/2019 Curso basico de programacion en java
75/86
gObjetos
Anahí Salgado
@anncode
•
Clase Vehiculo
atributos:• matricula
•
marca• modelo• año
comportamiento:•
arrancar• frenar• reversa
-
8/18/2019 Curso basico de programacion en java
76/86
ByteShortInteger
Long
FloatDouble
Characer
BooleanString
Tipos Datos Objeto
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
77/86
Variables ! Objetos
• Variables son entidadeselementales (muysencillas)
– Un número
– Un carácter
– Un valor verdaderofalso
• Objetos son entidadescomplejas que puedenestar formadas por la
agrupación de muchas variables y métodos.
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
78/86
CODIGO
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
79/86
Declaración de métodos
•
Una declaración de un método es un elemento decódigo en Java que:
– Consiste de cuatro partes: tipo de datos de regreso,
nombre, argumentos y cuerpo entre llaves.
public int suma (int a int b)
Anahí Salgado
@anncode
mod. acceso valor regreso nombre argumentos
-
8/18/2019 Curso basico de programacion en java
80/86
Declaración de métodos
– Tiene un valor de regreso explícitamente invocadoen su cuerpo usando la palabra reservada return.
–
No regresa ningún valor si es declarado void.
– No puede declararse dentro de otro método.
public int suma(int a int b){return a+b;
}
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
81/86
Constructor
Anahí Salgado
@anncode
•
Un constructor es un conjunto se sentencias que: – Crea nuevas instancias de una clase. – Tiene el mismo nombre que la clase que inicializa. – Usa la palabra reservada new para invocarlo. –
Usa cero o más argumentos contenidos dentro delos paréntesis que siguen al nombre.
– No regresa un valor.
•
La sintaxis para llamarlo es:
TipoClase variable = new TipoClase(argumentos);
C
-
8/18/2019 Curso basico de programacion en java
82/86
Control de acceso
Anahí Salgado
@anncode
G S
-
8/18/2019 Curso basico de programacion en java
83/86
Getters y Setters
•
Un conjunto de métodos se crean por logeneral en una clase para leer/escribirespecíficamente los valores de las variablesmiembro.
• Estos se llaman getters - se utilizan paraobtener los valores
• Y setters - se utilizan para cambiar los valores
de las variables miembro.
Anahí Salgado
@anncode
G S
-
8/18/2019 Curso basico de programacion en java
84/86
Getters y Setters
• Los getters y setters son cruciales en lasclases de Java, ya que se utilizan paragestionar el estado de un objeto.
Anahí Salgado
@anncode
-
8/18/2019 Curso basico de programacion en java
85/86
Java Básico
Anahí Salgado
@anncode
public class HolaMundo {
public static void main(String[] args) {
System.out.println(“Hola Mundo”);
}
}
-
8/18/2019 Curso basico de programacion en java
86/86
•
https://docs.oracle.com/javase/tutorial/ jdbc/basics/sqlstructured.html