Professional Documents
Culture Documents
Mención: Informática
Cátedra: Programación I
Realizado por:
Mención: Informática
Cátedra: Programación I
Realizado por:
• Características
• Clases
• Objetos
• Tipos de datos
• Variables y Constantes
• Expresiones
• Palabras reservadas
• Paquetes
• Características
1. Simple
* Java tienen una clase String, que permite un mejor manejo que los arrays de
terminación nula del C y C++.
2. Orientado al objeto
3. Distribuido
4. Interpretado
6. Seguro
7. Arquitectura neutral
8. Portable
9. Alto desempeño
10. Multihilos
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.
PASO 1: Con un editor de texto simple (incluso notepad sirve, aunque resulta poco
aconsejabe) creamos un archivo con el contenido siguiente:
package Programas.Ejemplo1;
class HolaMundo {
System.out.println("Hola a todos");
C:> cd C:\ApuntesJava
C:\ApuntesJava>javac Programas\Ejemplo1\HolaMundo.java
En el ejemplo se utiliza la clase del API de Java System. Sin embargo el programa
no tiene ningún import. No obstante el compilador no detecta ningún error y genera
el código ejecutable directamente. Esto se debe a que la clase System está definida
en el package java.lang, que es el único del que no es necesario hacer el import,
que es hecho implicitamente por el compilador. Para cualquier clase del API,
definida fuera de este package es necesario hacer el impor correspondiente.
C:\ApuntesJava>java Programas.Ejemplo1.HolaMundo
Hola a todos
Los archivos .class son invocables directamente desde la línea de comandos (con la
sintaxis java nombreDeClase) si tienen un método main definido tal como se vio en
un capítulo anterior.
Se puede indicar a la JVM que busque las clases en rutas alternativas al directorio
actual. Esto se hace con el parámetro -classpath (abreviadamente -cp) en la línea
de comandos. Por ejemplo si el directorio actual es otro, podemos invocar el
programa de ejemplo de la forma:
• Tipos de datos:
Para crear una variable (de un tipo simple) en memoria debe declararse
indicando su tipo de variable y su identificador que la identificará de forma única.
La sintaxis de declaración de variables es la siguiente:
Cada tipo de datos simple soporta un conjunto de literales que le pueden ser
asignados, para darles valor. En este apartado se explican los tipos de datos
simples (o primitivos) que presenta Java, así como los literales que soporta
(sintaxis de los valores que se les puede asignar).
Se usan para representar números enteros con signo. Hay cuatro tipos: byte,
short, int y long. Literales enteros
Los literales enteros se almacenan por defecto en el tipo int, (4 bytes con signo),
o si se trabaja con números muy grandes, con el tipo long, (8 bytes con signo),
añadiendo una L ó l al final del número.
Se usan para representar números con partes fraccionarias. Hay dos tipos de
coma flotante: float y double. El primero reserva almacenamiento para un número
de precisión simple de 4 bytes y el segundo lo hace para un numero de precisión
doble de 8 bytes.
De forma predeterminada son del tipo double (8 bytes). Existe la opción de usar
un tipo más corto (el tipo float de 4 bytes), especificándolo con una F ó f al final
del número.
Se usa para almacenar variables que presenten dos estados, que serán
representados por los valores true y false. Representan valores bi-estado,
provenientes del denominado álgebra de Boole.
Literales Booleanos
Java utiliza dos palabras clave para los estados: true (para verdadero) y false
(para falso). Este tipo de literales es nuevo respecto a C/C++, lenguajes en los
que el valor de falso se representaba por un 0 numérico, y verdadero cualquier
número que no fuese el 0.
Para declarar un dato del tipo booleano se utiliza la palabra reservada boolean:
Literales carácter
char c = (char)System.in.read();
El tamaño de los tipos que queremos convertir es muy importante. No todos los
tipos se convertirán de forma segura. Por ejemplo, al convertir un long en un int,
el compilador corta los 32 bits superiores del long (de 64 bits), de forma que
encajen en los 32 bits del int, con lo que si contienen información útil, esta se
perderá.
Por ello se establece la norma de que "en las conversiones el tipo destino
siempre debe ser igual o mayor que el tipo fuente":
B. Vectores y Matrices
Se puede observar que los corchetes son opcionales en este tipo de declaración
de vector, tanto después del tipo de variable como después del identificador.
C. Cadenas
En Java se tratan como una clase especial llamada String. Las cadenas se
gestionan internamente por medio de una instancia de la clase String. Una
instancia de la clase String es un objeto que ha sido creado siguiendo la
descripción de la clase.
Cadenas constantes
public MiClase() {
i = 10;
}
public void Suma_a_i( int j ) {
int suma;
suma = i + j;
}
}
La clase MiClase contiene una variable (i) y dos métodos, MiClase() que es el
constructor de la clase y Suma_a_i( int j ).
El tipo de una variable determina los valores que se le pueden asignar y las
operaciones que se pueden realizar con ella.
Para los programadores C++, se pueden señalar algunas diferencias entre Java
y C++ respecto a la sintaxis e interpretación en la declaración de variables
miembro de una clase, como son:
[especificador_de_acceso][static][final][transient][volatile]
tipo nombreVariable [= valor_inicial];
Ambito de una Variable: Los bloques de sentencias compuestas en Java se
delimitan con dos llaves. Las variables de Java sólo son válidas desde el punto
donde están declaradas hasta el final de la sentencia compuesta que la engloba.
Se pueden anidar estas sentencias compuestas, y cada una puede contener su
propio conjunto de declaraciones de variables locales. Sin embargo, no se puede
declarar una variable con el mismo nombre que una de ámbito exterior.
class Ambito {
int i = 1; // ámbito exterior
{ // crea un nuevo ámbito
int i = 2; // error de compilación
}
}
miObjeto.miVariableDeInstancia;
Es importante recordar que todos los objetos de la clase comparten las mismas
variables de clase, porque si alguno de ellos modifica alguna de esas variables
de clase, quedarán modificadas para todos los objetos de la clase. Esto puede
utilizarse como una forma de comunicación entre objetos.
Constantes
En Java, se utiliza la palabra clave final para indicar que una variable debe
comportarse como si fuese constante, significando con esto que no se permite su
modificación una vez que haya sido declarada e inicializada.
class Elipse {
final float PI = 3.14159;
...
}
Si se usa la palabra clave final con una variable o clase estática, se pueden crear
constantes de clase, haciendo de esto modo un uso altamente eficiente de la
memoria, porque no se necesitarían múltiples copias de las constantes.
int contador=1;
contador++;
El tipo de datos del valor devuelto por una expresión depende de los elementos
utilizados en la expresión. La expresión contador++ devuelve un entero porque +
+ devuelve un valor del mismo tipo que su operando y contador es un entero.
Otras expresiones devuelven valores booleanos, cadenas.
Operadores aritméticos:
Son operadores binarios (requieren siempre dos operandos) que realizan las
operaciones aritméticas habituales: suma (+), resta (-), multiplicación (*), división
(/) y resto de la división (%).
Operadores lógicos
Operadores relacionales
Operadores de asignación
variable = expression;
• Paquetes: Los paquetes son el mecanismo por el que Java permite agrupar
clases, interfaces, excepciones y constantes. De esta forma, se agrupan
conjuntos de estructuras de datos y de clases con algún tipo de relación en
común. Con la idea de mantener la reutilización y facilidad de uso de los
paquetes desarrollados es conveniente que las clases e interfaces contenidas en
los mismos tengan cierta relación funcional. De esta manera los desarrolladores
ya tendrán una idea de lo que están buscando y fácilmente sabrán qué pueden
encontrar dentro de un paquete.
• Comentarios (Definición y tipos): Existen dos formas diferentes de introducir
comentarios entre el código de Java (en realidad son tres, como pronto se verá).
Son similares a la forma de realizar comentarios en el lenguaje C++. Los
comentarios son tremendamente útiles para poder entender el código utilizado,
facilitando de ese modo futuras revisiones y correcciones. Además permite que
cualquier persona distinta al programador original pueda comprender el código
escrito de una forma más rápida. Se recomienda acostumbrarse a comentar el
código desarrollado. De esta forma se simplifica también la tarea de estudio y
revisión posteriores.
Java interpreta que todo lo que aparece a la derecha de dos barras “//” en una
línea cualquiera del código es un comentario del programador y no lo tiene en
cuenta. El comentario puede empezar al comienzo de la línea o a continuación
de una instrucción que debe ser ejecutada. La segunda forma de incluir
comentarios consiste en escribir el texto entre los símbolos /*…*/. Este segundo
método es válido para comentar más de una línea de código. Por ejemplo:
/**
*/
public class kk
private int x;
/**
*/
public kk()
x = 0;
/**
*/
return x + y;
1.- http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/introduccion/primero.htm
2.-http://ocw.upm.es/lenguajes-y-sistemas-informaticos/programacion-en-java-
i/Contenidos/LecturaObligatoria/2-estructuradeunprogramaenjava.pdf
3.- http://www.infor.uva.es/~jmrr/2007/TGP/DOC/JAVA.html
4.- http://zarza.usal.es/~fgarcia/doc/tuto2/II_1.htm
5.- Aprenda Java como si estuviera en primero Javier García de Jalón; José Ignacio;
Rodríguez Iñigo Mingo; Aitor Imaz; Alfonso B rásales; Alberto Larzabal; Jesús Calleja;
Jon García