SlideShare una empresa de Scribd logo
Geovanny Mendoza Gonzalez // geovanny0401@gmail.com
 Java nace y da sus primeros pasos en 1991 formando parte de un
proyecto de desarrollo de soporte software para electrónica de
consumo (frigoríficos, lavadoras), llevado a cabo por un equipo de
SUN llamado Green Team (Patrick Naughton, James Gosling y Mike
Sheridan).
 Este primer enfoque le da a Java una de sus más interesantes
características: La portabilidad, dado que Java tenia que funcionar
en numerosos tipos de CPUs, basándose en el lenguaje de
programación C++ y por tanto se pensó para ser independiente de
la plataforma sobre la que funcione. Esta característica es muy
posiblemente la que ha permitido a Java convertirse actualmente
en el lenguaje por excelencia para la creación de aplicaciones en
Internet.
 JDK 1.0 (23 de enero de 1996)
 JDK 1.1 (19 de febrero de 1997). Una reestructuración
intensiva del modelo de eventos AWT (Abstract Windowing
Toolkit), clases internas (inner classes), JavaBeans, JDBC (Java
Database Connectivity), para la integración de bases de datos,
RMI (Remote Method Invocation).
 J2SE 1.2 (8 de dieciembre de 1998 - Nombre clave
Playground. Esta y las siguientes versiones fueron recogidas
bajo la denominación Java 2 y el nombre "J2SE" (Java 2
Platform, Standard Edition), reemplazó a JDK para distinguir la
plataforma base de J2EE (Java 2 Platform, Enterprise Edition)
y J2ME (Java 2 Platform, Micro Edition).
 J2SE 1.3 (8 de mayo de 2000) - Nombre clave Kestrel.
 J2SE 1.4 (6 de febrero de 2002) - Nombre Clave Merlin.
Este fue el primer lanzamiento de la plataforma Java
desarrollado bajo el Proceso de la Comunidad Java como JSR
59. Los cambios más notables fueron: comunicado de
prensalista completa de cambios.
 J2SE 1.5 (30 de Septiembre de 2000) - Nombre clave: Tiger.
(Originalmente numerado 1.5, esta notación aún es usada
internamente).
 Java SE6 (11 de Diciembre de 2006) - Nombre clave Mustang.
Estuvo en desarrollo bajo la JSR 270. En esta versión, Sun
cambió el nombre "J2SE" por Java SE y eliminó el ".0" del
número de versión.
 Java SE 7 Nombre clave Dolphin. En el año 2006 aún se encontraba en las
primeras etapas de planificación. Su lanzamiento fue en julio de 2011.
Soporte para XML dentro del propio lenguaje.
 Un nuevo concepto de superpaquete.
 Soporte para closures.
 Introducción de anotaciones estándar para detectar fallos en el software.
 No oficiales:
 NIO2.
 Java Module System.
 Java Kernel.
 Nueva API para el manejo de Días y Fechas, la cual reemplazara las
antiguas clases Date y Calendar.
 Posibilidad de operar con clases BigDecimal usando operandos.
 El lenguaje Java se creó con cinco objetivos principales:
1) Debería usar el paradigma de la programación orientada a
objetos.
2) Debería permitir la ejecución de un mismo programa en
múltiples sistemas operativos.
3) Debería incluir por defecto soporte para trabajo en red.
4) Debería diseñarse para ejecutar código en sistemas remotos
de forma segura.
5) Debería ser fácil de usar y tomar lo mejor de otros lenguajes
orientados a objetos, como C++.
 No debemos confundir Java con JavaScript. El primero es el
lenguaje de programación. El segundo es un lenguaje de
scripting que permite agregar cierta funcionalidad dinámica
en las páginas Web. Nuevamente, la similitud de los nombres
puede aportar confusión, pero vale la pena aclarar que
JavaScript no tiene nada que ver con Java. Son dos cosas
totalmente diferentes.
• Java soporta comentarios in-line (de una sola línea) y
comentarios de varias líneas.
• Comentarios de una sola línea:
// esto es una línea de código comentada
• Comentarios de más de una línea:
/*
Estas son varias
lineas de codigo
comentadas
*/
// Hola.java
import javax.swing.JOptionPane;
public class Hola //Declara una clase llamada Hola, que es descendiente de la clase Object
{ //Entre llaves se declaran los atributos y métodos de la clase
public static void main(String[] args)
//public: indica que el método main()es público
//void: indica que la función main() no devuelve ningún valor
//El método main()debe aceptar siempre como parámetro un vector de strings
{
JOptionPane.showMessageDialog(null, "Hola Mundo");
//Esta línea indica que se va a ejecutar el método showMessageDialog(), encargado de mostrar
//en un cuadro de diálogo un valor (en nuestro caso, un String)
//El primer parámetro no es necesario y podemos usar el valor nulo
//(el parámetro indica el JFrame asociado, el contenedor o entorno del diálogo a crear)
}
}
 Estructuras de control
