Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 0 additions & 62 deletions _posts/javaSE/JDK_JRE/2023-05-08-java-jdk-jre.md

This file was deleted.

80 changes: 80 additions & 0 deletions _posts/javaSE/JDK_JRE_JVM/2023-05-08-java-jdk-jre.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
layout: single
title: Java - JDK - JRE - JVM
date: 2023-05-08
classes: wide
toc: true
toc_label: "Tabla de contenido"
toc_icon: "clipboard-list"
header:
teaser: /assets/images/java/logo-java-2.jpg
categories:
- java
- java-manual
tags:
- java-JDK
- java-JRE
- java-JVM
page_css:
- /assets/css/mi-css.css
---

## Concepto

* **JDK** ``( Java Development Kit )``

* Paquete completo para desarrollar programas ``Java``

* Contiene un compilador ``javac``

* Herramienta de depuración y desarrollo de programas ``Java``

* Comando ``jar`` para comprimir un proyecto en un solo archivo **(compatible con ZIP)**

* Un entorno de ejecución ``JRE ( Java Runtime Environment)`` para ejecutar ``binarios``

* Proyecto terminado no es necesario tener el compilador utilizamos el entorno de ejecución ``JRE (Java Runtime Environment)``

* **JRE** ``( Java Runtime Environment)``

* Paquete ligero para ejecutar aplicaciones ``Java``

* Posee un conjunto de elementos para diseñar y ejecutar aplicaciones ``Java``

* Contiene un ``JVM ( Java Virtual Machine )`` como entorno de ejecución de ``Java``

* Dispone de ``bibliotecas de clases`` estandar

* Parte del kit de desarrollo Java ``(JDK)``

* Compuesto por la bibliotecas de las clases y el cargador de clases ``Java``

* **JVM** ``( Java Virtual Machine)``

* Componente que se instala en el ``sistema operativo`` a través del ``(JDK o JRE)`` que actua como un ``motor en tiempo de ejecución`` de la aplicaciones ``Java``

* Convierte el código ``bytecode`` a ``código nativo``

* Permite ejecutar un programa en diferentes sistemas operativos sin reescribir el código para adaptarlo a esa arquitectura

* ``JVM`` no se instala de forma independiente ya que se incluye como parte del ``JDK`` o del ``JRE``

### Relación entre JDK , JRE y JVM

* **JDK** ``(Java Development Kit)``

* Entorno de desarrollo de software utilizado para desarrollar aplicaciones Java

* Incluye el **JRE** ``(Java Runtime Environment)`` proporciona requisitos mínimos para ejecutar una aplicación

* **JRE** consiste en la **JVM** ``(Java Virtual Machine)`` , clases principales y archivos auxiliares

* Resumen

* **JDK** proporciona el ``entorno para desarrollar`` y ejecutar el programa ``Java``

* **JRE** proporciona un entorno para ejecutar (pero no desarrolla) el programa ``Java`` en su máquina

* **JVM** es una parte del **JDK** y **JRE** porque está incorporada en ambos

* Cualquier programa ``Java`` que ejecute utilizando **JRE** o **JDK** entra en la **JVM** y la **JVM** es responsable de ejecutar el programa ``Java`` línea por línea
15 changes: 7 additions & 8 deletions _posts/javaSE/linea_de_comandos/2022-05-30-linea-comandos.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ page_css:
- /assets/css/mi-css.css
---

## Ejecutar comando Java desde la línea de comandos
## Concepto

* Cuando tenemos que ejecutar programas escritos en **Java** desde la línea de comandos tenemos que ejecutarlos desde la raíz de la lista de paquetes que lo componen
* Cuando tenemos que ejecutar programas escritos en **Java** desde la ``línea de comandos`` tenemos que ejecutarlos desde la **raíz** de la lista de **paquetes** que lo componen

### Ejemplo

