Está en la página 1de 17

Fundamentos y lgica de programacin.

Breve definicin del arte de programar Imagnate un conjunto de acciones, que se van ejecutando unas tras otras, en secuencia, para obtener un nico resultado. No estamos exagerando: esta es la definicin ms bsica de programacin. Es, en definitiva el acto de introducirle a una computadora una serie de comandos, para que luego este le devuelva algo al usuario, ya sea en un programa que calcula la cuota ISR, o en un juego. Sin los programas, sera imposible trabajar con computadoras. Veamos ahora los trminos ms bsicos relacionados con el mundo de la programacin. Lenguaje de programacin: Es un vocabulario y un conjunto de reglas gramaticales, para ensearle a una computadora a realizar ciertas tareas. Hay dos grandes grupos de lenguajes que una computadora puede usar: a) Los lenguajes de alto nivel (C/C++, Java, etc.), que tienen una sintaxis ms cercana a la de nuestros lenguajes humanos. Se crea as una capa de abstraccin, entre el hardware fsico y el programador. b) Los lenguajes de bajo nivel, llamados ensambladores, que utilizan un conjunto de caracteres del lenguaje que usa directamente el ordenador, es decir, que usan el llamado cdigo mquina (strings binarios que representan las instrucciones). Programa: Como dice Richard Stallman en la pelcula The Code, un programa se parece mucho a una receta. Ambos consisten en una lista de pasos que hay que seguir con mucho cuidado, con reglas que determinan cundo sea terminado y cundo hay que volver a empezar. En definitiva, un programa, sea cual sea el lenguaje en el que est escrito, es una lista ordenada de reglas, de instrucciones, mediante las cuales los humanos describimos, con todos los detalles y sin ambigedades, las tareas que queremos que la computadora haga. Como es ms fcil programar usando lenguajes con una sintaxis parecida a la de los lenguajes normales, es decir, usando lenguajes de alto nivel, una computadora nunca podr entender un programa que los humanos hayamos creado. Esto nos obligar a usar traductores, que pueden ser compiladores, interpretadores o entornos mixtos. Compiladores: Son aplicaciones de software que usan como entrada a un programa ya escrito, en un lenguaje de alto nivel, y que producen otro en cdigo mquina. Esta, que era la concepcin clsica, fue superada hace mucho. En un contexto ms moderno, un compilador es un programa que coge cdigo escrito en un lenguaje A, y genera con l otro que es semnticamente equivalente en un lenguaje B (el programa ya compilado). Por equivalencia semntica entendemos que si el programa en el lenguaje A imprime en la pantalla la frase la vida es dura, el programa en el lenguaje B que ha sido generado por el compilador, no puede escribir cosas como sabemos que 1+1=2.

En otras palabras, a lo que nos referimos con semnticamente equivalente es que despus de la conversin (la compilacin), el nuevo programa tiene que hacer lo mismo que haca el original. Como ejemplos de compiladores tenemos GCC (GNU C Compiler), P2C (Pascal to Cun compilador que convierte un cdigo fuente escrito en pascal al lenguaje C),ps2pdf (coge un script en postscript y genera otro en PDF), Silicon Compiler (recoge una especificacin de un circuito digital, y genera el dibujo, que sea impreso que ser impreso en la placa de silicio), Verilog (Usa una especificacin de un circuito digital y genera el diagrama del circuito),etc. Intrpretes: A diferencia de los compiladores, que generan cdigo para una mquina determinada, los intrpretes manejan las instrucciones del programa-fuente de manera distinta. Los interpretes, a la vista del cdigo fuente, hacen llamadas a rutinas de interpretacin y de ejecutan las ordenes directamente. En este caso no se genera ningn cdigo intermedio, si no que los propios interpretes ejecutan el programa. Como ejemplos tenemos algunos lengujes escript (como el bash de Linux Python) y JVM (Mquina virtual java). Entornos mixtos: Ademas de los traductores que ya hemos descrito, hay algunos casos en los que dispondremos de los dos tipos de traduccin. Por ejemplo, el lenguaje Perl Coge un cdigo fuente y genera un bytecode (Ensamblador en una maquina virtual), para ejecutarlo luego en la maquina fsica (Tu PC). Tenemos as una secuencia de compilacin e interpretacin interna, aunque desde la perspectiva del programador parece como si solo hubiera habido una interpretacin.

