Variables y Tipos

Agenda

- Variables
   - Clasificación
   - Nomenclatura de identificador
- Tipos primitivos
   - Categorización
   - Ejemplos
   - Valores por defecto

- Java Virtual Machine
   - Secciones
   - Tareas principales
   - Garbage Collector
- Tipo objeto
   - Creación
- Diferencias entre variables de tipo objeto y tipo primitivo

Variables

- Una variable es un identificador que representa una palabra de memoria que contiene información.

- Sintaxis:

<tipo> <identificador>;
<tipo> <identificador> = <valor>;

Variables - Clasificación

- Variables de instancia: los valores que pueden tomar son únicos para cada instancia.

 

Ejemplo:

persona 1

age = 26

persona 2

age = 19

Variables - Clasificación

- Variables de clase: se declaran con el modificador static para indicarle al compilador que hay exactamente una copia de la variable, y es compartida por todas las instancias.

Ejemplo:

Variables - Clasificación

- Variables locales: la determinación viene desde la ubicación en donde la variable fue creada, es decir, local al método. Sólo es visible al método donde fue declarada y no puede ser accedida desde el resto de las clases.

Ejemplo:

Variables - Clasificación

- Parámetros: se pasan entre métodos.

 

Ejemplo:

Agenda

- Variables
   - Clasificación
   - Nomenclatura de identificador
- Tipos primitivos
   - Categorización
   - Ejemplos
   - Valores por defecto

- Java Virtual Machine
   - Secciones
   - Tareas principales
   - Garbage Collector
- Tipo objeto
   - Creación
- Diferencias entre variables de tipo objeto y tipo primitivo

Nomenclatura de identificador

Reglas:
1) Siempre debe comenzar con una letra.
2) Los caracteres subsecuentes pueden ser letras, dígitos, “$”, o “_”
3) Usar palabras descriptivas y no abreviaciones.
4) Los nombres no deben contener palabras reservadas en Java.
5) Si el nombre contiene más de una palabra, se capitaliza la primer letra de
cada palabra subsecuente.

Nomenclatura de identificador

Ejemplos:

Identificadores válidos Identificadores no válidos
customerValidObject 7world
$rate, £Value, _sine  %value
happy2Help, nullValue  Digital!, books@manning
Constant  null, true, false, goto

Agenda

- Variables
   - Clasificación
   - Nomenclatura de identificador
- Tipos primitivos
   - Categorización

   - Valores por defecto

- Java Virtual Machine
   - Secciones
   - Tareas principales
   - Garbage Collector
- Tipo objeto
   - Creación
- Diferencias entre variables de tipo objeto y tipo primitivo

Tipo primitivo

- Son el tipo más simple de la programación orientada a objetos.
- En Java ya están predefinidos.
- Los nombres de los tipos primitivos describen el valor que pueden
   almacenar.
- Ocho tipos de primitivos:
   - char
   - byte
   - short
   - int
   - long
   - float
   - double
   - boolean

Agenda

- Variables
   - Clasificación
   - Nomenclatura de identificador
- Tipos primitivos
   - Categorización
   - Valores por defecto

- Java Virtual Machine
   - Secciones
   - Tareas principales
   - Garbage Collector
- Tipo objeto
   - Creación
- Diferencias entre variables de tipo objeto y tipo primitivo

Tipo primitivo

Tipo Valor por defecto
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char '\u0000'
boolean false

Agenda

- Variables
   - Clasificación
   - Nomenclatura de identificador
- Tipos primitivos
   - Categorización
   - Valores por defecto

- Java Virtual Machine
   - Secciones
   - Tareas principales
   - Garbage Collector
- Tipo objeto
   - Creación
- Diferencias entre variables de tipo objeto y tipo primitivo

 Virtual machine JVM

Java Code (.java)

Javac
Compiler

Byte Code (.class)

JVM

JVM

JVM

MAC

Windows

Linux

 Virtual machine JVM

- Zona de datos → donde se almacenan las instrucciones del programa, las clases con sus métodos y constantes. No se puede modificar en tiempo de ejecución.


- Stack → El tamaño se define en tiempo de compilación y es estático en tiempo de ejecución. Aquí se almacenan las instancias de los objetos y los datos primitivos (int, float, etc.)


- Heap → zona de memoria dinámica. Almacena los objetos que se crean.

Agenda

- Variables
   - Clasificación
   - Nomenclatura de identificador
- Tipos primitivos
   - Categorización
   - Valores por defecto

- Java Virtual Machine
   - Secciones
   - Tareas principales
   - Garbage Collector
- Tipo objeto
   - Creación
- Diferencias entre variables de tipo objeto y tipo primitivo

JVM Tareas Principales

- Reservar espacio en memoria para los objetos creados.
- Liberar la memoria no usada.
- Asignar variables a registros y pilas.
- Llamar al sistema huésped para ciertas funciones, como los accesos a los dispositivos.
- Vigilar el cumplimiento de las normas de seguridad de las aplicaciones Java. Por ejemplo:
   - No se permiten realizar ciertas conversiones (casting) entre                  distintos tipos de datos.       
   - Las referencias a arrays son verificadas en el momento de la                ejecución del programa.       

Agenda

- Variables
   - Clasificación
   - Nomenclatura de identificador
- Tipos primitivos
   - Categorización
   - Valores por defecto

- Java Virtual Machine
   - Secciones
   - Tareas principales
   - Garbage Collector
- Tipo objeto
   - Creación
- Diferencias entre variables de tipo objeto y tipo primitivo

JVM Gargabe Collector

- Es un proceso de baja prioridad que se ejecuta dentro de la JVM.
- Técnica por la cual el ambiente de objetos se encarga de destruir y
asignar automáticamente la memoria heap.
- El programador no debe preocuparse por la asignación y liberación de memoria, ya que el entorno la asignará al crear un nuevo objeto y la liberará cuando nadie la esté usando.
- Un objeto podrá ser “limpiado” cuando desde el stack ninguna variable haga referencia al mismo.

Agenda

- Variables
   - Clasificación
   - Nomenclatura de identificador
- Tipos primitivos
   - Categorización
   - Valores por defecto

- Java Virtual Machine
   - Secciones
   - Tareas principales
   - Garbage Collector

- Tipo objeto
   - Creación

- Diferencias entre variables de tipo objeto y tipo primitivo

Tipo Objeto

- Son instancias de clases, que pueden estar predefinidas o definidas por el programador.
- Cuando un objeto es instanciado utilizando el operador new, se retorna una dirección de memoria.
- La dirección en memoria contiene una referencia a una variable.

Agenda

- Variables
   - Clasificación
   - Nomenclatura de identificador
- Tipos primitivos
   - Categorización
   - Valores por defecto

- Java Virtual Machine
   - Secciones
   - Tareas principales
   - Garbage Collector

- Tipo objeto
   - Creación

- Diferencias entre variables de tipo objeto y tipo primitivo

Diferencia Primitivo y Objeto

La diferencia básica es que las variables primitivas almacenan los valores reales, mientras que las variables de referencia almacenan las direcciones de los objetos a los que hacen referencia

Made with Slides.com