◦ Nos permite cambiar el orden de las declaraciones
ejecutadas en nuestros programas.
 Hay dos tipos de estructuras de control
◦ Estructuras de selección / decision control structures
 Nos permite seleccionar secciones específicas del código
para ser ejecutado, a partir de una condición.
◦ Estructuras de iteración / repetition control structures
 Nos permite ejecutar secciones específicas del código una
cantidad determinada de veces.
 Estructuras de selección
◦ Declaraciones que nos permiten seleccionar y ejecutar
bloques específicos del código mientras otras partes son
ignoradas.
 Tipos:
◦ if( boolean_expression )
statement;
◦ if( boolean_expression ){
statement1;
}
else{
statement2;
}
◦ if( boolean_expression1 )
statement1;
else if( boolean_expression2 )
statement2;
else
statement3
 La condición dentro de la declaración If no evalúa un valor
boleano. Por ejemplo,
//WRONG
int number = 0;
if( number ){
//some statements here
}
La variable number no es un tipo booleano
 Escribir elseif en vez de else if.
 Switch
 La sentencia switch se encarga de estructurar una
selección múltiple. Al contrario del enunciado if-else que
sólo podemos indicar dos alternativas, maneja un
número finito de posibilidades.
 La estructura general del enunciado switch es la
siguiente:
Estructura de Control “Declaracion
Switch”
switch( expresión ) {
case constante1:
sentencia1;
...
break;
...
case constanteN:
sentenciaN;
...
break;
default:
sentencia;
...
break
}
 Estructuras de iteración
◦ Nos permite ejecutar secciones específicas del código una
cantidad determinada de veces y disponemos de Tres tipos:
◦ while
◦ do-while
◦ for
• Comencemos por analizar el uso del while cuya estructura es
la siguiente:
while( condicion )
{
accion1;
accion2;
:
}
• El ciclo itera mientras condicion resulte verdadera.
int x = 0;
while (x<10) {
System.out.println(x);
x++;
}
 do-while
◦ La sentencia de iteración do-while es de tipo posprueba.
◦ Primero realiza las acciones luego pregunta.
 do-while tiene esta sintaxis:
do{
statement1;
statement2;
. . .
}while( boolean_expression );
int x = 0;
do {
System.out.println(x);
x++;
}while (x<10);
 Bucle for
◦ Permite la ejecución del mismo código un número de veces.
 Sintaxis del bucle for:
for (<inicialización>;<condición>;<actualización>)
<bloque-o-instrucción>
 Siempre equivalente a un bucle while
 Como en el caso de do-while, muchas veces un bucle for es
más compacto que un while.
Tipo descripción longitud
Byte entero con signo 1 byte
Char entero sin signo 2 bytes
Short entero con signo 2 bytes
Int entero con signo 4 bytes
Long entero con signo 8 bytes
Float punto flotante 4 bytes
Single punto flotante 8 bytes
Boolean lógico (admite true o false) 1 byte
String objeto, representa una cadena de carácteres
 Las constantes se definen fuera de los métodos
utilizando el modificador final.
 Habitualmente, se las define como públicas y
estáticas (public, static).
 Un array es un conjunto de variables del mismo tipo
cuyas direcciones de memoria son contiguas. Esto
permite definir un nombre para el array (conjunto de
variables) y acceder a cada elemento del conjunto (a
cada variable) a través del nombre común (nombre del
array) más un subíndice que especifica la posición
relativa del elemento al que queremos acceder.
 En Java los arrays comienzan siempre desde cero y se
definen de la siguiente manera:
// define un array de 10 elementos enteros numerados de 0
a 9
int arr[] = new int[10];
 Las matrices son objetos de la clase Array
 Declaración:
◦ String[] palabras;
◦ String palabras[];
Creación:
◦ String[] palabras = new String[5];
String[] palabras = { "Hola", "mundo" }
Acceso a elementos:
◦ palabras[0] = "Adiós";
Obtener tamaño:
int tam = palabras.length;
 Los índices válidos van desde 0 a .length - 1
 Las matrices son objetos de la clase Array
 Declaración:
 String[] palabras;
 String palabras[];
 Creación:
 String[] palabras = new String[5];
 String[] palabras = { "Hola", "mundo" }
 Acceso a elementos:
 palabras[0] = "Adiós";
 Obtener tamaño:
 int tam = palabras.length;
 Los índices válidos van desde 0 a .length - 1
 Una cadena de caracteres literal se representa encerrada entre