Lgica de programacin.
Si pudiramos meternos en un procesador, podramos ver que su trabajo se limita a tratar seales elctricas, que representan valores positivos y negativos, unos y ceros, al estar basados en un sistema binario, que sirve para establecer una comunicacin entre todos los dispositivos. El lenguaje, binario sin embargo, es casi imposible de interpretar, y eso a pesar de que est formado por muy pocos elementos. Las grandes ideas, es decir, el texto del programa, tienen que formularse en secuencias tambin muy grandes de cdigo binario. Esa fue una de las razones que animaron al desarrollo del primero de los cdigos de condensacin de informacin: el hexadecimal, que utiliza diversas secuencias abreviadas para representar conjuntos de cdigo binario. Los conjuntos de cdigo hexadecimal se bautizaron en su da con el nombre de instrucciones, y ese trmino se sigue utilizando hoy en los lenguajes de programacin. Al hexadecimal le siguieron muchos tipos de cdigos, y hoy hay cientos de ellos. Tras la introduccin de las instrucciones y con la condensacin de las ideas en un cdigo electrnico, se hizo necesario crear un soporte terico, que definiera las reglas de pensamiento y las fases de creacin de una instruccin. Ese proceso debido a su analoga con la lgica humana, y especial mente con la Lgica Formal (el conjunto de leyes que nos indica cmo se piensa correctamente, y que propone usar razonamientos coherentes para llegar as a conclusiones que puedan ser demostradas, etc.), se llama Lgica de Programacin.

Instrucciones.
En el lenguaje comn entendemos por instrucciones un conjunto de reglas o normas definidas para la realizacin o el uso de algo. En informtica podramos utilizar la misma definicin, pero cambiando el sujeto. Una instruccin lgica es el proceso de pensamiento que le dice a una computadora que ejecute una accin bsica. Una orden aislada no permite realizar un proceso completo, por supuesto, as que las instrucciones tienen que ir encadenadas en una secuencia, como en una receta, y no puede haber contradicciones lgicas entre ellas. Hay herramientas que adems de ordenar lgicamente las acciones o las instrucciones, nos permiten realizar determinados procesos repetitivos. Esas herramientas se llaman algoritmos.

Algoritmo.
Un algoritmo es una secuencia finita de pasos para ejecutar una tarea. Para que sean funcionales, estas tareas no pueden ser redundantes, y estar definidas de una manera ambigua, si no que deben ser claras y precisas. Como ejemplos podemos citar los algoritmos de las operaciones bsicas (suma, resta, multiplicacin y divisin) de nmeros reales decimales.

Desarrollo de Algoritmos.
Los algoritmos se describen en un lenguaje llamado pseudocdigo. Se dice que es pseudocdigo por que cuando estamos programando en un lenguaje concreto, por ejemplo, en java, generamos cdigo en java, y no en otro lenguaje. Los algoritmos son en cambio independientes de los lenguajes de programacin, y sirven en principio para cualquiera de ellos. El algoritmo tiene que ser fcil de interpretar y de codificar: un trmino medio entre el lenguaje natural y el de programacin.

Programacin orientada a objetos.


Conoce los conceptos principales de la orientacin a objetos.
Hasta hace algunos aos, el desarrollo de software se basaba en llamado modelo procedural. Este modelo utiliza la ejecucin secuencial de rutinas o de funciones, ordenadas dependiendo de la manera en la que se quiera que funcione la aplicacin que resulta. Despus de muchos esfuerzos, la comunidad de desarrolladores destilo una tcnica mucho ms interesante, ms simple y natural, para procesar los anlisis de los problemas y por tanto para construir las aplicaciones: La Orientacin a objetos. El modelo de programacin orientada a objetos gira en torno a la ejecucin de mtodos, que son pequeas funciones que actan directamente sobre los datos de un objeto. Se tiene as en cuenta, a la hora de programar, la manera en que el usuario ve el sistema y a sus funciones. De un tiempo a esta parte, y aunque el modelo procedural se sigue utilizando, se viene produciendo una migracin masiva a este segundo tipo de programacin. Para comprender mejor el por qu de estos cambios vamos a ver, primero, los dos modelos que acabamos de presentar, y cules son las principales diferencias entre ellos. Eso nos permitir adems entender mejor como funciona cada uno.

