0% encontró este documento útil (0 votos)
35 vistas

11 Introjava1

Este documento presenta una introducción a Java, incluyendo conceptos como compilación, JVM, JRE, JDK, IDEs, variables, tipos de datos, arreglos, operadores, entrada y salida de datos, estructuras de control, métodos y la diferencia entre Java y C++. Explica los componentes principales de Java como lenguaje de programación orientado a objetos y proporciona ejemplos de código para ilustrar diferentes conceptos.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas

11 Introjava1

Este documento presenta una introducción a Java, incluyendo conceptos como compilación, JVM, JRE, JDK, IDEs, variables, tipos de datos, arreglos, operadores, entrada y salida de datos, estructuras de control, métodos y la diferencia entre Java y C++. Explica los componentes principales de Java como lenguaje de programación orientado a objetos y proporciona ejemplos de código para ilustrar diferentes conceptos.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 41

Programación

Avanzada

Andrea Rueda

Pontificia Universidad Javeriana


Departamento de Ingeniería de Sistemas
Java

https://spectrum.ieee.org/top-programming-languages-2021
Java vs C++

Compilación C++
Java vs C++

Compilación Java

http://java-intellectual.blogspot.com/2011/07/bytecode-and-its-importance.html
Java

Sistema Operativo
(Windows, Linux, Mac)

Java Runtime
Environment (JRE)

Java Virtual
Librerías
Machine (JVM)
Java
JVM, JRE y JDK (Java Development Kit)

https://techythought.wordpress.com/2014/04/21/jvm-jre-jdk-whats-the-relation/
Java

JDK (Oracle)
- Licenciado.
- Uso comercial, desarrollo o personal.
- https://www.oracle.com/java/technologies/downloads/

OpenJDK
- Licencia GPL.
- Prácticamente igual al JDK comercial.
- https://jdk.java.net/17/
Java

IDEs (Integrated Development Environment):
entornos de desarrollo para Java
- Eclipse
https://www.eclipse.org/downloads/
- Netbeans
https://netbeans.apache.org/download/index.html
- IntelliJ
https://www.jetbrains.com/es-es/idea/
Java: variables

Variable: símbolo que hace referencia a un
espacio en memoria donde se puede almacenar
un dato.
– Nombre.
– Tipo.
– Estado o valor.

int numero = 135;


float x = 23.45;
char simb = 'ñ';
Java: tipos de datos


Variables deben ser declaradas para ser
usadas.

Tipo de dato: conjunto al que el dato pertenece.

byte, short,
entero int, long
real float, double
caracter char
booleano bool
Java: tipos de datos
Nombre Descripción Tamaño Rango

bool Valor de verdad Sin true (1) o false (0)


definir
char Caracter (unicode) 16 bits ‘\u0000’ (0) a
‘\uffff’ (65535)
byte Entero pequeño 8 bits -128 a 127

short Entero corto 16 bits -32768 a 32767

int Entero 32 bits -231 a 231-1

long Entero largo 64 bits -263 a 263-1

float Punto flotante 32 bits Especificado en estándar

double Punto flotante de doble 64 bits Especificado en estándar


precisión
Java: clase String

Soporta arreglos o cadenas de caracteres.

No es un tipo de dato primitivo.
● Se define con comillas dobles “”.

Son inmutables, una vez creada, su valor no
puede cambiarse.

String s = "this is a string";


Java: arreglos

Número fijo de valores del mismo tipo de dato.

Tamaño fijo, definido una vez se declara.


Cada elemento se accede por un índice
numérico (entero).

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
Java: arreglos

Declarar un arreglo:
int[] anArray;
byte[] anArrayOfBytes;
short[] anArrayOfShorts;
long[] anArrayOfLongs;
float[] anArrayOfFloats;
double[] anArrayOfDoubles;
boolean[] anArrayOfBooleans;
char[] anArrayOfChars;
String[] anArrayOfStrings;

Hasta ahí, no tiene ningún tamaño definido!
Java: arreglos