comillas dobles, por ejemplo: "Esto es una cadena". En cambio, un
carácter literal se representa encerrado entre comillas simples, por
ejemplo: 'A'.
 En Java las cadenas son tratadas como objetos, por lo tanto "Esto es
una cadena“ es un objeto y podemos invocar sus métodos como
veremos a continuación:
// imprime ESTO ES UNA CADENA (en mayusculas)
System.out.println( "Esto es una cadena".toUpperCase() );
 En cambio, los caracteres (al igual que en C) son valores numéricos
enteros. Por ejemplo 'A' es en realidad el valor 65 ya que este es el
código ASCII de dicho carácter.
 Notemos además que no es lo mismo "A" que 'A'. El primero es una
cadena de caracteres que contiene un único carácter; es un objeto.
El segundo es un char; un valor numérico.
 El método substring puede invocarse con dos argumentos o
con un único argumento. Si lo invocamos con dos argumentos,
estaremos indicando las posiciones desde (inclusive) y hasta (no
inclusive) que delimitarán la subcadena que queremos extraer. En
cambio, si lo invocamos con un solo argumento estaremos
indicando que la subcadena a extraer comienza en la posición
especificada (inclusive) y se extenderá hasta el final del string.
 Decimos que un método está “sobrecargado” cuando podemos
invocarlo con diferentes cantidades y/o diferentes tipos de
argumentos. Este es el caso del método substring.
 “Sobrecarga de métodos” es uno de los temas que estudiaremos en
el capítulo de programación orientada a objetos.
 Para concatenar cadenas podemos utilizar el operador +
como se muestra a continuación:
String x = "";
x = x + "Hola ";
x = x + "Que tal?";
System.out.println(x); // imprime "Hola Que tal?“
• Si bien lo anterior funciona bien no es la opción más
eficiente ya que cada concatenación implica instanciar
una nueva cadena y descartar la anterior.
• Mucho más eficiente será utilizar la clase StringBuffer.
• Esta clase representa a un string cuyo contenido puede variar
(mutable). Provee métodos a través de los cuales podemos insertar
nuevos caracteres, eliminar algunos o todos y cambiar los
caracteres contenidos en las diferentes posiciones del string.
• El compilador utiliza un string buffer para resolver la
implementación del operador de concatenación +. Es decir que en
el ejemplo anterior se utilizará una instancia de StringBuffer de la
siguiente manera:
String x = new StringBuffer().append("Hola ")
.append("Que Tal?")
.toString();
• La diferencia de rendimiento entre utilizar el operador + y la clase
StringBuffer para concatenar cadenas es abismal.
 Las funciones y métodos en java sirven para la optimización de
código y la reutilización del mismo. Si quisiéramos realizar sumas de
dos o más números en diferentes puntos de la aplicación sería un
problema estar realizando el mismo código de la sumatoria a cada
instante que lo necesitemos, por lo tanto lo adecuado sería realizar
una sola vez la suma y llamar a tal función cada vez que lo
necesitemos.
 MÉTODOS
Es un conjunto de código reutilizable del cual se puede hacer un uso
continuo que se encuentra disponible en cualquier momento deseado
dentro de la aplicación.
 FUNCIÓN
 Las funciones son similares a los métodos la
diferencia es que estas retornan un
resultado lo cual puede ser almacenado dentro
de una variable o impreso directamente en
pantalla, mientras que los métodos no retornan
ningún tipo de dato pero a si mismo podrían
meterse variables al mismo método lo cual
podría usarse como un tipo de retorno aunque
no sería lo mismo.
Veamos un ejemplo, primero creemos un método que realice la suma de dos números, el
código sería el siguiente:
private void MetodoSuma(float numero1, float numero2){
float Suma=numero1+numero2;
System.out.println(Suma);
}
Ahora creemos una función que realice lo mismo pero que retorne el resultado para
Almacenarlo dentro de una variable, el código lo vemos seguidamente:
private float FuncionSuma(float numero1, float numero2){
float Suma=numero1+numero2;
return Suma;
}
En el primero caso haremos el uso del método cargándole con dos datos
fijos. Creamos los dos datos de tipo float y luego instanciamos al método
de la siguiente forma:
float Num1=7, Num2=4;
MetodosFunciones C=new MetodosFunciones();
C.MetodoSuma(Num1, Num2);
Primero debemos instanciar a la clase, en este caso a MetodosFunciones
porque es el nombre de la clase principal
MetodosFunciones C=new MetodosFunciones();
luego haciendo uso de su variable C instanciamos al método o función que
deseemos llamar como se ve seguidamente
C.MetodoSuma(Num1, Num2);
Habiendo realizado el código hasta este punto ya debería imprimir la suma de ambos
números, entonces al ejecutar el código debería mostrarnos el resultado de la suma de
ambos números.
Ahora para poder hacer uso de la función sería lo mismo, pero en esta oportunidad
podríamos hacer uso de la clase ya instanciada con su variable C instanciando
directamente a la función de la siguiente forma:
Sumax=C.FuncionSuma(Num1, Num2);
En este caso asignamos a una variable Sumax la función ya que esta función retornara un
resultado y haría falta hacer impresión en pantalla de este dato lo cual podemos hacerlo de la
siguiente forma
System.out.println(Sumax);
También podría realizarse la impresión directamente sin necesidad de almacenarlo en una
variable como se muestra seguidamente lo cual daría el mismo resultado
System.out.println(C.FuncionSuma(Num1, Num2));
 Operadores Aritméticos
