|
|
I. JAVA
1. Contenido
Ø Definición
Java es un lenguaje de programación de propósito general,concurrente,orientado a objetos que fue diseñado específicamente para tener tan pocas
dependencias de implementación como fuera posible. Su intención es permitir que
los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten
en cualquier dispositivo (conocido en inglés como WORA, o "write once,
run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los
lenguajes de programación más populares en uso, particularmente para
aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.
Java es un lenguaje de programación orientado a
objetos que se popularizó a partir del lanzamiento de su primera
versión comercial de amplia difusión, la JDK 1.0 en 1996. Actualmente es
uno de los lenguajes más usados para la programación en todo el mundo.
El lenguaje de programación Java fue originalmente desarrollado
por James Gosling de Sun Mycrosistem (la
cual fue adquirida por la compañía Oracle) y publicado en 1995 como un componente fundamental de la plataforma java de Sun Microsystems. Su sintaxis deriva en gran medida de C y C++, pero tiene menos utilidades de bajo nivel que cualquiera de ellos.
Ø Características
1.
Simple
Basado en el lenguaje C++ pero donde se eliminan muchas de las características OOP que se utilizan esporádicamente y que creaban frecuentes problemas a los programadores. Esta eliminación de causas de error y problemas de mantenimiento facilita y reduce el coste del desarrollo de software.
Basado en el lenguaje C++ pero donde se eliminan muchas de las características OOP que se utilizan esporádicamente y que creaban frecuentes problemas a los programadores. Esta eliminación de causas de error y problemas de mantenimiento facilita y reduce el coste del desarrollo de software.
o Java no
da soporte a struct, union y pointer
o Java no
ofrece typedef ni #define
o No
permite la sobrecarga de operadores.
o No ofrece
herencia múltiple.
o Maneja
los comandos en línea de diferente manera que C++
o Java
tienen una clase String, que permite un mejor manejo que los arrays de
terminación nula del C y C++.
o Java
tiene un sistema automático de asignación y liberación de memoria (recolector
de basura) que mejora mucho los sistemas del C++
2. Orientado
al objeto
Java da buen soporte a las técnicas de desarrollo OOP y en resumen a la reutilización de componentes de software.
Java da buen soporte a las técnicas de desarrollo OOP y en resumen a la reutilización de componentes de software.
3. Distribuido
Java se ha diseñado para trabajar en ambiente de redes y contienen una gran biblioteca de clases para la utilización del protocolo TCP/IP, incluyendo HTTP y FTP. El código Java se puede manipular a través de recursos URL con la misma facilidad que C y C++ utilizan recursos locales (archivos).
Java se ha diseñado para trabajar en ambiente de redes y contienen una gran biblioteca de clases para la utilización del protocolo TCP/IP, incluyendo HTTP y FTP. El código Java se puede manipular a través de recursos URL con la misma facilidad que C y C++ utilizan recursos locales (archivos).
4. Interpretado
El compilador Java traduce cada fichero fuente de clases a código de bytes (Bytecode), que puede ser interpretado por todas las máquinas que den soporte a un visualizador de que funcione con Java. Este Bytecode no es especifico de una máquina determinada, por lo que no se compila y enlaza como en el ciclo clásico, sino que se interpreta.
El compilador Java traduce cada fichero fuente de clases a código de bytes (Bytecode), que puede ser interpretado por todas las máquinas que den soporte a un visualizador de que funcione con Java. Este Bytecode no es especifico de una máquina determinada, por lo que no se compila y enlaza como en el ciclo clásico, sino que se interpreta.
5. Sólido
El código Java no se quiebra fácilmente ante errores de programación. Así el relaje que existe en la declaración y manejo de tipos en C y C++ se torna en restricciones en Java, donde no es posible la conversión forzada (cast) de enteros en punteros y no ofrece soporte a los punteros que permitan saltarse reglas de manejo de tipos. Así en Java no es posible escribir en áreas arbitrarias de memoria ni realizar operaciones que corrompan el código
El código Java no se quiebra fácilmente ante errores de programación. Así el relaje que existe en la declaración y manejo de tipos en C y C++ se torna en restricciones en Java, donde no es posible la conversión forzada (cast) de enteros en punteros y no ofrece soporte a los punteros que permitan saltarse reglas de manejo de tipos. Así en Java no es posible escribir en áreas arbitrarias de memoria ni realizar operaciones que corrompan el código
6. Seguro
Como Java suele funcionar en ambiente de redes el tema de seguridad debe interesar en sobremanera. Las mismas características antes descritas que evitan la corrupción de código evitan su manipulación. Actualmente se está trabajando en encriptar el código.
Como Java suele funcionar en ambiente de redes el tema de seguridad debe interesar en sobremanera. Las mismas características antes descritas que evitan la corrupción de código evitan su manipulación. Actualmente se está trabajando en encriptar el código.
7. Arquitectura
neutral
El compilador crea códigos de byte (Bytecode) que se envía al visualizador solicitado y se interpreta en la máquina que posee un intérprete de Java o dispone de un visualizador que funciona con Java.
El compilador crea códigos de byte (Bytecode) que se envía al visualizador solicitado y se interpreta en la máquina que posee un intérprete de Java o dispone de un visualizador que funciona con Java.
8. Portable
Al ser de arquitectura neutral es altamente portable, pero esta característica puede verse de otra manera: Los tipos estándares (int, float ...) están igualmente implementados en todas las máquinas por lo que las operaciones aritméticas funcionaran igual en todas las máquinas.
Al ser de arquitectura neutral es altamente portable, pero esta característica puede verse de otra manera: Los tipos estándares (int, float ...) están igualmente implementados en todas las máquinas por lo que las operaciones aritméticas funcionaran igual en todas las máquinas.
9. Alto desempeño
al ser código interpretado, la ejecución no es tan rápida como el código compilado para una plataforma particular. El compilador Java suele ofrecer la posibilidad de compilar Bytecode en código máquina de determinadas plataformas, y según Sun este código resultar de una eficacia similar a compilaciones de C y C++.
al ser código interpretado, la ejecución no es tan rápida como el código compilado para una plataforma particular. El compilador Java suele ofrecer la posibilidad de compilar Bytecode en código máquina de determinadas plataformas, y según Sun este código resultar de una eficacia similar a compilaciones de C y C++.
10. Multihilos
Java puede aplicarse a la realización de aplicaciones en las que ocurra más de una cosa a la vez. Java, apoyándose en un sistema de gestión de eventos basado en el paradigma de condición y monitores C.A.R. permite apoyar la conducta en tiempo real e interactiva en programas
Java puede aplicarse a la realización de aplicaciones en las que ocurra más de una cosa a la vez. Java, apoyándose en un sistema de gestión de eventos basado en el paradigma de condición y monitores C.A.R. permite apoyar la conducta en tiempo real e interactiva en programas
11. Dinámico
al contrario que C++ que exige se compile de nuevo la aplicación al cambiar una clase madre Java utiliza un sistema de interfaces que permite aligerar esta dependencia. Como resultado, los programas Java pueden permitir nuevos métodos y variables en un objeto de biblioteca sin afectar a los objetos dependientes.
al contrario que C++ que exige se compile de nuevo la aplicación al cambiar una clase madre Java utiliza un sistema de interfaces que permite aligerar esta dependencia. Como resultado, los programas Java pueden permitir nuevos métodos y variables en un objeto de biblioteca sin afectar a los objetos dependientes.
Ø
TIPOS DE DATOS
Un dato
siempre lleva asociado un tipo de dato, que determina el conjunto de valores
que puede tomar.
En Java toda
la información que maneja un programa está representada por dos tipos
principales de datos:
a) Datos de tipo básico o primitivo.
b) Referencias a objetos.
Los tipos de
datos básicos o primitivos no son objetos y se pueden utilizar directamente en
un programa sin necesidad de crear objetos de este tipo. La biblioteca Java
proporciona clases asociadas a estos tipos que proporcionan métodos que
facilitan su manejo.
Los
tipos de datos primitivos que soporta Java son:
Tipo de dato
|
Representación
|
Tamaño (Bytes)
|
Rango de Valores
|
Valor por defecto
|
Clase
Asociada
|
byte
|
Numérico Entero con signo
|
1
|
-128 a 127
|
0
|
Byte
|
short
|
Numérico Entero con signo
|
2
|
-32768 a 32767
|
0
|
Short
|
int
|
Numérico Entero con signo
|
4
|
-2147483648 a 2147483647
|
0
|
Integer
|
long
|
Numérico Entero con signo
|
8
|
-9223372036854775808 a 9223372036854775807
|
0
|
Long
|
float
|
Numérico en Coma
flotante de precisión simple Norma IEEE 754
|
4
|
± 3.4x10-38 a ± 3.4x1038
|
0.0
|
Float
|
double
|
Numérico en Coma flotante
de precisión doble Norma IEEE 754
|
8
|
± 1.8x10-308 a ± 1.8x10308
|
0.0
|
Double
|
char
|
Carácter Unicode
|
2
|
\u0000 a \uFFFF
|
\u0000
|
Character
|
boolean
|
Dato lógico
|
-
|
true ó false
|
false
|
Boolean
|
void
|
-
|
-
|
-
|
-
|
Void
|
DATOS
NUMÉRICOS ENTEROS
En Java los representan
los tipos: byte, short, int, long.
El tipo de
dato numérico entero es un subconjunto finito de los números enteros del mundo
real. Pueden ser positivos o negativos.
Ejemplo de
declaración de variables enteras:
int a;
byte n1, n2;
short x;
DATOS
NUMÉRICOS REALES
En Java los
representan los tipos: float, double.
El tipo de
dato numérico real es un subconjunto finito de los números reales. Siempre
llevan un punto decimal y también pueden ser positivos o negativos. Los números
reales tienen una parte entera y una parte decimal.
Por ejemplo:
0.08 -54.0001
Ejemplo de
declaración de variables reales:
float peso;
double longitud;
float altura = 2.5F;
double area = 1.7E4; // equivale a 1.7 * 104
double z =
.123; //si la parte entera es 0 se puede omitir
DATOS DE
TIPO CARÁCTER
En Java se
representa con el tipo char.
Un dato de
tipo carácter se utiliza para representar un carácter dentro del rango \u0000 a
\uFFFF (números desde 0 hasta 65535) en Unicode.
En realidad,
un dato de tipo char contiene
un número entero dentro del
rango anterior que representa un carácter.
En Java se
utiliza el código Unicode para la representación de caracteres. Este código
actualmente representa los caracteres de la mayoría de idiomas escritos en todo
el mundo.
Los 127 primeros
caracteres de Unicode corresponden al código ASCII.
El Código ASCII (American Standard Code for
Information Interchange o
Código Estándar Americano para el Intercambio de Información) asigna valores
numéricos a las letras, números, signos de puntuación y algunos otros
caracteres especiales.
ASCII incluye 256 códigos divididos en dos conjuntos, estándar y
extendido, de 128 cada uno. El conjunto ASCII
básico, o estándar, utiliza 7
bitspara cada código, lo que da como resultado 128 códigos de caracteres desde 0 hasta 127.
El conjunto ASCII extendido utiliza 8 bits para cada código, dando como resultado
128 códigos adicionales, numerados desde el 128
hasta el 255.
En el conjunto
de caracteres ASCII básico, los primeros 32 valores están asignados a los códigos
de control de comunicaciones y de impresora (caracteres no imprimibles)
empleados para controlar la forma en que la información es transferida desde
una computadora a otra o desde una computadora a una impresora. En este grupo
están los códigos correspondientes a la
barra espaciadora (SP por space), la tecla ENTER de retorno de carro a un nuevo
renglón (CR por carry return), etc. También
existen caracteres de control usados en teleprocesamiento, como ser ACK
(Acknowledge - aviso de mensaje recibido), BEL (bell - aviso por señal sonora),
ETX (end of text – fin de texto), STX (start of text – comienzo de texto), etc.
Los 96 códigos
restantes del código básico corresponden a los caracteres imprimibles y se
asignan a los signos de puntuación corrientes, a los dígitos del 0 al 9 y a las
letras mayúsculas y minúsculas del alfabeto latino.
Los códigos
correspondientes al ASCII extendido, del 128 al 255, se asignan a aquellos
caracteres que no pertenecen al alfabeto anglosajón, por ejemplo, las vocales
con tilde, la ñ, y en general todos los caracteres especiales que utilizan los
distintos lenguajes.
Debido a lo
limitado de su tamaño, el código ASCII no es suficiente para representar
caracteres de alfabetos como el Japonés, Chino o árabe. La solución a este problema
ha sido crear un código más grande con el que poder representar cualquier
carácter de cualquier idioma: el código Unicode.
El código UNICODE proporciona una única representación
numérica para cada símbolo, independientemente del ordenador, el programa o el
lenguaje de programación que se use.
La codificación Unicode se
ha transformado en un estándar adoptado por las principales empresas de hardware y software. Java utiliza la codificación
Unicode.
Ejemplo de
declaración de variables de tipo carácter:
char car;
char letra1 = 'z';
char letra =
'\u0061'; //código unicode del carácter ‘a’
DATOS DE
TIPO LÓGICO
Se representan
con el tipo boolean.
Los datos de
este tipo sólo pueden contener dos valores: true (verdadero) ó false (falso).
Ejemplo de
declaración de variables lógicas:
boolean
primero;
boolean par =
false;
Los tipos de
datos lógicos son también conocidos como booleanos en honor del matemático inglés George
Bool, que desarrolló la teoría conocida como álgebra de bool que fue la base
para la representación de los circuitos lógicos.
TIPOS DE DATOS EN JAVA
|
NOMBRE
|
TIPO
|
OCUPA
|
RANGO APROXIMADO
|
|
TIPOS PRIMITIVOS
(sin métodos; no son objetos; no necesitan una
invocación para ser creados)
|
byte
|
Entero
|
1 byte
|
-128 a 127
|
|
short
|
Entero
|
2 bytes
|
-32768 a 32767
|
||
int
|
Entero
|
4 bytes
|
2*109
|
||
long
|
Entero
|
8 bytes
|
Muy grande
|
||
float
|
Decimal simple
|
4 bytes
|
Muy grande
|
||
double
|
Decimal doble
|
8 bytes
|
Muy grande
|
||
char
|
Carácter simple
|
2 bytes
|
---
|
||
boolean
|
Valor true o false
|
1 byte
|
---
|
||
TIPOS OBJETO
(con métodos, necesitan una invocación para ser
creados)
|
Tipos de la biblioteca estándar de Java
|
String (cadenas de texto)
Muchos otros (p.ej. Scanner, TreeSet, ArrayList…)
|
|||
Tipos definidos por el programador / usuario
|
Cualquiera que se nos ocurra, por ejemplo Taxi,
Autobus, Tranvia
|
||||
arrays
|
Serie de elementos o formación tipo vector o
matriz. Lo consideraremos un objeto especial que carece de métodos.
|
||||
Tipos envoltorio o wrapper (Equivalentes a los
tipos primitivos pero como objetos.)
|
Byte
|
||||
Short
|
|||||
Integer
|
|||||
Long
|
|||||
Float
|
|||||
Double
|
|||||
Character
|
|||||
Boolean
|
Ø
Operadores
Los
operadores son muy similares a los de C++, ya lo advertimos en su
momento.
Operadores
Aritméticos: Los habituales
·
Suma + .
·
Resta - .
·
Multiplicación
* .
·
División
/ .
·
Resto de
la División % .
Operadores
de Asignación: El
principal es '=' pero hay más operadores de asignación con distintas funciones
que explicamos brevemente ahora.
·
'+=' :
op1 += op2 à op1 = op1 + op2
·
'-=' :
op1 -= op2 à op1 = op1 - op2
·
'*=' :
op1 *= op2 à op1 = op1 * op2
·
'/=' :
op1 /= op2 à op1 = op1 / op2
·
'%=' :
op1 %= op2 à op1 = op1 % op2
Operadores
Unarios: El mas (+) y el menos (-).
Para cambiar el signo del operando.
Operador Instanceof: Nos permite saber si un objeto pertenece a una clase o no.
Operador Instanceof: Nos permite saber si un objeto pertenece a una clase o no.
·
NombreObjeto
instanceof NombreClase
Operadores
Incrementales: Son
los operadores que nos permiten incrementar las variables en una unidad. Se
pueden usar delante y detrás de la variable dependiendo de lo que queramos, es
decir, si queremos que incremente o viceversa antes de utilizar o lo contrario.
·
'++'
·
'--'
Operadores
Relacionales: Permiten comparar variables
según relación de igualdad/desigualdad o relacción mayor/menor. Devuelven
siempre un valor boolean.
·
'>':
Mayor que
·
'<':
Menor que
·
'==':
Iguales
·
'¡=':
Distintos
·
'>=':
Mayor o igual que
·
'<=':
Menor o igual que
Operadores
Lógicos: Nos permiten construir
expresiones lógicas.
·
'&&'
: devuelve true si ambos operandos son true.
·
'||' :
devuelve true si alguno de los operandos son true.
·
'!' :
Niega el operando que se le pasa.
·
'&' :
devuelve true si ambos operandos son true, evaluándolos ambos.
·
'|' :
devuelve true uno de los operandos es true, evaluándolos ambos.
Operador
de concatenación con cadena de caracteres '+':
·
Por
Ejemplo: System.out.println("El total es"+ result
+"unidades");
Operadores
que actúan a nivel de bits: Son
mucho menos utilizados por eso los explicamos más por encima.
·
'>>':
desplazamiento a la derecha de los bits del operando
·
'<<':
desplazamiento a la izquierda de los bits de operando
·
'&':
operador and a nivel de bit.
·
'|':
operador or a nivel de bit
2. Resumen
El
paradigma de programación del lenguaje Java se basa en el concepto de
programación orientada a objetos (OOP), que las funciones del lenguaje soportan.
Java es
un lenguaje de programación de proposito general, concurrente, orientado a objetos que
fue diseñado específicamente para tener tan pocas dependencias de implementación
como fuera posible.
Características
Las características principales que nos ofrece Java son:
Simple, orientado al objeto, distribuido, interpretado, sólido, seguro,
arquitectura neutral, portable, alto desempeño, multihilos y dinámico.
Tipos de Datos
En Java toda la información que maneja un
programa está representada por dos tipos principales de datos:
a) Datos de tipo básico o primitivo.
b) Referencias a objetos.
Los tipos de datos básicos o primitivos no son objetos y se pueden
utilizar directamente en un programa sin necesidad de crear objetos de este
tipo.
Operadores
Operadores Aritméticos
Operadores java relacionales
Operadores java lógicos
Operador de concatenación con cadena de caracteres '+'
Operadores
que actúan a nivel de bits
3. Sumary
The paradigm Java programming
language is based on the concept of object-oriented programming (OOP), that
language functions supported. Java is a programming language for general
purpose concurrent object oriented which was specifically designed to have as
few implementation dependencies as possible.
Characteristics
The main features that Java offers are: Simple, object-oriented, distributed, interpre-
ted, robust, secure, architecture neutral, portable, high-performance, multithreading
and dynamic.
Type of data
In Java all the
information handled by a program is represented by two main types of data:
a) basic or primitive data
type.
b) References to objects.
The types of basic or
primitive data are not objects and can be used directly in a program without
creating objects of this type.
Operators
Arithmetic operators
Java relational operators
Logical operators java
Concatenation
operator with string '+'
Operators
acting bitwise
4.
Recomendaciones
Ø
No debemos volver a escribir el código
si queremos ejecutar el programa en otra máquina. Un solo código funciona para
todos los browsers compatibles con Java o donde se tenga una Máquina Virtual de
Java.
Ø
Java es un lenguaje de programación orientado
a objetos, y tiene todos los beneficios que ofrece esta metodología de
programación .Un browser compatible con Java deberá ejecutar cualquier programa
hecho en Java, esto ahorra a los usuarios tener que estar insertando
"plug-ins" y demás programas que
a veces nos quitan tiempo y espacio en disco.
5. Conclusiones
Ø El rey actual de los lenguajes de programación, Java, se
está convirtiendo por méritos propios en el imprescindible protagonista de
todos los cursos, asignaturas y módulos profesionales que versan sobre
iniciación a la programación. Pero Java es un lenguaje orientado a objetos, y
esto supone un desafío para todos aquellos que, incluso teniendo gran
experiencia en lenguajes estructurados como Pascal o C, quieren aprenderlo o
enseñarlo. Las peculiaridades de este tipo de lenguajes han motivado la
aparición de entornos de programación específicamente adaptados para su
enseñanza: este monográfico te presenta dos de los más utilizados ( BlueJ y
jGrasp) confrontándolos con un entorno de desarrollo profesional (NetBeans).
6. Apreciación del Equipo
Ø En nuestro criterio java
es un lenguaje de programación utilizado por muchas personas, incluso por
nosotros mismos me parece un tema de investigación muy interesante ya que en
ello descubrimos muchas cosas que no sabíamos en lo que es teoría.
Ø Desarrollo de software es
un curso muy importante de nuestra carrera de Ingeniería de Sistemas y quien está
encargado actualmente el Ingeniero Marco Aurelio Porro Chulli es un excelente
docente y está desempeñando muy bien el curso con nosotros.
7. Glosario de Términos
Arrays: Los arrays son usados extensamente por los
programadores para contener listas de datos en la memoria, por ejemplo, los
datos almacenados en un disco suelen leerse y ponerse dentro de un array con el objetivo de facilitar la
manipulación de dichos datos.
Multihilios: Un programa multihilo contiene dos o más partes que se
pueden ejecutar de manera concurrente o simultánea. A cada una de esas partes
se les denomina hilo y cada uno de ellos define un camino de ejecución independiente.
Se puede ver a la programación multihilo como una forma especializada de
multitarea.
El bytecode: El bytecode un código intermedio más abstracto que
el código máquina. Habitualmente es tratado como un archivo binario que
contiene un programa ejecutable similar a un módulo objeto, que es un archivo
binario producido por el compilador cuyo contenido es el código objeto o código
máquina.
Unicode: Unicode es el estándar de
codificación de caracteres universal utilizado para la representación de texto
para procesamiento del equipo. Unicode proporciona una manera consistente de
codificación de texto multilingüe y facilita el intercambio de archivos de
texto internacionales.
Esporádicamente: Que se da con poca frecuencia, no es regular y ocurre aisladamente
sin relación alguna con otros casos anteriores o posteriores: no hay epidemia,
solamente son casos esporádicos de meningitis. ocasional.
Encriptar un código: La encriptación es el proceso para volver ilegible
información considera importante. La información una vez encriptada sólo puede
leerse aplicándole una clave.
Se trata de una medida de seguridad que es usada para almacenar o transferir información delicada que no debería ser accesible a terceros. Pueden ser contraseñas, numeros. de tarjetas de crédito, conversaciones privadas, etc.
Se trata de una medida de seguridad que es usada para almacenar o transferir información delicada que no debería ser accesible a terceros. Pueden ser contraseñas, numeros. de tarjetas de crédito, conversaciones privadas, etc.
8. Linkografía
https://es.wikipedia.org/wiki/Java_(lenguaje_de_programación)
aprenderaprogramar.com/index.php?option...id...java...java...
www.infor.uva.es/~jmrr/tgp/java/JAVA.html
www.infor.uva.es/~jmrr/tgp/java/JAVA.html
https://es.wikibooks.org/wiki/Programación_en_Java/Características_del_lenguaje
http://puntocomnoesunlenguaje.blogspot.pe/2012/04/tipos-de-datos-java.html
http://puntocomnoesunlenguaje.blogspot.pe/2012/04/tipos-de-datos-java.html
Presentacion bien desarrollada.Trabajo bien elaborado.Ilustrar el trabajo. Proponga un foro de discusión sobre el tema.Defina bien las recomendaciones y conclusiones. Muchas gracias por su investigación. Gracias. Saludos
ResponderEliminar