Conceptos bsicos de la programacin orientada a objetos.


Lo primero que tenemos que hacer para crear un sistema orientado a objetos y convertirlo en un programa es entender lo que es el << proceso de abstraccin>>. El proceso de abstraccin consiste en entender del todo un sistema, y crear a partir de el un modelo documentado y estandarizado, que refleje bien como funciona. Los objetos del sistema, que quedaran destacados mediante este proceso de abstraccin, tambin son conceptuales, y sus caractersticas se dividen en dos categoras: -propiedades (los atributos): describen el objeto, sus posibles estados y la funcin que este tiene en el sistema; -Funcionalidades (los mtodos): describen la accin del objeto, y representan el comportamiento propiamente dicho, en ese sistema. Podemos decir que un objeto, en ltima instancia, se define por sus propiedades y funcionalidades. Es decir, que es un conjunto de propiedades y funcionalidades. Por lo tanto, y para crear un objeto dentro de un sistema, antes tendremos que describir esos elementos. Al hacerlo en realidad estaremos creando una clase, que representa un determinado objeto, con ciertas propiedades y funcionalidades. Como veras las clases se usan para definir tipos de objetos (los conjuntos de ellos que tienen propiedades y funcionalidades anlogas) dentro del programa por eso se puede decir que una clase representa a una categora de objetos.

Orgenes del lenguaje Java.


Originalmente, Java no fue creado para la red Internet. La primera versin de Java empez en 1991 y fue escrita en 18 meses en Sun Microsystems. De hecho, en ese momento, ni siquiera se llam Java; se llam Oak y se utiliz en Sun para uso interno. La idea original para Oak era crear un lenguaje orientado a objetos independiente de la plataforma. Por entonces, muchos programadores se limitaban a la programacin del IBM PC, pero el entorno corporativo poda incluir toda clase de plataformas de programacin, desde el PC hasta los grandes sistemas. Lo que haba detrs de Oak era crear algo que se pudiera usar en todos los ordenadores ( y ahora que Java se ha hecho popular gracias a la red Internet, cada vez ms corporaciones estn adoptndolo para uso interno en lugar de C++, precisamente por esa razn). El lanzamiento original de Oak no fue especialmente fascinante; Sun quera crear un lenguaje que se pudiera usar en electrnica. Oak pas a llamarse Java en 1995, cuando se lanz para el uso pblico y supuso un xito casi inmediato. En ese momento, Java haba adoptado un modelo que lo hizo perfecto para la red Internet, el modelo bytecode.

Caractersticas de Java.
He aqu los principales puntos en los que se apoya la tecnologa Java: Lenguaje totalmente orientado a objetos: Java sigue las reglas del paradigma de programacin orientado a objetos (OOP), ya que trabaja con pequeas piezas de cdigo autnomo que interactan entre s para resolver un problema en comn. Disponibilidad de un amplio conjunto de libreras: Pose un amplio conjunto de clases, que Sun pone a nuestra disposicin, con las cuales es posible realizar, prcticamente, cualquier tipo de aplicacin. Multiplataforma: Gracias al empleo de una plataforma de software conocida como JVM (Mquina Virtual Java), el cdigo generado por los compiladores de Java puede ejecutarse en cualquier plataforma de hardware. Seguro: Emplea medidas de seguridad que son capaces de controlar el acceso a disco por parte de los programas y prohibir manipulaciones de memoria con apuntadores. Adems, permite la firma digital de aplicaciones. Amplio soporte de fabricantes de software: Hoy en da, encontramos una amplia variedad de productos software de diferentes fabricantes que dan soporte java como puede ser el caso de los entornos de desarrollo o los servidores de aplicaciones.

Qu es Java?
Java es un lenguaje de programacin de alto nivel con el que se pueden escribir tanto programas convencionales (aplicaciones) como para internet (applet).

La Mquina Virtual Java (JVM).