Operador Descripción
+ suma
- resta
* multiplicación
/ división
% módulo
+= acumulador
-= restador
*= multiplicador
/= divisor
 Operadores Lógico
 Operadores Relacionales
Operador Descripción
&& And
|| Or
! not
Operador Descripción
== igual
!= distinto (not equals)
> mayor que
< menor que
>= mayor o igual que
<= menor o igual que
 Operadores Lógico de bit
 Operadores de desplazamiento de bit
Operador Descripción
& and binario
| or binario
Operador Descripción
<< desplazamiento a izquierda
>> desplazamiento a derecha
>>>
desplazamiento a derecha incluyendo el bit
de signo

Más contenido relacionado

La actualidad más candente

Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Eudris Cabrera
 
Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]Hack '
 
Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018
Eudris Cabrera
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
maeusogo
 
02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional
Juan Rodríguez
 
Glosario de términos
Glosario de términosGlosario de términos
Glosario de términos
Misheell Meseguer
 
Java clases dictadas
Java clases dictadasJava clases dictadas
Java clases dictadasGaloGabriel
 
P2_Actividad 4 :Glosario de términos
P2_Actividad 4 :Glosario de términosP2_Actividad 4 :Glosario de términos
P2_Actividad 4 :Glosario de términos
Javier Leon
 
Serialización de Objetos Java
Serialización de Objetos Java Serialización de Objetos Java
Serialización de Objetos Java Alexander Jurado
 
Serialización de objetos en java
Serialización de objetos en javaSerialización de objetos en java
Serialización de objetos en java
Ivette Ramos
 
Programacion oo
Programacion ooProgramacion oo
Programacion oo
karlalopezbello
 
Manual de Java
Manual de JavaManual de Java
Manual de Java
Jesús Navarro
 
Unidad 2 clases y objetos
Unidad 2 clases y objetosUnidad 2 clases y objetos
Unidad 2 clases y objetos
Kimuro Vissaseus
 
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
Eudris Cabrera
 
Unidad 2 Sintaxis en java
Unidad 2 Sintaxis en javaUnidad 2 Sintaxis en java
Unidad 2 Sintaxis en java
Cindy Adriana Bohórquez Santana
 
Java fundamentos 15 consejos prácticos - ITLA Tech Day 2018
Java fundamentos   15 consejos prácticos - ITLA Tech Day 2018Java fundamentos   15 consejos prácticos - ITLA Tech Day 2018
Java fundamentos 15 consejos prácticos - ITLA Tech Day 2018
Eudris Cabrera
 
generalidades java
generalidades javageneralidades java
generalidades java
Ramón Marcano
 

La actualidad más candente (19)

Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
Java fundamentos -15 consejos prácticos - Encuentro Universitario Comunidad J...
 
Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]
 
Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional
 
Glosario de términos
Glosario de términosGlosario de términos
Glosario de términos
 
Introducción a java
Introducción a javaIntroducción a java
Introducción a java
 
Java clases dictadas
Java clases dictadasJava clases dictadas
Java clases dictadas
 
P2_Actividad 4 :Glosario de términos
P2_Actividad 4 :Glosario de términosP2_Actividad 4 :Glosario de términos
P2_Actividad 4 :Glosario de términos
 
Serialización de Objetos Java
Serialización de Objetos Java Serialización de Objetos Java
Serialización de Objetos Java
 
Serialización de objetos en java
Serialización de objetos en javaSerialización de objetos en java
Serialización de objetos en java
 
Programacion oo
Programacion ooProgramacion oo
Programacion oo
 
Manual de Java
Manual de JavaManual de Java
Manual de Java
 
Unidad 2 clases y objetos
Unidad 2 clases y objetosUnidad 2 clases y objetos
Unidad 2 clases y objetos
 
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
 
Unidad 2 Sintaxis en java
Unidad 2 Sintaxis en javaUnidad 2 Sintaxis en java
Unidad 2 Sintaxis en java
 
