Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Un tipo define un conjunto de valores que puede tomar un dato, as como el conjunto de
operaciones que se pueden realizar sobre el dato. Java soporta ocho tipos primitivos.
Tipos Enteros
Los tipos enteros se utilizan para nmeros sin parte fraccionaria. Cada uno de los tipos enteros
puede almacenar un rango diferente de valores.
Tipo Tamao Rango
long 8 bytes -9,223,372,036,854,775,808L a
9,223,372,036,854,775,807L a
int 4 bytes -2,147,483,648 a 2,147,483,647
short 2 bytes -32,768 a 32,767
byte 1 byte -128 a 127
El tipo boolean
El tipo bolean sirve para hacer pruebas Lgicas.
Tipo Tamao Rango
boolean 1 bit true (verdadero) o false (falso)
El tipo char
El tipo char almacena caracteres alfanumricos y unicode
Tipo Tamao Rango
char 2 bytes 65536 caracteres posibles
Identificadores
Un identificador es un nombre que se le da a algo en Java (variable, clase, mtodo).
En Java los nombres no tienen lmite de longitud, y las maysculas se consideran diferentes de
las minsculas. El nombre debe iniciar con una letra, despus puede tener letras y/o dgitos. Una
letra se define como cualquiera de los caracteres de la A a la Z, de la a a la z, los caracteres
_ y $, y cualquier carcter unicode que se considere una letra en algn idioma. Un dgito se
define como 0 a 9 y cualquier carcter unicode que se considere como dgito. No se pueden
utilizar smbolos como @ ni + ni espacios en blanco dentro de los nombres.
Variables
Son simplemente nombres que el programa asocia a localidades especficas de la memoria. Como
indica la palabra variable, el valor almacenado en estas localidades puede cambiar conforme
avanza la ejecucin del programa.
Cada variable tiene un tipo especfico, el cual indica a la computadora cuanta memoria necesitan
los datos y las operaciones que pueden realizar con ellos.
Declaracin de variables
TipoDeDato identificador1 [, identificador2, , identificadorN];
Ejemplo:
double precio;
float base, altura;
int edad;
char caracter;
String nombre;
boolean estaActivo;
Escape Significado
\n Linea nueva
\t Tabulador
\b Retroceso
\r Retorno de carro
\f Salto de hoja
\\ Diagonal invertida
\ Apostrofe
\ Comillas
\o Octal
\xd Hexadecimal
\ud Carcter unicode
- Los literales de cadena constan de una serie de caracteres entre comillas, como por ejemplo:
String autor=Luis Joyanes Aguillar;
String nombre= Carlos;
Las cadenas pueden incluir codigos de caracteres de escape como por ejemplo
String cadena = Esto es \nUna prueba\nde caracteres\n;
Operador de asignacin ( = )
Sirve para asignar valores a las variables
variable = valor;
Ejemplo:
x=10;
caracter=w
a=10;
a=a*10;
Comentarios en un programa
Como regla general, cada vez que crea un programa debe de asegurarse de incluir comentarios
para explicar el proceso que se realiza.
Java proporciona 2 formas de agregar comentarios al cdigo:
a) Comentario de varias lneas usando la pareja /* y */, como se muestra a continuacin:
/* Esto es una prueba de un comentario de varias lineas en Java. El compilador de Java
los ignorara por completo. */
b) Comentario de una lnea, para eso se usa la doble diagonal (//) para comentar el codigo.
La doble diagonal indica al compilador que lo que est a la derecha de ellas (sobre la
misma lnea) es un comentario
Ejemplo:
int a ; // Se est declarando una variable entera
Operadores aritmticos
Java tiene cinco operadores aritmticos bsicos:
Operador Propsito Ejemplo
+ Suma 5 + 25
- Resta 12-9
* Multiplicacin 13.5 * 90.8
/ Divisin 2.9/1.4
% Mdulo 7%2 = 1
Al utilizar valores aritmticos, Java entrega un resultado del mismo tipo que el operando de mayor
precisin. Por ejemplo, al multiplicar un int por un float el resultado es de tipo float. La mayora
de los operadores aritmticos se comportan de forma previsible. La excepcin es el operador de
divisin. Si hace una divisin entre valores enteros el resultado tambin ser entero. En otras
palabras si divide 7 entre 2, el resultado ser 3. De esta forma si al hacer una divisin desea un
resultado de punto flotante, debe asegurarse que el tipo de los operandos sea float o double.
Ejemplo:
int t;
float r;
int a=10, b=4;
t =10/4; // El resultado es 2
r= 10f / 4f // el resultado es 2.5
r= (float) a / (float) b; // El resultado es 2.5
Conversin Implcita
Por lo general no es necesario utilizar ninguna notacin de conversin explcita al asignar un tipo
de dato primitivo ms pequeo a un tipo ms grande. Por ejemplo:
short z;
byte x=40;
z =x;
Se est asignando un valor byte (que puede tener valores entre 128 a 127) a una variable tipo
short (que tiene valores entre 32768 a 32767), sin necesidad de una conversin explicita.
A continuacin se presenta un resumen de algunas de las asignaciones que no requieren de una
conversin explicita en Java. Un tipo puede ser asignado a cualquiera de los tipos que estn a su
izquierda:
double <= float <= long <= int <= short <= byte
Conversin Explicita
Mediante la conversin explicita se le indica al compilador de Java que es intencional la
conversin (y que acepta las consecuencias de cualquier prdida de precisin).
Para hacer una conversin explicita, slo debe rodear al tipo de variable con parntesis, por
ejemplo (float). Las siguientes instrucciones convierten un tipo double a float:
float resultado;
double valor=12.789561493;
resultado = (float) valor;
Operador decremento --
Permite disminuir el valor de una variable en uno. Se puede usar el operador variable o variable-
-.
Ejemplo:
float w = 200.67;
w--; // ahora el valor de la variable es 199.67
int t=34;
--t; // ahora el valor de la variable es 33
Por otra parte si utiliza operadores postfijos (variable++ o variable--), Java utiliza primero el valor
de la variable y luego realiza el operador incremento o decremento.
Ejemplo:
int x=6, y;
y=x++; // Aqu primero asigna y luego incrementa el valor de x
El valor final de y es 6 y el valor de x es 7.
Por ejemplo, si se desea imprimir el mensaje: Esto es una prueba, se deber escribir:
System.out.println(Esto es una prueba);
Si se desea escribir un mensaje y el valor de una variable se usa el smbolo + para concatenar el
mensaje con la variable. Por ejemplo, si se desea imprimir el mensaje: El rea de un rectngulo
es: concatenado con una variable de tipo entero que contiene el valor del rea del rectngulo, se
debe escribir:
System.out.println(El rea de un rectngulo es: + A);
Para la lectura de datos por consola se va a utilizar la clase Scanner. Lo primero que se tiene que
hacer es importar el paquete que contiene esta clase llamado java.util colocando la siguiente
Instruccin.
import java.util.Scanner;
En el programa que se tiene que leer datos se crea un objeto de la clase Scanner:
Scanner entrada = new Scanner(System.in);
Ejercicios Resueltos 1
import java.util.Scanner;
import java.util.Scanner;
Operador Funcin
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
== Igual que
!= Diferente que
Operador Funcion
&& Y
|| O
! Negacin
Se utiliza para tomar decisiones. El programa prueba una condicin con la instruccin
if. Si la condicin es verdadera, el programa ejecuta una instruccin ( o un bloque de
instrucciones relacionadas). Por el contrario si la condicin es falsa, el programa puede
ejecutar un conjunto diferente de instrucciones especificado por la clusula else.
La sintaxis de la sentencia else es la siguiente:
if(condicin)
instruccion1;
else
instruccion2;
o tambin.
if (condicion)
{
bloque de Instrucciones1;
}
else
{
bloque de Instrucciones2;
}
if(condicin)
{
Instrucciones;
}
if anidados
Un if anidado es un if que es el objeto de otro if o else. Una sentencia else le
corresponde el if ms prximo que est en el mismo bloque.
Ejemplo:
if(expresion1)
if(expresion2)
{
Instrucciones21;
}
else
{
Instrucciones22
}
else
{
Instrucciones12
}
Ejercicios Resueltos 2
import java.util.Scanner;
import java.util.Scanner;
import java.util.Scanner;
}
}
import java.util.Scanner;
El formato es el siguiente:
switch(expresin)
{
case cte1 : Instrucciones1;
break;
case cte2 : Instrucciones2:
break;
case cte3 : Instrucciones3;
break;
.
.
.
default : Instrucciones;
}
expresin: Puede ser entero o carcter no puede ser de otro tipo. Esta expresin se
compara con cada uno de las constantes que se encuentran en los case, si es igual a
alguna de ellas se ejecutan las expresiones correspondientes y se sale del switch. La
sentencia break debe ir al final de cada case. break obliga a salirse del switch, una vez
que el case correspondiente se ha ejecutado.
Si expresin es distinta a todas las constantes que se encuentran en los case se ejecutan
las instrucciones que siguen a default.
La sentencia default es opcional.
Ejercicios Resueltos 3
import java.io.*;
import java.util.Scanner;
import java.util.Scanner;
import java.util.Scanner;
public class SelectivaMultiple03{
public static void main(String arg[])
{
Scanner in = new Scanner(System.in);
char letra;
System.out.print("Ingrese letra (a-e) : ");
letra=in.nextLine().charAt(0);
switch(letra)
{
case 'a': case 'A':
System.out.println("EXCELENTE"); break;
case 'b': case 'B':
System.out.println("BUENO"); break;
case 'c': case 'C':
System.out.println("REGULAR"); break;
case 'd': case 'D':
System.out.println("MALO"); break;
case 'e': case 'E':
System.out.println("PESIMO"); break;
default :
System.out.println("letra equivocada");
}
}
}
Dnde:
exp1: Instrucciones de Inicializacin. Se ejecuta 1 vez y se va a exp2.
exp2: Condicin que controla el proceso Repetitivo. Si esta expresin es verdadera se
ejecutan las Instrucciones y se va a exp3. Si esta expresin es falsa el for termina.
exp3: Instrucciones de incremento de variables. Se ejecutan y luego se va a exp2.
for, es equivalente a un while, pero la sintaxis habitual de la orden for hace que
sea especialmente til cuando sabemos exactamente cuntas veces queremos que se
repita (por ejemplo: 10 veces sera for (i=1; i<=10; i++)).
5.5. CONTADOR: Variable que comienza con un valor inicial y se incrementa una
cantidad constante.
El formato es el siguiente:
El formato es el siguiente:
Ejercicios Resueltos 4
for(i=1;i<=n;i++)
{
System.out.print("Ingrese numero : ");
x=in.nextInt();
if(x%2==0) cp = cp + 1;
else ci = ci + 1;
}
System.out.println("La cantidad de pares es : "+cp);
System.out.println("La cantidad de impares es : "+ci);
}
}
import java.util.Scanner;
public class Repetitivo04 {
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
int i,n,cc=0,cp=0,cn=0;
double x;
System.out.print("Cantidad de numeros : ");
n=in.nextInt();
for(i=1;i<=n;i++)
{
System.out.print("Ingrese numero : ");
x=in.nextDouble();
if(x>0)
cp = cp +1;
else if(x<0)
cn= cn + 1;
else
cc= cc + 1;
}
System.out.println("La cantidad de positivos es : "+cp);
System.out.println("La cantidad de negativos es : "+cn);
System.out.println("La cantidad de ceros es : "+cc);
}
}
CAPITULO: METODOS
Los mtodos en java permiten modularizar sus programas. Todas las variables
declaradas en las definiciones de mtodos son variables locales es decir solo se conocen
en el mtodo que se definen. Casi todos los mtodos tienen una lista de parmetros que
permiten comunicar informacin entre mtodos. Los parmetros de un mtodo tambin
son variables locales.
6.1. DECLARACION
La sintaxis para declarar un mtodo es la siguiente :
Donde:
lista_de_parmetros: Es una lista separada por comas que contiene las declaraciones de
las variables que se pasarn al mtodo. Si un mtodo no recibe parmetros las
lista_de_parmetros se deja vaca.
Por ejemplo si se desea calcular la suma de dos nmeros enteros. Se podra definir el
siguiente mtodo:
import java.io.*;
class SobreCarga{
EJERCICIOS RESUELTOS
En los siguientes ejemplos a los mtodos se les precede la palabra static ya que los
llamamos desde el mtodo main que es estatico. En java sin un mtodo es estatico en
una clase, solo puede invocar a mtodos estticos.
class Metodos01
{
public static int factorial(int n)
{
int f=1,i;
for(i=1;i<=n;i++)
f=f*i;
return f;
}
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
int n;
do{
System.out.print("Ingrese numero :");
n=in.nextInt();
}while(n<0);
System.out.println("el Factorial es : "+factorial(n));
}
}
Por ejemplo si se desea declarar un arreglo de enteros, se podria hacer de esta manera:
Tambin se puede declarar y crear un arreglo en una sola instruccin. Por ejemplo:
class ReferenciaArreglo{
for(int indice=0;indice<arreglo.length;indice++)
System.out.println(arreglo[indice]);
arreglo=segundo;
System.out.println("Segundo Arreglo ");
for(int indice=0;indice<arreglo.length;indice++)
System.out.println(arreglo[indice]);
}
}
EJERCICIOS RESUELTOS
1) Hacer un programa para ingresar n valores reales en un arreglo y los muestre en la
pantalla, adems reportar el mayor, el menor y el promedio.
import java.util.*;
double x[],mayor,menor,promedio,suma=0;
int n;