La Mquina Virtual de Java es un entorno de ejecucin para aplicaciones Java, cuya principal finalidad es la de adaptar los programas Java compilados a las caractersticas del sistema operativo donde se van a ejecutar. Todo programa Java est organizado en clases, stas se codifican en archivos de texto con extensin .java. Cada archivo de cdigo fuente .java puede contener una o varias clases, aunque lo normal es que haya un archivo por clase. Cuando se compila un .java se genera uno o varios archivos .class de cdigo binario (uno por cada clase), denominados bytecodes, que son independientes de la Esta independencia supone que los bytecodes no pueden ser ejecutados directamente por ningn sistema operativo; es durante la fase de ejecucin cuando los archivos .class se someten a un proceso de interpretacin, consistente en traducir los bytecodes a cdigo ejecutable por el sistema operativo. Esta operacin es realizada por un software conocido como Mquina Virtual Java. Hoy en da encontramos implementacin de mquina virtual para la mayora de los sistemas operativos existentes, en la mayora de ellos la JVM es un componente ms del propio sistema operativo.

Ediciones Java.
Una de las caractersticas de Java indicadas anteriormente es el hecho de disponer de un amplio conjunto de paquetes (libreras) de clases para la realizacin de las aplicaciones. Todo este compendio de clases se organiza en tres grandes grupos, conocidos como ediciones Java. J2SE (Java 2 Platform, Standard Edition): Forman parte de este grupo los paquetes de clases de uso general, es decir, aquellos que se utilizan en cualquier tipo de aplicacin. J2SE incluye tambin los paquetes de clases para la creacipon de entornos graficos y aplicaciones para navegadores Internet (applets). Esta edicin ser en la que nos centraremos durante esta parte del manual. J2EE (Java 2 Platform, Enterprise Edition): Usada en empresas grandes para desarrollar aplicaciones de cmputo distribuido. J2ME (Java 2 Platform, Micro Edition): Usada en la creacin de aplicaciones para dispositivos con recursos limitados; actualmente es empleada en Palm Computers y telfonos celulares.

El Java Development Kit (JDK).


El java Development Kit proporciona el conjunto de herramientas bsico para el desarrollo de aplicaciones con Java estndar. Se puede obtener de manera gratuita en la Web de Sun, descargndolo desde la direccin: http://java.sun.com. y Una vez instalado en el equipo, el JDK proporciona: La implementacin de la mquina virtual para el sistema operativo indicado durante el proceso de descarga del JDK. y Herramientas para la compilacin y ejecucin de programas. Estos deben ser utilizados a travs de la consola de comandos. Paquetes de clases de J2SE. Dentro del directorio de instalacin del JDK, en la carpeta jre/lib se encuentra el archivo rt.jar, donde estn contenidas todas las clases que componen el J2SE.

Configuracin de las variables de entorno

Antes de poder utilizar las herramientas del JDK para compilar y ejecutar programas, es necesario configurar las variables de entorno PATH y CLASSPATH. La configuracin de variables de entorno se puede hacer a travs de la consola, el problema es que una vez que sta se cierre, los valores establecidos en las variables se perdern. Por ello, resulta ms cmodo y eficiente realizarlo a travs del panel de control de Windows, aunque la forma hacerlo depende ligeramente de la versin del sistema operativo utilizado.

Creacin del primer programa en Java.


Aunque aun carecemos del conocimiento del lenguaje, vamos a presentar un primer programa Java, consistente en la impresin de un mensaje de saludo en la pantalla. Este programa nos va a servir para conocer el procedimiento general que se debe seguir para crear, compilar y ejecutar programas en Java estndar.

Entornos de desarrollo para Java.