Java fundamentos 15 consejos prácticos - ITLA Tech Day 2018
Java fundamentos   15 consejos prácticos - ITLA Tech Day 2018Java fundamentos   15 consejos prácticos - ITLA Tech Day 2018
Java fundamentos 15 consejos prácticos - ITLA Tech Day 2018
 
Portafolio de evidencias
Portafolio de evidenciasPortafolio de evidencias
Portafolio de evidencias
 
generalidades java
generalidades javageneralidades java
generalidades java
 

Similar a Introduccion java

Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
omar_guerrero
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
Krizztiina Pacheko
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
Karla Estefania Villanueva Epigmenio
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
Margarita Romero
 
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Mabel2310
 
Programación en java
Programación en javaProgramación en java
Programación en java
web dos punto cero punto cero
 
Lenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetosLenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetosDoris Aguagallo
 
Intro Java
Intro JavaIntro Java
Intro Java
Stefano Salvatori
 
Fundamentos de programación Java
Fundamentos de programación JavaFundamentos de programación Java
Fundamentos de programación Javaquesada_diego
 
Presentación Java Evolution - GlobalLogic Club
Presentación Java Evolution - GlobalLogic ClubPresentación Java Evolution - GlobalLogic Club
Presentación Java Evolution - GlobalLogic Club
GlobalLogic Latinoamérica
 
Lenguaje de Alto Nivel
Lenguaje de Alto NivelLenguaje de Alto Nivel
Lenguaje de Alto Nivel
Videoconferencias UTPL
 
Clase n°2 3-4 java
Clase n°2 3-4 javaClase n°2 3-4 java
Clase n°2 3-4 java
jbersosa
 
Introducción a la Algoritmia
Introducción a la AlgoritmiaIntroducción a la Algoritmia
Introducción a la Algoritmia
Jesús Bautista Bellido
 
Curso Java Inicial 2 - Introducción y Sintaxis
Curso Java Inicial  2 - Introducción y SintaxisCurso Java Inicial  2 - Introducción y Sintaxis
Curso Java Inicial 2 - Introducción y Sintaxis
Emilio Aviles Avila
 
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)Oscar V
 