Crear: asignar el tamaño requerido.
anArray = new int[10];


Inicializar: poner valores en cada posición.
anArray[0] = 100;
anArray[1] = 200;
anArray[2] = 300;


Crear e inicializar en una sola instrucción:
int[] anArray = { 100, 200, 300, 400,
500, 600, 700, 800, 900, 1000};
Java: arreglos

Arreglos multidimensionales (2 o más), se vé
como arreglo de arreglos.

Cada arreglo puede tener un tamaño diferente.
String[][] names = {
{"Mr. ", "Mrs. ", "Ms. "},
{"Smith", "Jones"}
};

Acceso con los índices de cada arreglo y dentro
de cada arreglo.
String fullName =
names[0][0] + names[1][0];
Java: arreglos

Tamaño del arreglo: propiedad length.
int arrSize = anArray.length;


Manipulaciones de arreglos: clase
java.util.Arrays
– Buscar un elemento en un arreglo
– Comparar dos arreglos
– Llenar con un valor específico
– Organizar un arreglo de forma ascendente
– Copiar un arreglo en otro
Java: operadores
Precedencia Tipo Operadores
1 posfijo expr++ expr--
2 unario ++expr --expr +expr -expr ~ !
3 multiplicativo * / %
4 aditivo + -
5 corrimiento << >> >>>
6 relacional < > <= >= instanceof
7 igualdad == !=
8 AND de bits &
9 XOR de bits ^
10 OR de bits |
11 AND lógico &&
12 OR lógico ||
13 ternario ? :
= += -= *= /= %= &= ^= !=
14 asignación <<= >>= >>>==
Java: escritura

Comandos de escritura: clase System
System.out.print() → escribe en pantalla.
System.out.println() → escribe en pantalla
y termina con un cambio de línea.

System.out.println("The answer is " + 42);


System.out.print("Other answer is ");
System.out.println("forty-two");
Java: lectura

Comandos de lectura: clase Scanner
import java.util.Scanner


Crear un objeto de la clase para luego usar sus
métodos
Scanner keyboard = new Scanner(System.in);
int numberOfPods = keyboard.nextInt();
double d1 = keyboard.nextDouble();
String word1 = keyboard.next();
String line = keyboard.nextLine();
Java: lectura

Otra opción: leer todo como cadenas de
caracteres y hacer la conversión respectiva:
String numCompStr = keyboard.nextLine();
int numComp = Integer.parseInt(numCompStr);
String costStr = keyboard.nextLine();
double cost = Double.parseDouble(costStr);


Hay que cerrar el objeto al terminar
keyboard.close();
Java vs C++

Hola mundo en C++

Archivo main.cpp:

#include <iostream>

int main() {
std::cout << "Hello World!\n";
}
Java vs C++

Hola mundo en Java

Archivo Main.java:

class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
Java: estructuras de decisión

Estructuras de selección o decisión:
if (<cond>) {
<bloque de instrucciones>
}

if (<cond>) {
<bloque de instrucciones 1>
} else {
<bloque de instrucciones 2>
}
Java: estructuras de decisión

Estructuras de selección (decisión) anidadas:

if (<cond 1>) {
<bloque de instrucciones 1>
} else {
if (<cond 2>) {
<bloque de instrucciones 2>
} else {
<bloque de instrucciones 3>
}
}
Java: estructuras de decisión

Estructura de selección (decisión) múltiple:
switch (<opcion>) {
case <constante 1>:
<bloque de instrucciones 1>
break;
case <constante 2>:
<bloque de instrucciones 2>
break;
default:
<bloque de instrucciones 3>
break;
}
Java: estructuras de repetición

Estructuras de iteración o repetición:

while (<cond>) {
<bloque de instrucciones>
}

do {
<bloque de instrucciones>
} while (<cond>);
Java: estructuras de repetición

Estructuras de iteración (repetición):

for (i=<lim_inf>; i<=<lim_sup>; i++) {


<bloque de instrucciones>
}
Java