Expand All @@ -35,15 +35,15 @@ public class CapturaNumero {
}
```

* La **ruta** dentro del **directorio de trabajo** para compilar el programa sería
* La **ruta** dentro del **Directorio de trabajo - Working Directory** para compilar el programa sería

```java
// usuario@hostname
// ↓ ↓ "Ruta Completa de Directorios hasta la fuente del programa"
// ↓ ↓ ↓ Comando
// ↓ ↓ ↓ ↓ Package/Paquetes del Proyecto
// ↓ ↓ ↓ ↓ 1-Argumentos
// ↓ ↓ ↓ ↓
// ↓ ↓ ↓ ↓ 1-Argumentos
// ↓ ↓ ↓ ↓
usuario@torre:/mnt/d/Proyectos_Eclipse/Programacion_Java/ConceptosBasicos/src$ javac conceptos/comandos/CapturaNumero 3
```

Expand All @@ -54,9 +54,8 @@ usuario@torre:/mnt/d/Proyectos_Eclipse/Programacion_Java/ConceptosBasicos/src$ j
// ↓ ↓ "Ruta Completa de Directorios hasta la fuente del programa"
// ↓ ↓ ↓ Comando
// ↓ ↓ ↓ ↓ Package/Paquetes del Proyecto
// ↓ ↓ ↓ ↓ 1-Argumentos
// ↓ ↓ ↓ ↓
// ↓ ↓ ↓ ↓ 1-Argumentos
// ↓ ↓ ↓ ↓
usuario@torre:/mnt/d/Proyectos_Eclipse/Programacion_Java/ConceptosBasicos/src$ java conceptos/comandos/CapturaNumero 3
// Salida por consola
3
```
94 changes: 72 additions & 22 deletions _posts/javaSE/literal/2022-04-09-java-literales.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
layout: single
title: Java - Literal
title: Java - Literales
date: 2022-05-21
classes: wide
toc: true
Expand All @@ -17,54 +17,104 @@ page_css:
- /assets/css/mi-css.css
---

## Literales
## Concepto

* Los **literales** pueden ser de diferentes tipos

* Tipo ``enteros`` , ``flotantes`` , ``caracteres`` y ``cadenas de texto``

* Los **literales** de ``cadena de texto`` se delimitan con **comillas dobles** ``("Hola mundo")``

* Los **literales** de ``caracteres`` se delimitan con **comillas simples** ``('a')``

* Un **literal** en ``Java`` es una representación de un valor fijo en el ``código fuente``

* Ejemplo

* Cuando escribes

```java
int x = 5;
```

* El ``número 5`` es un **literal entero**

* Se pueden utilizar **literales** para realizar operaciones

* Ejemplo

* Si quieres sumar **dos números** y asignar el resultado a una **variable** puedes hacerlo de la siguiente manera

```java
int x = 3 + 4; // En este caso, 3 y 4 son literales enteros.
```

* Representación de un valor en el **código fuente**

* **Tipos de variables** que podremos asignar unos valores u otros

* Representación de un valor en el código fuente
* Tipos de variables que podremos asignar unos valores u otros
* ``char , bytes , short , int , long , double , float , boolean , String``

### Literales Enteros

* Cualquier valor numérico es un literal entero
* Los elementos literales enteros se consideran del tipo ``int``
* Para especificar que es un literal es de tipo ``long`` añadirle el sufijo la letras ``L`` o ``l``
* Literales del tipo ``int`` : ``12`` , ``34`` , ``0`` , ``-50``
* Literales del tipo ``long`` : ``9223372036L`` , ``25L`` , ``-1L``
* Cualquier **valor numérico** es un ``literal entero``

* Los ``elementos literales`` enteros se consideran del tipo ``int``

* Para especificar que es un ``literal`` es de tipo ``long`` añadirle el sufijo la letras ``L`` o ``l``

* ``Literales`` del tipo ``int`` : ``12`` , ``34`` , ``0`` , ``-50``

* ``Literales`` del tipo ``long`` : ``9223372036L`` , ``25L`` , ``-1L``

* Representar diferentes bases

* ``int variableBinarias = 011010;``

* ``int variablesHexadecimal = 0x1a;``

### Literales Reales

* Cualquier valor numérico decimal con parte fraccionaria
* Literales reales se consideran del tipo ``double D , d``
* Literal del tipo ``float`` , añadir el sufijo la letra ``F`` o ``f``
* Literales del tipo double ``1.23D`` , ``3.456`` , ``-2.0d`` , ``3.25E+12`` , ``2.7e-5``
* Literales del tipo float ``2.75f`` , ``-4.567f`` , ``2.0F`` , ``6.73e+2f``