Unidad i poo
Unidad i pooUnidad i poo
[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java
Eudris Cabrera
 
El lenguaje java
El lenguaje javaEl lenguaje java
El lenguaje java
Gabriel Barboza
 

Similar a Introduccion java (20)

Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
 
Programación en java
Programación en javaProgramación en java
Programación en java
 
Lenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetosLenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetos
 
Intro Java
Intro JavaIntro Java
Intro Java
 
Java world
Java worldJava world
Java world
 
Fundamentos de programación Java
Fundamentos de programación JavaFundamentos de programación Java
Fundamentos de programación Java
 
Semana9b Vbr
Semana9b VbrSemana9b Vbr
Semana9b Vbr
 
Presentación Java Evolution - GlobalLogic Club
Presentación Java Evolution - GlobalLogic ClubPresentación Java Evolution - GlobalLogic Club
Presentación Java Evolution - GlobalLogic Club
 
Lenguaje de Alto Nivel
Lenguaje de Alto NivelLenguaje de Alto Nivel
Lenguaje de Alto Nivel
 
Clase n°2 3-4 java
Clase n°2 3-4 javaClase n°2 3-4 java
Clase n°2 3-4 java
 
Introducción a la Algoritmia
Introducción a la AlgoritmiaIntroducción a la Algoritmia
Introducción a la Algoritmia
 
Curso Java Inicial 2 - Introducción y Sintaxis
Curso Java Inicial  2 - Introducción y SintaxisCurso Java Inicial  2 - Introducción y Sintaxis
Curso Java Inicial 2 - Introducción y Sintaxis
 
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
 
Unidad i poo
Unidad i pooUnidad i poo
Unidad i poo
 
[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java
 
El lenguaje java
El lenguaje javaEl lenguaje java
El lenguaje java
 

Último

maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 

Último (20)

maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 

Introduccion java

  • 1. Geovanny Mendoza Gonzalez // geovanny0401@gmail.com
  • 2.  Java nace y da sus primeros pasos en 1991 formando parte de un proyecto de desarrollo de soporte software para electrónica de consumo (frigoríficos, lavadoras), llevado a cabo por un equipo de SUN llamado Green Team (Patrick Naughton, James Gosling y Mike Sheridan).  Este primer enfoque le da a Java una de sus más interesantes características: La portabilidad, dado que Java tenia que funcionar en numerosos tipos de CPUs, basándose en el lenguaje de programación C++ y por tanto se pensó para ser independiente de la plataforma sobre la que funcione. Esta característica es muy posiblemente la que ha permitido a Java convertirse actualmente en el lenguaje por excelencia para la creación de aplicaciones en Internet.
  • 3.  JDK 1.0 (23 de enero de 1996)  JDK 1.1 (19 de febrero de 1997). Una reestructuración intensiva del modelo de eventos AWT (Abstract Windowing Toolkit), clases internas (inner classes), JavaBeans, JDBC (Java Database Connectivity), para la integración de bases de datos, RMI (Remote Method Invocation).  J2SE 1.2 (8 de dieciembre de 1998 - Nombre clave Playground. Esta y las siguientes versiones fueron recogidas bajo la denominación Java 2 y el nombre "J2SE" (Java 2 Platform, Standard Edition), reemplazó a JDK para distinguir la plataforma base de J2EE (Java 2 Platform, Enterprise Edition) y J2ME (Java 2 Platform, Micro Edition).
  • 4.  J2SE 1.3 (8 de mayo de 2000) - Nombre clave Kestrel.  J2SE 1.4 (6 de febrero de 2002) - Nombre Clave Merlin. Este fue el primer lanzamiento de la plataforma Java desarrollado bajo el Proceso de la Comunidad Java como JSR 59. Los cambios más notables fueron: comunicado de prensalista completa de cambios.
  • 5.  J2SE 1.5 (30 de Septiembre de 2000) - Nombre clave: Tiger. (Originalmente numerado 1.5, esta notación aún es usada internamente).  Java SE6 (11 de Diciembre de 2006) - Nombre clave Mustang. Estuvo en desarrollo bajo la JSR 270. En esta versión, Sun cambió el nombre "J2SE" por Java SE y eliminó el ".0" del número de versión.
  • 6.  Java SE 7 Nombre clave Dolphin. En el año 2006 aún se encontraba en las primeras etapas de planificación. Su lanzamiento fue en julio de 2011. Soporte para XML dentro del propio lenguaje.  Un nuevo concepto de superpaquete.  Soporte para closures.  Introducción de anotaciones estándar para detectar fallos en el software.  No oficiales:  NIO2.  Java Module System.  Java Kernel.  Nueva API para el manejo de Días y Fechas, la cual reemplazara las antiguas clases Date y Calendar.  Posibilidad de operar con clases BigDecimal usando operandos.
  • 7.  El lenguaje Java se creó con cinco objetivos principales: 1) Debería usar el paradigma de la programación orientada a objetos. 2) Debería permitir la ejecución de un mismo programa en múltiples sistemas operativos. 3) Debería incluir por defecto soporte para trabajo en red. 4) Debería diseñarse para ejecutar código en sistemas remotos de forma segura. 5) Debería ser fácil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++.
  • 8.  No debemos confundir Java con JavaScript. El primero es el lenguaje de programación. El segundo es un lenguaje de scripting que permite agregar cierta funcionalidad dinámica en las páginas Web. Nuevamente, la similitud de los nombres puede aportar confusión, pero vale la pena aclarar que JavaScript no tiene nada que ver con Java. Son dos cosas totalmente diferentes.
  • 9. • Java soporta comentarios in-line (de una sola línea) y comentarios de varias líneas. • Comentarios de una sola línea: // esto es una línea de código comentada • Comentarios de más de una línea: /* Estas son varias lineas de codigo comentadas */
  • 10. // Hola.java import javax.swing.JOptionPane; public class Hola //Declara una clase llamada Hola, que es descendiente de la clase Object { //Entre llaves se declaran los atributos y métodos de la clase public static void main(String[] args) //public: indica que el método main()es público //void: indica que la función main() no devuelve ningún valor //El método main()debe aceptar siempre como parámetro un vector de strings { JOptionPane.showMessageDialog(null, "Hola Mundo"); //Esta línea indica que se va a ejecutar el método showMessageDialog(), encargado de mostrar //en un cuadro de diálogo un valor (en nuestro caso, un String) //El primer parámetro no es necesario y podemos usar el valor nulo //(el parámetro indica el JFrame asociado, el contenedor o entorno del diálogo a crear) } }
  • 11.  Estructuras de control ◦ Nos permite cambiar el orden de las declaraciones ejecutadas en nuestros programas.  Hay dos tipos de estructuras de control ◦ Estructuras de selección / decision control structures  Nos permite seleccionar secciones específicas del código para ser ejecutado, a partir de una condición. ◦ Estructuras de iteración / repetition control structures  Nos permite ejecutar secciones específicas del código una cantidad determinada de veces.
  • 12.  Estructuras de selección ◦ Declaraciones que nos permiten seleccionar y ejecutar bloques específicos del código mientras otras partes son ignoradas.  Tipos: ◦ if( boolean_expression ) statement; ◦ if( boolean_expression ){ statement1; } else{ statement2; } ◦ if( boolean_expression1 ) statement1; else if( boolean_expression2 ) statement2; else statement3
  • 13.  La condición dentro de la declaración If no evalúa un valor boleano. Por ejemplo, //WRONG int number = 0; if( number ){ //some statements here } La variable number no es un tipo booleano  Escribir elseif en vez de else if.
  • 14.  Switch  La sentencia switch se encarga de estructurar una selección múltiple. Al contrario del enunciado if-else que sólo podemos indicar dos alternativas, maneja un número finito de posibilidades.  La estructura general del enunciado switch es la siguiente: Estructura de Control “Declaracion Switch”
  • 15. switch( expresión ) { case constante1: sentencia1; ... break; ... case constanteN: sentenciaN; ... break; default: sentencia; ... break }
  • 16.  Estructuras de iteración ◦ Nos permite ejecutar secciones específicas del código una cantidad determinada de veces y disponemos de Tres tipos: ◦ while ◦ do-while ◦ for
  • 17. • Comencemos por analizar el uso del while cuya estructura es la siguiente: while( condicion ) { accion1; accion2; : } • El ciclo itera mientras condicion resulte verdadera.
  • 18. int x = 0; while (x<10) { System.out.println(x); x++; }
  • 19.  do-while ◦ La sentencia de iteración do-while es de tipo posprueba. ◦ Primero realiza las acciones luego pregunta.  do-while tiene esta sintaxis: do{ statement1; statement2; . . . }while( boolean_expression );
  • 20. int x = 0; do { System.out.println(x); x++; }while (x<10);
  • 21.  Bucle for ◦ Permite la ejecución del mismo código un número de veces.  Sintaxis del bucle for: for (<inicialización>;<condición>;<actualización>) <bloque-o-instrucción>  Siempre equivalente a un bucle while  Como en el caso de do-while, muchas veces un bucle for es más compacto que un while.
  • 22. Tipo descripción longitud Byte entero con signo 1 byte Char entero sin signo 2 bytes Short entero con signo 2 bytes Int entero con signo 4 bytes Long entero con signo 8 bytes Float punto flotante 4 bytes Single punto flotante 8 bytes Boolean lógico (admite true o false) 1 byte String objeto, representa una cadena de carácteres
  • 23.  Las constantes se definen fuera de los métodos utilizando el modificador final.  Habitualmente, se las define como públicas y estáticas (public, static).
  • 24.  Un array es un conjunto de variables del mismo tipo cuyas direcciones de memoria son contiguas. Esto permite definir un nombre para el array (conjunto de variables) y acceder a cada elemento del conjunto (a cada variable) a través del nombre común (nombre del array) más un subíndice que especifica la posición relativa del elemento al que queremos acceder.  En Java los arrays comienzan siempre desde cero y se definen de la siguiente manera: // define un array de 10 elementos enteros numerados de 0 a 9 int arr[] = new int[10];
  • 25.  Las matrices son objetos de la clase Array  Declaración: ◦ String[] palabras; ◦ String palabras[]; Creación: ◦ String[] palabras = new String[5]; String[] palabras = { "Hola", "mundo" } Acceso a elementos: ◦ palabras[0] = "Adiós"; Obtener tamaño: int tam = palabras.length;  Los índices válidos van desde 0 a .length - 1
  • 26.  Las matrices son objetos de la clase Array  Declaración:  String[] palabras;  String palabras[];  Creación:  String[] palabras = new String[5];  String[] palabras = { "Hola", "mundo" }  Acceso a elementos:  palabras[0] = "Adiós";  Obtener tamaño:  int tam = palabras.length;  Los índices válidos van desde 0 a .length - 1
  • 27.  Una cadena de caracteres literal se representa encerrada entre comillas dobles, por ejemplo: "Esto es una cadena". En cambio, un carácter literal se representa encerrado entre comillas simples, por ejemplo: 'A'.  En Java las cadenas son tratadas como objetos, por lo tanto "Esto es una cadena“ es un objeto y podemos invocar sus métodos como veremos a continuación: // imprime ESTO ES UNA CADENA (en mayusculas) System.out.println( "Esto es una cadena".toUpperCase() );  En cambio, los caracteres (al igual que en C) son valores numéricos enteros. Por ejemplo 'A' es en realidad el valor 65 ya que este es el código ASCII de dicho carácter.  Notemos además que no es lo mismo "A" que 'A'. El primero es una cadena de caracteres que contiene un único carácter; es un objeto. El segundo es un char; un valor numérico.
  • 28.  El método substring puede invocarse con dos argumentos o con un único argumento. Si lo invocamos con dos argumentos, estaremos indicando las posiciones desde (inclusive) y hasta (no inclusive) que delimitarán la subcadena que queremos extraer. En cambio, si lo invocamos con un solo argumento estaremos indicando que la subcadena a extraer comienza en la posición especificada (inclusive) y se extenderá hasta el final del string.  Decimos que un método está “sobrecargado” cuando podemos invocarlo con diferentes cantidades y/o diferentes tipos de argumentos. Este es el caso del método substring.  “Sobrecarga de métodos” es uno de los temas que estudiaremos en el capítulo de programación orientada a objetos.
  • 29.  Para concatenar cadenas podemos utilizar el operador + como se muestra a continuación: String x = ""; x = x + "Hola "; x = x + "Que tal?"; System.out.println(x); // imprime "Hola Que tal?“ • Si bien lo anterior funciona bien no es la opción más eficiente ya que cada concatenación implica instanciar una nueva cadena y descartar la anterior. • Mucho más eficiente será utilizar la clase StringBuffer.
  • 30. • Esta clase representa a un string cuyo contenido puede variar (mutable). Provee métodos a través de los cuales podemos insertar nuevos caracteres, eliminar algunos o todos y cambiar los caracteres contenidos en las diferentes posiciones del string. • El compilador utiliza un string buffer para resolver la implementación del operador de concatenación +. Es decir que en el ejemplo anterior se utilizará una instancia de StringBuffer de la siguiente manera: String x = new StringBuffer().append("Hola ") .append("Que Tal?") .toString(); • La diferencia de rendimiento entre utilizar el operador + y la clase StringBuffer para concatenar cadenas es abismal.
  • 31.  Las funciones y métodos en java sirven para la optimización de código y la reutilización del mismo. Si quisiéramos realizar sumas de dos o más números en diferentes puntos de la aplicación sería un problema estar realizando el mismo código de la sumatoria a cada instante que lo necesitemos, por lo tanto lo adecuado sería realizar una sola vez la suma y llamar a tal función cada vez que lo necesitemos.  MÉTODOS Es un conjunto de código reutilizable del cual se puede hacer un uso continuo que se encuentra disponible en cualquier momento deseado dentro de la aplicación.
  • 32.  FUNCIÓN  Las funciones son similares a los métodos la diferencia es que estas retornan un resultado lo cual puede ser almacenado dentro de una variable o impreso directamente en pantalla, mientras que los métodos no retornan ningún tipo de dato pero a si mismo podrían meterse variables al mismo método lo cual podría usarse como un tipo de retorno aunque no sería lo mismo.
  • 33. Veamos un ejemplo, primero creemos un método que realice la suma de dos números, el código sería el siguiente: private void MetodoSuma(float numero1, float numero2){ float Suma=numero1+numero2; System.out.println(Suma); } Ahora creemos una función que realice lo mismo pero que retorne el resultado para Almacenarlo dentro de una variable, el código lo vemos seguidamente: private float FuncionSuma(float numero1, float numero2){ float Suma=numero1+numero2; return Suma; }
  • 34. En el primero caso haremos el uso del método cargándole con dos datos fijos. Creamos los dos datos de tipo float y luego instanciamos al método de la siguiente forma: float Num1=7, Num2=4; MetodosFunciones C=new MetodosFunciones(); C.MetodoSuma(Num1, Num2); Primero debemos instanciar a la clase, en este caso a MetodosFunciones porque es el nombre de la clase principal MetodosFunciones C=new MetodosFunciones(); luego haciendo uso de su variable C instanciamos al método o función que deseemos llamar como se ve seguidamente C.MetodoSuma(Num1, Num2);
  • 35. Habiendo realizado el código hasta este punto ya debería imprimir la suma de ambos números, entonces al ejecutar el código debería mostrarnos el resultado de la suma de ambos números. Ahora para poder hacer uso de la función sería lo mismo, pero en esta oportunidad podríamos hacer uso de la clase ya instanciada con su variable C instanciando directamente a la función de la siguiente forma: Sumax=C.FuncionSuma(Num1, Num2); En este caso asignamos a una variable Sumax la función ya que esta función retornara un resultado y haría falta hacer impresión en pantalla de este dato lo cual podemos hacerlo de la siguiente forma System.out.println(Sumax); También podría realizarse la impresión directamente sin necesidad de almacenarlo en una variable como se muestra seguidamente lo cual daría el mismo resultado System.out.println(C.FuncionSuma(Num1, Num2));
  • 36.  Operadores Aritméticos Operador Descripción + suma - resta * multiplicación / división % módulo += acumulador -= restador *= multiplicador /= divisor
  • 37.  Operadores Lógico  Operadores Relacionales Operador Descripción && And || Or ! not Operador Descripción == igual != distinto (not equals) > mayor que < menor que >= mayor o igual que <= menor o igual que
  • 38.  Operadores Lógico de bit  Operadores de desplazamiento de bit Operador Descripción & and binario | or binario Operador Descripción << desplazamiento a izquierda >> desplazamiento a derecha >>> desplazamiento a derecha incluyendo el bit de signo