Ejercicio 1:
Dado un número entero, escribir el código que
imprima en pantalla la tabla de multiplicar (del 1
al 10) de ese número.
Java

Ejercicio 1 (código):
Dado un número entero, imprimir en pantalla la
tabla de multiplicar (del 1 al 10) de ese número.
int n, i;
System.out.println(“Ingrese número:”);
Scanner keyb = new Scanner(System.in);
n = keyb.nextInt();
for (i=1; i<=10; i++) {
System.out.print(n + “*” + i + “=”);
System.out.println(n*i);
}
keyb.close();
https://replit.com/@Andrea_del_Pila/PA-introJava-ejercicio1
Java: métodos

Método (función): bloque de código que realiza
una tarea específica.
– Nombre.
– Tipo de retorno.
– Número de parámetros.

Nombre.

Tipo.
– Modificador: público, privado…
– Estático: requiere o no un objeto para ejecutarse.
Java: métodos

Método (función): bloque de código que realiza
una tarea específica.

class Main {

public int addNumbers(int a, int b) {


int sum = a + b;
return sum;
}
}
Java: métodos

Método (función): bloque de código que realiza
una tarea específica.

...

Main obj = new Main();


int result = obj.addNumbers(num1, num2);

...
Java

Ejercicio 2:
Escribir el código de una función que calcule el
máximo (valor más grande) de dos números
reales.
– Tipo de retorno.
– Cantidad de parámetros.

Tipo de dato de cada parámetro.
Java

Ejercicio 2:
Escribir el código de una función que calcule el
máximo (valor más grande) de dos números
reales.
– Tipo de retorno → real.
– Cantidad de parámetros → 2 números.

Tipo de dato de cada parámetro → reales.
Java

Ejercicio 2 (código):
Escribir una función que calcule el máximo de
dos números reales.

public float maximo (float num1,


float num2) {
if (num1 > num2)
return num1;
else
return num2;
}

https://replit.com/@Andrea_del_Pila/PA-introJava-ejercicio2
Java

Ejercicio 3:
Dado un arreglo de enteros (junto con su
tamaño), escribir el código que permita llenar
una matriz cuadrada (fila por fila) con los datos
del arreglo.
Java

Ejercicio 3:
Dado un arreglo de enteros (junto con su
tamaño), escribir el código que permita llenar
una matriz cuadrada (fila por fila) con los datos
del arreglo.
– leer tamaño del arreglo y cada uno de los enteros.
– calcular la dimensión de la matriz cuadrada que
puede contener todos los elementos.
– llenar la matriz de izquierda a derecha y de arriba a
abajo con los datos del arreglo.
Java

Ejercicio 3 (código):
Dado un arreglo de enteros (junto con su
tamaño), ¿cómo llenar una matriz cuadrada
con los datos del arreglo?
– leer tamaño del arreglo y cada uno de los enteros.
n = keyb.nextInt();
int[] arr;
arr = new int[n];
for (i=0; i<n; i++) {
arr[i] = keyb.nextInt();
}
Java

Ejercicio 3 (código):
Dado un arreglo de enteros (junto con su
tamaño), ¿cómo llenar una matriz cuadrada
con los datos del arreglo?
– calcular la dimensión de la matriz cuadrada que
puede contener todos los elementos.
int tam = (int)Math.ceil(Math.sqrt(n));

int[][] mat;
mat = new int[tam][tam];
Java

Ejercicio 3 (código):
Dado un arreglo de enteros (junto con su
tamaño), ¿cómo llenar una matriz cuadrada
con los datos del arreglo?
– llenar la matriz de izquierda a derecha y de arriba a
abajo con los datos del arreglo.
int l=0;
for (int i=0; i<tam; i++)
for (int j=0; j<tam; j++) {
mat[i][j] = arr[l];
l = l+1;
} https://replit.com/@Andrea_del_Pila/PA-introJava-ejercicio3

También podría gustarte