Cuando se va a desarrollar una aplicacin que puede contar con un elevado nmero de lneas de cdigo y va estar constituida de varias clases, la utilizacin de las herramientas del SDK para la compilacin y ejecucin de los programas puede resultar engorrosa, adems de dificultar la deteccin y solucin de errores, tanto de compilacin como de ejecucin. En esos casos resulta mucho ms prctica la utilizacin de un entorno de desarrollo integrado (IDE). Un IDE proporciona todos los elementos indispensables para la codificacin, compilacin, depuracin y ejecucin de programas dentro de un entorno grafico amigable y fcil de utilizar. Los IDE para Java utilizan internamente las herramientas bsicas del JDK en la realizacin de estas operaciones, sin embargo, el programador no tendr que hacer uso de la consola para ejecutar estos comandos, dado que el entorno le ofrecer una forma alternativa de la utilizacin, basada en mens y barras de herramientas. Existen en el mercado numerosos IDE para desarrollar aplicaciones Java. Entorno de Desarrollo Netbeans Jbuilder Jdeveloper Eclipse Fabricante Sun Microsystem Borland Oracle Eclipse Foundation

Comentarios multilinea
Todos tus programas deben llevar los siguientes comentarios en el encabezado: /* Programo: Nombre del alumno Catedrtico: Nombre del facilitador Lenguaje: Java 2.0 Objetivo: Describir el objeto del programa Archivo: Nombre del archivo.java Fecha de creacin: fecha Fecha de actualizacin: Fecha */

Identificadores
Un identificador es un nombre dado a una variable, mtodo o clase. Reglas para construir un identificador: - Letras (de la a a la z y de la A a la Z) - Dgitos (del 0 al 9) - El carcter _ (subrayado) y $(pesos) - No se puede iniciar la por un numero o smbolos especiales

Programacin en Java.
Identificacin de los componentes de una clase.
Obedeciendo el OOP, un programa en Java deber estar compuesto por clases y preferentemente cada clase deber estar contenida en un archivo fuente independiente. Toda aplicacin de escritorio estar constituida por al menos una clase llamada clase controladora, clase principal o clase de prueba que sirve de punto de entrada al programa. En toda clase pueden distinguirse las siguientes partes, secciones o apartados: La declaracin de la clase (obligatoria) La declaracin e inicializacin de los atributos (opcional) Sus mtodos (opcional) Los comentarios (opcionales) NOTA: Aunque el compilador no objete al respecto, una clase deber contener al menos un mtodo o un atributo, ya que de lo contrario no tendr razn de existir.

Declaracin de una clase.


Como se indic con anterioridad, se deber crear un archivo de texto en donde declararemos una clase por cada objeto identificado en nuestro problema; la sintaxis para declarar una clase es la siguiente:

[modificadores] class identificador{ } En donde: y [modificadores] determinan la accesibilidad de otras clases a la clase que se est declarando, as como el comportamiento de su herencia. Todos son opcionales y por el momento se emplear public. y La palabra reservada class es obligatoria y le dice al compilador que el bloque de cdigo siguiente es una declaracin de clase. y identificador ser el nombre de la clase segn las reglas vistas con anterioridad. Como se mencion ya, el nombre de la clase debe coincidir exactamente con el nombre del archivo .java que la contiene. y Las llaves de apertura y cierre ( { } ) delimitan el cuerpo de nuestra definicin de clase. Todas las variables y mtodos de la clase debern ir encerrados en este bloque.

Declaracin e inicializacin de los atributos de una clase.


Las variables de clase, conocidas formalmente como atributos, se colocan despus de la llave de apertura de la clase. Como cualquier tipo de variable, los atributos se utilizan para almacenar y recuperar datos en nuestros programas. Los atributos deben colocarse de manera obligatoria afuera de cualquier mtodo. Tambin se les conoce como variables miembro o variables de instancia dado que cuando un objeto es instanciado, estas variables se encargarn de contener los datos especficos de cada objeto creado (en otras palabras, habr una copia de ellas por objeto). Aunque inicialmente todas las variables miembro de un objeto contendrn el mismo valor, esto podr cambiar despus. La declaracin e inicializacin de los atributos de una clase tiene la siguiente sintaxis:
[modificadores] tipo identificador [= valor];

En donde: [modificadores] representan diversas palabras reservadas que definen la forma en que los atributos de la clase son accedidos. Todos son opcionales y por ahora se emplear el modificador public. y tipo representa el tipo de dato primitivo que la variable contendr. As, algunas variables contendrn nmeros enteros, reales, caracteres o valores booleanos. y identificador ser el nombre que se le asignar a la variable segn las reglas vistas con anterioridad. y valor ser el valor que se desea asignar a la variable y es opcional. Ejemplos de declaracin de atributos: y public int shirtID = 0; public char colorCode = G; public float orderTotal;