* ``Literales`` del **tipo reales** se consideran del tipo ``double D , d``

* ``Literal`` del **tipo float** , añadir el sufijo la letra ``F`` o ``f``

* ``Literales`` del **tipo double** ``1.23D`` , ``3.456`` , ``-2.0d`` , ``3.25E+12`` , ``2.7e-5``

* ``Literales`` del **tipo float** ``2.75f`` , ``-4.567f`` , ``2.0F`` , ``6.73e+2f``

> Representar un literal real en notación cientifica se utiliza la letra ``E`` o ``e`` para expresar la potencia de 10
> Representar un ``literal real`` en notación cientifica se utiliza la letra ``E`` o ``e`` para expresar la potencia de 10

``3.25E+12`` representa a ``3.25x10^12``
``2.7E-5`` representa a ``2.7x10^-5``
* ``3.25E+12`` representa a ``3.25x10^12``

* ``2.7E-5`` representa a ``2.7x10^-5``

### Literales Boolean

* Literal boolean son : ``true`` o ``false``
* ``Literal`` del **tipo boolean** son : ``true`` o ``false``

### Literales de Caracteres

* Consiste de un único caracter encerrado dentro de un par de comillas simples
* Tipo de literales ``char`` : ``'a'`` , ``'1'`` , ``'$'`` , ``'\u00F1'``

* Tipo de ``literales`` → ``char`` : ``'a'`` , ``'1'`` , ``'$'`` , ``'\u00F1'``

* Una secuencia de escape es un conjunto de caracteres ``'\n'`` , ``'\t'``

### Literales de Cadenas

* Literal de cadenas consiste en un conjunto de caracteres encerrados entre comillas dobles
* Literales del tipo String
* ``Literal`` de cadenas consiste en un conjunto de caracteres encerrados entre comillas dobles

* ``Literales`` del **tipo String**

* ``"Hola Mundo"`` , ``"Bienvenido a Java"`` , ``"Espa\u00F1a"``
* Caracteres del tipo de dato ``char`` (cadenas del tipo de datos String contiene un caracteres UNICODE UTF-16)

* Caracteres del tipo de dato ``char`` ( cadenas del tipo de datos **String** contiene un caracteres ``UNICODE UTF-16``)

### literal de Subrayado

* Separación entre números para una mejor visualización
* ``long tarjetaCredito = 1234_5678_9012_3456L;``

* ``long tarjetaCredito = 1234_5678_9012_3456L;``
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
layout: single
title: Java - Operadores y Delimitadores Básicos
date: 2023-05-10
classes: wide
toc: true
toc_label: "Tabla de contenido"
toc_icon: "clipboard-list"
header:
teaser: /assets/images/java/logo-java-2.jpg
categories:
- java
- java-manual
- java-basico
tags:
- java-operadores
- java-delimitadores
page_css:
- /assets/css/mi-css.css
---

## Conceptos

* Elementos que se utilizan para almacenar un valor concreto con el cual realizar **operaciones matemáticas** y **booleanas**

* Permiten definir operaciones los cuales se van a procesar en un programa

| **Tipos de Datos** | **Alcance** o **Rango** |
| --- | --- |
| ``byte`` | **-128** a **127** ``(1 Byte)``|
| ``short`` | **-32768** a **32767** ``(2 Bytes)`` |
| ``int`` | **-2147483648** a **2147483647** ``(4 bytes )`` |
| ``long`` | **-9223372036854775808** a **9223372036854775807** ``(8 Bytes)`` |
| ``char`` | **'\u0000'** a **'\uffff'** , ambos incluidos el cual es lo mismo que de **0** a **65535** , 1 letra |
| ``boolean`` | **0** o **1** ``(1 bit)`` |
| ``float`` | **4 Bytes**, punto flotante |
| ``double`` | **8 Bytes**, punto flotante |
| ``String`` | **No es un tipo de datos básico** , es un **objeto básico** en si mismo, el cual contiene propiedades y métodos, pero el lenguaje Java permite definir un nuevo objeto con el delimitador (") por lo que podemos concatenar texto utilizando el operador (+) con los nombres de los objetos de tipo String y otros los trozos de texto delimitados con (")
| | |



Loading