Declaracin de los mtodos de una clase.


Los mtodos siguen a los atributos de la clase; su sintaxis es la siguiente: [modificadores]tipoderetorno identificador([argumentos]){ bloque_de_instrucciones } En donde: y [modificadores] representan diversas palabras reservadas que definen la forma en que los mtodos son accedidos. Todos son opcionales y por el momento se emplear public. tipoderetorno indica el tipo de valor que el mtodo regresa (en caso de haberlo). Los valores retornados por un mtodo pueden ser empleados por el mtodo que los invoca y podr ser a lo mucho uno. Si el mtodo no retorna nada, la palabra clave void deber usarse como tipo de retorno. identificador ser el nombre del mtodo segn las reglas vistas con anterioridad. [argumentos] representa la lista de variables cuyos valores son pasados al mtodo para que ste trabaje y son opcionales. Los parntesis de apertura ( y cierre ) son obligatorios an cuando el mtodo no requiera ningn argumento. bloque_de_instrucciones ser la lista de sentencias que el mtodo ejecuta. Una gran variedad de tareas pueden realizarse en el bloque de cdigo o cuerpo de un mtodo. As como en otros lenguajes de programacin, podrn crearse tantos bloques de instrucciones internos como se desee o convenga. Las llaves de apertura y cierre ( { } ) delimitan el cuerpo de nuestro mtodo.

y y

Ejemplo de un mtodo que contiene una sentencia:


public void printMessage(){

System.out.println(Hola a todos!);
}

El mtodo main ( ).
Toda aplicacin Java est compuesta por al menos una clase, incluso la sencilla aplicacin (primer programa) que genera un mensaje de saludo. El mtodo main () es el punto de arranque de un programa Java, cuando se invoca al comando java.exe desde la lnea de comandos, la JVM busca en la clase indicada un mtodo esttico llamado main (). Dentro del cdigo main () pueden crearse objetos de otras clases e invocar a sus mtodos, en general, se puede incluir cualquier tipo de lgica que respete las restricciones indicadas para los mtodos estaticos. El mtodo main () debe cumplir con las siguientes caractersticas: y Ha de ser un mtodo publico y Ha de ser un mtodo esttico y No puede devolver ningn resultado (tipo de devolucin void) y Ha de declarar un array de cadenas de caracteres en la lista de parmetros o un nmero variable de argumentos.

Sintaxis bsica.
Antes de introducirnos de lleno a la sintaxis del lenguaje, vamos a comentar algunos aspectos sintcticos generales: y Lenguaje sensible a maysculas y minsculas. y Las sentencias finalizan con ;. y Los bloques de instrucciones se delimitan con llaves ({}). y Comentarios de una lnea ( // ) y multilinea (/**/). y

Secuencias de escape.
Hay determinados caracteres en Java que o bien no tienen una representacin explicitica o bien no pueden ser utilizados directamente por el hecho de tener un significado especial para el lenguaje. Para poder utilizar estos caracteres dentro de un programa Java se utilizan las secuencias de escape. Una secuencia de escape est formada por el carcter \ seguido de una letra, en el caso de ciertos caracteres no imprimibles, o del carcter especial. La tabla de la fig. 30 contiene las principales secuencias de escape predefinidas de java.
Significado

Secuencias de escape \b \n \t \\ \ \

Significado Retroceso Salto de lnea Tabulacin horizontal Barra invertida \ Comilla Simple Comilla Doble

Palabras reservadas
Como todo lenguaje de programacin, Java posee un conjunto de palabras reservadas, que no pueden ser usadas para nombrar ningn identificador: Abstrac Boolen Break Byte Case Char Class const Continue Default Do Double Else Extends Final Finally Float For Goto If Implements Import Instanceof Int Interface Long Native New Package Prvate Protected Public Return Short Static Strictfp Super Switch Synchronized This Throw Throws Transient Try Void Volatile while

Adicionalmente, Java emplea los nombres true, false y null para definir los valores constantes falso, verdadero y nulo respectivamente, por lo que tampoco pueden emplearse para definir identificadores propios.

Tipos de datos Primitivos.


Existen ocho tipos de datos primitivos en el lenguaje Java, divididos en cuatro grandes grupos: y Enteros, los cuales almacenan datos numricos que no contienen punto decimal: byte, short, int y long. y De punto flotante o reales, los cuales almacenan datos numricos que contienen punto decimal: float y double. y De carcter, El tipo char representa un carcter codificado en el sistema unicode. y Lgicos, los cuales almacenan uno de dos valores lgicos (true o false): boolean. En la siguiente tabla se muestra el tamao en bits y el rango de valores aceptado por cada uno de estos tipos de datos:
Tipo Byte Short Int Long Float Double Char Boolen Tamao 8 bits 16 bits 32 bits 64 bits 32 bits 64 bits 16 bits 1 bit Rango -128 a 127 (256 valores) -32,768 a 32,767 (65,535 valores) -2,147,483,648 a 2,147,483,647 (4,294,967,296 valores) -263 a 263-1 -3.438 a -1.4-45 y 3.438 a 1.4-45 (IEEE 754) -1.8308 a -4.9-324 y 1.8308 a 4.9-324 (IEEE 754) 65,532 caracteres True o false

Tipo Tamao Rango

Variables.
Las variables almacenan datos cuyo valor puede verse modificado durante la ejecucin de un programa. Las variables se utilizan para representar tipos de datos muy diferentes. En Java hay que distinguir entre variables por valor y objetos o variables por referencia; las variables de tipo simple son variables por valor. Declaracin de variables. Para utilizar una variable se necesita declararla e indicar al compilador el nombre de la variable, as como el tipo de dato que representa. Esta operacin se denomina declaracin de variables. Toda variable debe ser declarada antes de poder ser utilizada. Para declarar variables de tipo simple se especifica su nombre y su tipo, que define tanto los datos que la variable va a poder almacenar como las operaciones que tendr permitidas. La sintaxis es, por tanto:
tipoDato nombrevariable; Ejemplo: double base; //declara base como variable double char b; //declara b como variable char

Sentencias de asignacin: Despus que una variable se declara, se puede asignar un valor a esa variable utilizando una sentencia de asignacin. La sintaxis de la asignacin tiene el siguiente formato:
variable = expresin;

Es preciso tener en cuenta que una expresin es un conjunto de operadores y operandos, pero una nica constante o variable tambin constituye una expresin.
z = 5; //asigna 5 a z
longitud = 1.0; //asigna 1.0 a longitud

Declaracin e inicializacin de variables en un solo uso. Se puede declarar e inicializar una variable en un solo paso en lugar de en dos pasos como se ha mostrado en las operaciones.
char respuesta = S int contador = 5;

mbito. Es importante el lugar donde se efecta la declaracin de las variables, pues ste determina su mbito. En Java es posible agrupar sentencias simples, encerrndolas entre una pareja de llaves para formar bloques o sentencias compuestas y efectuar declaraciones de variables dentro de dichos bloques, al principio de los mtodos o fuera de ellos. Una sentencia compuesta nula es aquella que no contiene ninguna sentencia entre las llaves { }.

Constantes.
Las constantes son datos cuyo valor no puede variar durante la ejecucin de un programa. En un programa pueden aparecer constantes de dos tipos: literales y simblicas. Las constantes simblicas o con nombre representan datos permanentes que nunca cambian y se declaran como las variables, pero inicializndose en el momento de la declaracin y comenzando dicha declaracin con la palabra reservada final, que sirve para que el valor asignado no pueda ser modificado.
static final double PI = 3.141592;

Las constantes literales son valores de un determinado tipo escritos directamente en un programa. Dichas constantes podrn ser enteras, reales, lgicas, carcter, cadena de caracteres, o el valor null.
7.98, t, 954, 0

Operadores.
Los operadores de un lenguaje se pueden utilizar para combinar o modificar los valores de un programa. Java posee un gran conjunto de operadores.

Operadores Aritmticos.
Los operadores aritmticos permiten realizar operaciones aritmticas bsicas, actan sobre operandos numricos y devuelven un resultado de tipo numrico.

OPERADOR + * / % ++ --

PROPOSITO Suma Resta Multiplicacin Divisin Resto de la divisin entera Incrementa una variable numrica en una unidad Decrementa una variable en una unidad

Asignacin.
Adems del clsico operador de asignacin (=), Java dispone de un conjunto de operadores que permiten simplificar el proceso de operar con una variable y asignar el resultado de la operacin a la misma variable.
OPERADOR = += -= *= /= %= DESCRIPCIN Asigna la expresin de la derecha al operador situado a la izquierda del operador Suma la expresin de la derecha, a la variable situada a la izquierda del operador Resta la expresin de la derecha, a la variable situada a la izquierda del operador Multiplica la expresin de la derecha, con la variable y deposita el resultado en la variable Divide la variable situada a la izquierda entre la expresin de la derecha, depositando el resultado en la variable Calcula el residuo de la divisin entre la variable situada a la izquierda y la expresin de la derecha, depositando el resultado en la variable.

Condicionales.
Se utilizan para establecer una condicin dentro de un programa, el resultado de esta ser un tipo boolean (true o false). Estos operadores se utilizan en instrucciones de control de flujo, tal y como veremos en el apartado siguiente.
Operador == < > <= >= = Descripcin Compara 2 valores, en caso de que sean iguales el resultado de la operacin ser true. Si el operando de la izquierda es menor que el de la derecha, el resultado es true. Si el operando de la izquierda es mayor que el de la derecha, el resultado es true. Si el operando de la izquierda es menor o igual que el de la derecha, el resultado es true. Si el operando de la izquierda es mayor o igual que el de la derecha, el resultado en true. Si el valor de los operndoos es diferente, el resultado es true.

Lgicos.
Operan con valores tipo boolean, siendo el resultado tambin de tipo boolean. Operador && || ! Descripcin Operador lgico AND. El resultado ser true si los dos operndos son true, en cualquier otro caso el resultado ser false. Operador lgico OR. El resultado ser true si alguno de los operadores es true. Operador lgico NOT. Acta sobre un nico operando boolean, dando como resultado el valor contrario al que tenga el operando.

Operadores a nivel de bits.


Existe una versin de operadores lgicos que no operan en modo cortocircuito. Se trata de los operadores lgicos a nivel de bits, que, adems de evaluar los dos operandos de la expresin, su principal caracterstica es que operan a nivel de bits, pudiendo ser el tipo de los operandos tanto boolean como entero. Operador & | ^ Descripcion Operador lgico AN. Realiza la operacin AND entre los operndoos, bit a bit Operador lgico OR. Realiza la operacin OR entre los operndoos bit a bit. Operador lgico OR exclusiva. Realiza la operacin OR exclusiva entre los operandos, bit a bit Operador NOT. Invierte el estado de los bits del operando.

Instrucciones de Control
Como cualquier otro lenguaje de programacin, java dispone de un juego de instrucciones para controlar el flujo de ejecucin de un programa. Tenemos instrucciones alternativas y repetitivas, a continuacin estudiaremos cada una de ellas.

Sentencia If.
La sentencia if permite en un programa tomar la decisin sobre la ejecucin/no ejecucin de una accin o de un grupo de acciones, mediante la evaluacin de una expresin lgica o booleana. La accin o grupo de acciones se ejecutan cuando la condicin es cierta y en caso contrario no se ejecutan y se saltan.

If (condicin) { Sentencias } else { Sentencias }

Sentencia switch.
Cuando se tienen muchas alternativas posibles a elegir, el uso de sentencias ifelse puede resultar bastante complicado, siendo en general ms adecuado en estos casos el empleo de la sentencia switch.
switch (expresion) { case valor 1: sentencias break; case valor 2: sentencias break; default: sentencias }

Sentencia For.
El bucle for est diseado para ejecutar una secuencia de sentencias un nmero fijo de veces.
for (inicializacin;condicin;incremento) { Sentencias }

Sentencia While.
Permite ejecutar un bloque de instrucciones mientras se cumpla una determinada condicin dentro del programa. Los dos posibles formatos que admite esta instruccin y un ejemplo de utilizacin se muestran a continuacin.
while (condicion) { Sentencias }

do { Sentencias } while (condicion);

También podría gustarte