Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

24
LENGUAJE DE PROGRAMACION JAVA Profesor: Vicentin, Ángel Alumna: Acevedo, Marta 1º A Informática Trabajo Práctico Lenguaje de Programación

Transcript of Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

Page 1: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Profesor: Vicentin, Ángel

Alumna: Acevedo, Marta

1º A Informática

Trabajo Práctico

Lenguaje de Programación

Page 2: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Describir el funcionamiento básico de JAVA, los componentes básicos

para desarrollar:

1) Describir cuáles son los elementos de la programación orientada a objetos que

maneja el JAVA.

2) Como se clasifican las variables? Que son las constantes?

3) Cómo se administran los arreglos

4) Cómo se clasifican y para qué sirven los operadores?

5) Cómo se codifican las sentencias de bifurcación y repetición en JAVA?

6) Describa cómo se tratan las funciones y procedimientos en JAVA.

Page 3: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Desarrollo:

1-Describir el funcionamiento de Java:

Java es un lenguaje de programación de propósito general, concurrente orientado a objetos

y basado en clases 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

aplicación escriban el programa una vez y lo ejecuten en cualquier dispositivo.

Los componentes básicos son dos:

El IDE: entorno de desarrollo integrado

EL COMPILADOR:

El IDE:

Es un conjunto de herramientas para un programador. Puede dedicarse en exclusiva a un

solo lenguaje de programación o bien, poder utilizarse para varios.

Un IDE es un entorno de programación que ha sido empaquetado como un programa de

aplicación, es decir consiste en un editor de códigos, un compilador, un depurador y un

constructor de interfaz grafica GUI. Los IDEs pueden ser aplicaciones por si solas o pueden

ser parte de aplicaciones existentes.

COMPILADOR:

Un compilador Java, es un programa que transforma el código fuente escrito en Java a un

código neutral a la plataforma conocido como BYTECODE. Aunque existen compiladores

que transforma el código fuente Java algún código nativo.

La programación orientada a objetos o POO (OOP según sus siglas en inglés) es

un paradigma de programación que usa los objetos en sus interacciones, para diseñar

aplicaciones y programas informáticos. Está basado en varias técnicas,

incluyendo herencia, polimorfismo, y encapsulamiento.

La herencia es, después de la agregación o composición, el mecanismo más utilizado para

alcanzar algunos de los objetivos más preciados en el desarrollo de software como lo son

la reutilización y la extensibilidad. A través de ella los diseñadores pueden crear nuevas

clases partiendo de una clase o de una jerarquía de clases preexistente (ya comprobadas

y verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya

implementada. La herencia facilita la creación de objetos a partir de otros ya existentes e

implica que una subclase obtiene todo el comportamiento (métodos) y eventualmente los

atributos (variables) de su superclase.

Page 4: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

El polimorfismo se refiere a la propiedad por la que es posible enviar mensajes

sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los

objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les

envía.

La apariencia del código puede ser muy diferente dependiendo del lenguaje que se utilice,

más allá de las obvias diferencias sintácticas.

El encapsulamiento es el ocultamiento del estado, es decir, de los datos miembro de un

objeto de manera que sólo se pueda cambiar mediante las operaciones definidas para ese

objeto.

Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce

a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados

de un objeto contra su modificación por quien no tenga derecho a acceder a ellos,

eliminando efectos secundarios e interacciones.

De esta forma el usuario de la clase puede obviar la implementación de los métodos y

propiedades para concentrarse sólo en cómo usarlos. Por otro lado se evita que el usuario

pueda cambiar su estado de maneras imprevistas e incontroladas.

Variables

Las variables son una de las características fundamentales de los lenguajes de

programación, permiten acceder a la memoria para almacenar y recuperar los datos con

los que nuestros programas van a trabajar. Son por tanto el mecanismo que los lenguajes

de programación ponen a nuestra disposición para acceder a la memoria.

Se trata de un mecanismo de lo más sencillo, sólo tenemos que dar un nombre a nuestras

variables, a partir de ese momento el compilador traducirá de forma automática ese nombre

en un acceso a memoria. Por ejemplo:

//Almacenamos un dato en memoria referenciado por el nombre edad

edad = 5;

//Recuperamos el dato almacenado y lo modificamos

edad = edad + 1;

Java es un lenguaje tipado y nos obliga a declarar nuestras variables antes de poder hacer

uso de ellas, con esta declaración le indicamos al compilador el espacio en memoria que

debe de reservar para almacenar la información. Por ejemplo:

String cliente;

Aquí estamos reservando memoria para una variable de tipo String y la identificamos con

el nombre “cliente”. De ahora en adelante si en el programa hablamos de cliente, estamos

haciendo referencia a esa porción de memoria y al valor que contiene.

Podemos asignarle algún valor en el momento de declarar una variable. Por ejemplo:

String cliente = "Isaac Newton";

Page 5: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Aquí reservamos memoria para una cadena de caracteres y le asignamos el valor "Isaac

Newton". También podemos declararla y en otro lugar del programa fijarle un valor :

String cliente; // declaración

... // El programa sigue

cliente = "Isaac Newton"; // le damos un valor

La sentencia para declarar una variable se resume como:

Tipo_Dato Nombre_Variable [= Valor];

Definimos el tipo de dato, el nombre y opcionalmente su valor.

Para ver como se utilizan las variables, podemos modificar el primer programa.

Agregaremos una variable que contenga el texto que se mostrará en pantalla:

{{Java/!|public}} {{Java/!|class}} HolaMundo {

{{Java/!|public}} {{Java/!|static}} {{Java/!|void}} main(String[] args){

String saludo = "¡Hola Mundo!";

System.out.println( saludo );

}

}

Definimos una variable de tipo String con el nombre "saludo". En la declaración de la

variable también la inicializamos con el valor "¡Hola mundo!". Luego llamamos al método

que imprimirá el texto en la pantalla haciendo referencia a la variable. En el programa

original, explícitamente introducíamos el texto que se mostraría, ahora solo escribimos el

nombre de la variable. Cuando el intérprete se encuentre con el nombre de esta variable,

tendrá que buscar el valor que almacene en la memoria para mostrarlo por pantalla.

Un variable puede cambiar su valor en el transcurso del programa.

{{Java/!|public}} {{Java/!|class}} UsoVariables{

{{Java/!|public}} {{Java/!|static}} {{Java/!|void}} main(String args[]){

String saludo;

saludo = "Hola Mundo!";

System.out.println( saludo );

saludo = ("Estoy utilizando variables");

System.out.println( saludo );

}

}

Page 6: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Siempre debemos inicializar una variable. Al compilar el programa, el compilador de Java

leerá el contenido de la variable y siempre verificará que tenga un valor. De lo contrario el

programa no compilará y mostrará un error. Un ejemplo de este caso:

if (x > 0) {

saludo = "Hola Mundo!!!";

}

System.out.println( saludo );

En este caso el compilador mostrará un mensaje de error indicando que la variable x no se

ha inicializado con ningún valor. Como se puede observar esta variable solo se inicia cuando

se cumple una condición, sin embargo se indica que va a ser utilizada siempre. El

compilador detecta este posible error. Un ejemplo de solución posible sería:

int x = 1;

if (x > 0) {

saludo = "Hola Mundo!";

}

System.out.println( saludo );

Agregando estas líneas al final del código de la clase UsoVariables nos mostraría lo

siguiente a la salida:

Hola Mundo!

Estoy utilizando variables

Hola Mundo!!!

2 ._Nombre de la Variable

El nombre debe ser único en el contexto del programa. Además debe seguir las siguientes

reglas: El nombre debe ser único en el contexto del programa. Además debe seguir las

siguientes reglas:

No puede ser una palabra reservada del lenguaje o un literal booleano (true o false)

Puede contener cualquier carácter Unicode, pero no puede comenzar con un

número

No debe contener los símbolos que se utilicen como operadores ( + , - , ?, etc )

Por convención, los nombres de variables comienzan con una letra en minúscula.

Si un nombre consiste en más de una palabra, se escribirá sin espacios entre ellas

y cada palabra (salvo la primera) comenzará con una letra mayúscula (por ejemplo :

estaBienEsteNombre )

Page 7: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

No puede ser una palabra reservada del lenguaje o un literal booleano (true o false)

Puede contener cualquier carácter Unicode, pero no puede comenzar con un

número

No debe contener los símbolos que se utilicen como operadores ( + , - , ?, etc. )

Por convención, los nombres de variables comienzan con una letra en minúscula.

Si un nombre consiste en más de una palabra, se escribirá sin espacios entre ellas

y cada palabra (salvo la primera) comenzará con una letra mayúscula (por ejemplo:

estaBienEsteNombre )

TIPOS DE DATOS (VARIABLES) EN JAVA.

Los primeros lenguajes de programación no usaban objetos, solo variables. Una variable podríamos decir que es un espacio de la memoria del ordenador a la que asignamos un contenido que puede ser un valor numérico (sólo números, con su valor de cálculo) o de tipo carácter o cadena de caracteres (valor alfanumérico que constará sólo de texto o de texto mezclado con números).

Como ejemplo podemos definir una variable a que contenga 32 y esto lo escribimos como a = 32. Posteriormente podemos cambiar el valor de a y hacer a = 78. O hacer “a” equiva-lente al valor de otra variable “b” así: a = b.

Dado que antes hemos dicho que un objeto también ocupa un espacio de memoria: ¿en qué se parecen y en qué se diferencia un objeto de una variable? Consideraremos que las variables son entidades elementales: un número, un carácter, un valor verdadero o falso… mientras que los objetos son entidades complejas que pueden estar formadas por la agrupación de muchas variables y métodos. Pero ambas cosas ocupan lo mismo: un espacio de memoria (que puede ser más o menos grande).

Page 8: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

En los programas en Java puede ser necesario tanto el uso de datos elementales como de datos complejos. Por eso en Java se usa el término “Tipos de datos” para englobar a cual-quier cosa que ocupa un espacio de memoria y que puede ir tomando distintos valores o características durante la ejecución del programa. Es decir, en vez de hablar de tipos de variables o de tipos de objetos, hablaremos simplemente de tipos de datos. Sin embargo, a veces “coloquialmente” no se utiliza la terminología de forma estricta: puedes encontrarte textos o páginas web donde se habla de una variable en alusión a un objeto.

En Java diferenciamos dos tipos de datos: por un lado, los tipos primitivos, que se corres-ponden con los tipos de variables en lenguajes como C y que son los datos elementales que hemos citado. Por otro lado, los tipos objeto (que normalmente incluyen métodos).

Veamos los tipos de datos en Java sobre un esquema de síntesis:

Cada variable debe tener un tipo de dato predefinido. Esto determina el rango de

valores que puede almacenar y qué operaciones se pueden realizar así como el

resultado que te dará. Por ejemplo, una variable de tipo entero puede almacenar

números sin decimales y puede realizar operaciones aritméticas, pero no puede

contener palabras.

Existen dos categorías de variables: las de tipo primitivo y las referenciadas. Una

variable de tipo primitivo accede al valor asignado directamente. Las referenciadas

acceden a través de un puntero, es decir, no almacenan un valor sino una dirección de

memoria. Estas últimas son utilizadas por las matrices, las clases y las interfaces.

Un objeto es una cosa distinta a un tipo primitivo, aunque “porten” la misma

información. Tener siempre presente que los objetos en Java tienen un tipo de

tratamiento y los tipos primitivos, otro. Que en un momento dado contengan la misma

información no significa en ningún caso que sean lo mismo. Iremos viendo las

diferencias entre ambos poco a poco. De momento, recuerda que el tipo primitivo es

algo elemental y el objeto algo complejo. Supón una cesta de manzanas en la calle:

algo elemental. Supón una cesta de manzanas dentro de una nave espacial

(considerando el conjunto nave + cesta): algo complejo. La información que portan

puede ser la misma, pero no son lo mismo.

¿Para qué tener esa aparente duplicidad entre tipos primitivos y tipos envoltorio?

Esto es una cuestión que atañe a la concepción del lenguaje de programación. Tener

en cuenta una cosa: un tipo primitivo es un dato elemental y carece de métodos,

mientras que un objeto es una entidad compleja y dispone de métodos. Por otro lado,

de acuerdo con la especificación de Java, es posible que necesitemos utilizar dentro de

un programa un objeto que “porte” como contenido un número entero. Desde el

momento en que sea necesario un objeto habremos de pensar en un envoltorio, por

ejemplo Integer. Inicialmente nos puede costar un poco distinguir cuándo usar un tipo

primitivo y cuándo un envoltorio en situaciones en las que ambos sean válidos.

Seguiremos esta regla: usaremos por norma general tipos primitivos. Cuando para la

Page 9: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

estructura de datos o el proceso a realizar sea necesario un objeto, usaremos un

envoltorio.

Los nombres de tipos primitivos y envoltorio se parecen mucho. En realidad,

excepto entre int e Integer y char y Character, la diferencia se limita a que en un caso

la inicial es minúscula (por ejemplo double) y en el otro es mayúscula (Double). Esa

similitud puede confundirnos inicialmente, pero hemos de tener muy claro qué es cada

tipo y cuándo utilizar cada tipo.

Una cadena de caracteres es un objeto. El tipo String en Java nos permite crear

objetos que contienen texto (palabras, frases, etc.). El texto debe ir siempre entre

comillas. Muchas veces se cree erróneamente que el tipo String es un tipo primitivo por

analogía con otros lenguajes donde String funciona como una variable elemental. En

Java no es así.

Hay distintos tipos primitivos enteros. ¿Cuál usar? Por norma general usaremos el

tipo int. Para casos en los que el entero pueda ser muy grande usaremos el tipo long.

Los tipos byte y short los usaremos cuando tengamos un mayor dominio del lenguaje.

DECLARACIÓN E INICIALIZACIÓN DE VARIABLES EN JAVA.

Vamos a ver ejemplos de uso de tipos de datos en Java. Para ello nos valdremos primera-mente de algunos tipos primitivos usados habitualmente como son int (entero), String (ca-dena de caracteres), boolean (valor booleano verdadero o falso), float (decimal simple), etc.

Una constante es una variable del sistema que mantiene un valor inmutable a lo largo de toda la vida del programa. Las constantes en Java se definen mediante el modificador final.

La estructura sería:

1. static final nombreConstante = valor;

De esta forma si queremos definir las constantes DIAS_SEMANA ó DIAS_LABORABLES, que sabemos que son variables que no cambiarán su valor a lo largo del programa, gene-raremos el siguiente código:

1. static final int DIAS_SEMANA = 7;

2. static final int DIAS_LABORABLES = 5;

Si queremos utilizar una constante Java, simplemente deberemos de utilizar su nombre. Así, si queremos utilizar las anteriores constantes, lo haremos de la siguiente forma:

1. System.out.println("El número de días de la semana son " + DIAS_SEMANA);

2. System.out.println("El número de días laborables de la semana son " + DIAS_LA-BORABLES);

El código completo del programa de constantes en Java será el siguiente:

1. public class ConstanteEnJava {

2.

3. static final int DIAS_SEMANA = 7;

4. static final int DIAS_LABORABLES = 5;

Page 10: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

5.

6. public static void main(String[] args) {

7.

8. System.out.println("El número de días de la semana son " + DIAS_SEMANA);

9. System.out.println("El número de días laborables de la semana son " + DIAS_LA-BORABLES);

10.

11. }

12. }

En este caso las hemos declarado static en la clase. Si bien podrían ir dentro del método main sin ser static:

1. public class ConstanteEnJava {

2.

3. public static void main(String[] args) {

4.

5. final int DIAS_SEMANA = 7;

6. final int DIAS_LABORABLES = 5;

7.

8. System.out.println("El número de días de la semana son " + DIAS_SEMANA);

9. System.out.println("El número de días laborables de la semana son " + DIAS_LA-BORABLES);

10.

11. }

12. }

Aquí mostramos ejemplos de uso de tipos de datos en Java:

DECLARACIÓN E INICIALIZACIÓN DE VARIABLES EN JAVA.

Vamos a ver ejemplos de uso de tipos de datos en Java. Para ello nos valdremos primera-mente de algunos tipos primitivos usados habitualmente como son int (entero), String (ca-dena de caracteres), boolean (valor booleano verdadero o falso), float (decimal simple), etc.

Aquí mostramos ejemplos de uso de tipos de datos en Java:

/* Ejemplo - aprenderaprogramar.com */

Page 11: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

public class Ejemplo2 {

private int precio; // Las instrucciones y declaraciones finalizan con ;

private int importe_acumulado;

private String profesor;

private String aula;

private int capacidad;

private boolean funciona;

private boolean esVisible;

private float diametro;

private float peso;

private short edad;

private long masa;

private char letra1;

} //Cierre de la clase

Page 12: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Page 13: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Este esquema no es necesario aprendérselo de memoria en todos sus detalles, aunque sí lo iremos memorizando poco a poco a medida que lo utilicemos, por lo menos hasta tener en nuestra cabeza los nombres de todos los tipos primitivos y envoltorio y sus característi-cas (si son objetos o no y su rango aproximado). A continuación mostramos el mismo es-quema en formato de tabla:

TIPOS DE DATOS EN JAVA

NOMBRE TIPO OCUPA RANGO APROXIMADO

TIPOS PRIMITI-VOS

(sin métodos; no son objetos; no necesitan una invocación para ser crea-dos)

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 OB-JETO

(con métodos, necesitan una invocación para ser creados)

Tipos de la biblio-teca estándar de Java

String (cadenas de texto)

Muchos otros (p.ej. Scanner, TreeSet, ArrayList…)

Tipos definidos por el programa-dor / usuario

Cualquiera que se nos ocurra, por ejem-plo Taxi, Autobus, Tranvia

arrays Serie de elementos o formación tipo vector o matriz. Lo consideraremos un objeto especial que carece de métodos.

Page 14: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Tipos envoltorio o wrapper (Equiva-lentes a los tipos primitivos pero como objetos.)

Byte

Short

Integer

Long

Float

Double

Character

Boolean

3 ADMINISTRACION DE UN ARREGLO:

Arrays

El array es una de las estructuras de datos más ampliamente utilizada por su flexifilidad para derivar en complejas estructuras de datos y su simplicidad. Empezaremos con una definición: un array es una secuencia de elementos, donde cada elemento (un grupo de bytes de memoria que almacenan un único ítem de datos) se asocia con al menos un indice (entero no-negativo). Esta definición lanza cuatro puntos interesantes:

Cada elemento ocupa el mismo número de bytes; el número exacto depende del tipo de datos del elemento.

Todos los elementos son del mismo tipo.

Tendemos a pensar que los elementos de un array ocupan localizaciones de me-moria consecutivas. Cuando veamos los arrays bi-dimensionales descubrirá que no es siempre así.

El número de índices asociados con cada elemento es la dimensión del array

Nota:

Esta sección se enfoca exclusivamente en arrays de una y dos dimensiones porque los arrays de mas dimensiones no se utilizan de forma tan frecuente.

Arrays

El tipo de array más simple tiene una dimensión: cada elemento se asocia con un único índice. Java proporciona tres técnicas para crear un array de una dimensión: usar sólo un inicializador, usar sólo la palabra clave new, y utilizar la palabra clave new con un inicializa-dor.

Page 15: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Utilizar sólo un Inicializador

Utilizando un inicializador se puede utilizar cualquiera de estas dos sintaxis:

type variable_name '[' ']' [ '=' initializer ] ';' type '[' ']' variable_name [ '=' initializer ] ';'

Donde el inicializador tiene la siguiente sintaxis:

'{' initial_value1 ',' initial_value2 ',' ... '}'

El siguiente fragmento ilustra como crear un array de animales:

// Create an array of animals. String animals [] = { "Tiger", "Zebra", "Kangaroo" };

Utilizar sólo la Palabra Clave "new"

Utilizando la palabra clave new se puede utilizar cualquiera de estas dos sintaxis:

type variable_name '[' ']' '=' 'new' type '[' integer_expression ']' ';' type '[' ']' variable_name '=' 'new' type '[' integer_expression ']' ';'

Para ambas sintaxis:

variable_name especifica el nombre de la variable del array uni-dimensional

type especifica el tipo de cada elemento. Como la variable del array uni-dimensional contiene una referencia a un array uni-dimensional, el tipo es type []

La palabra clave new seguida por type y seguida por integer_expression entre cor-chetes cuadrados ([]) específica el número de elementos. new asigna la memoria para los elementos del array uni-dimensional y pone ceros en todos los bits de los bytes de cada elementos, lo que significa que cada elemento contiene un valor por defecto que interpretamos basándonos en su tipo.

= asigna la referencia al array uni-dimensional a la variable variable_name.

Truco:

Los desarrolladores Java normalmente situan los corchetes cuadrados después del tipo (int [] test_scores) en vez de después del nombre de la variable (int test_scores []) cuando declaran una variable array. Mantener toda la información del tipo en un único lugar mejora la lectura del código.

El siguiente fragmento de código utiliza sólo la palabra clave new para crear un array uni-dimensional que almacena datos de un tipo primitivo:

int [] test_scores = new int [4];

int [] test_scores declara una variable array uni-dimensional (test_scores) junto con su tipo de variable (int []). El tipo de referencia int [] significa que cada elemento debe contener un ítem del tipo primitivo entero. new int [4] crea una arra uni-dimensional asignando memoria para cuatro elementos enteros consecutivos. Cada elemento contiene un único entero y se inicializa a cero. El operador igual a (=) asigna la referencia del array uni-dimensional a test_scores. La siguiente figura ilustra los elementos y la variable array uni-dimensional resultante:

Page 16: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Cuidado:

Cuando se crea un array uni-dimensional basado en un tipo primitivo, el compilador re-quiere que aparezca la palabra clave que indica el tipo primitivo en los dos lados del ope-rador igual-a. De otro modo, el compilador lanzará un error. Por ejemplo, int [] test_scores = new long [20]; es ilegal porque las palabras claves int y long representan tipos primitivos incompatibles.

Los arrays uni-dimensionales de tipos primitivos almacenan datos que son valores primiti-vos. Por el contrario, los arrays uni-dimensiones del tipo referencia almacenan datos que son referencias a objetos. El siguiente fragmento de código utiliza la palabra clave new para crear una pareja de arrays uni-dimensionales que almacenan datos basados en tipo refe-rencia:

Clock [] c1 = new Clock [3]; Clock [] c2 = new AlarmClock [3];

Clock [] c1 = new Clock [3]; declara una variable array uni-dimensional, (c1) del tipo Clock [], asigna memoria para un array uni-dimensional Clock que consta de tres elementos con-secutivos, y asigna la referencia del array Clock a c1. Cada elemento debe contener una referencia a un objeto Clock (asumiendo que Clock es una clase concreta) o un objeto creado desde una subclase de Clock y lo inicializa a null.

Clock [] c2 = new AlarmClock [3]; se asemeja a la declaración anterior, excepto en que se crea un array uni-dimensional AlarmClock, y su referencia se asgina a la variable Clock [] de nombre c2. (Asume AlarmClock como subclase de Clock.)

Utilizar la palabra clave "new" y un Inicializador

Utilizar la palabra clave new con un inicializador requiere la utilización de alguna de las siguientes síntaxis:

type variable_name> '[' ']' '=' 'new' type '[' ']' initializer ';' type '[' ']' variable_name '=' 'new' type '[' ']' initializer ';'

Page 17: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Donde initializer tiene la siguientes sintaxis:

'{' [ initial_value [ ',' ... ] ] '}'

variable_name especifica el nombre de la variable del array uni-dimensional

type especifica el tipo de cada elemento. Como la variable del array uni-dimensional contiene una referencia a un array uni-dimensional, el tipo es type []

La palabra clave new seguida por type y seguida por corchetes cuadrados ([]) va-cíos, seguido por inicializer. No se necesita especificar el número de elementos en-tre los corchetes cuadrados porque el compilador cuenta el número de entradas en el inicializador. new asigna la memoria para los elementos del array uni-dimensional y asigna cada una de las entradas del inicializador a un elemento en orden de iz-quierda a derecha.

= asigna la referencia al array uni-dimensional a la variable variable_name.

4-OPERADORES:

Operadores en C

* multiplicación

/ división

Se evalúan primero, si hay muchas, se evaluan de izquierda a derecha

+ suma

- resta

Se evalúan después, si hay muchas, se evaluan de izquierda a derecha

% módulo Residuo de la división entera

Prioridad de Operadores Aritméticos:

Todas las expresiones con paréntesis anidados se evalúan de dentro a afuera, el paréntesis más interno se evalúa primero. Dentro de una misma expresión los operadores se evalúan en el siguiente orden:

1. ^ Exponentes

2. * Multiplicación, / División, % Módulo

3. + Suma, - Resta

Los Operadores en na misma expresión con igual nivel de prioridad, se evalúan de izquierda a derecha

Algebra Estamos acostumbrados a representar algebraicamente una ecuación, pero en la compu-tadora es diferente, para ello podemos utilizar los paréntesis, de lo contrario el resultado puede ser diferente

Page 18: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Ejemplos:

m=(a+b+c+d+e)/5

m=a+b+c+d+e/5

Ecuación de una línea recta

y=mx+b

y=m*x+b

Ejercicio:

z=prq+w/x-y Revisemos las siguientes ecuaciones

7+5-6

1

12-6

2

6

9+7*8-36/5

1

9+56-36/5

2

9+56-7.2

3

65-7.2

4

57.8 Operadores de igualdad

Algebraico

= igual = diferente de

En Java

== igual != diferente de

Ejemplo

x==y x!=y

igual diferente de Operadores de relación

Page 19: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

< menor que

> mayor que

<= menor o igual que

>= mayor o igual que

Variable

Es un espacio en la memoria de la computadora que permite almacenar tempo-ralmente un dato durante la ejecución de un proceso, su contenido puede cam-biar durante la ejecución del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual poda-mos identificarla dentro de un algoritmo.

Constante

Es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Ejemplo: pi = 3.1416

Ejemplo:

area = pi * radio ^ 2 Las variables son : el radio, el area y la constate es pi

Por su contenido Variables Numéricas: Son aquellas en las cuales se alma-cenan valores numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal. Ejemplo: iva = 0.15 pi = 3.1416 costo = 2500

Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos.

Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras, números y caracteres especiales). Ejemplo: letra = ’a’ apellido = ’lopez’ direc-cion = ’Av. Libertad #190’

Por su uso Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un pro-grama. Ejemplo: Suma = a + b /c

Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos ge-neralmente de uno en uno.

Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresi-vamente.

Expresiones

Las expresiones son combinaciones de constantes, variables, símbolos de ope-ración, paréntesis y nombres de funciones especiales.

Por ejemplo:

q= a + (b + 3) / c

Page 20: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas. Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en: Aritméticas Relacionales Lógi-cas

5-SENTENCIAS DE BIFURCACION Y REPETICION

Estructuras de Programación

Ejecución Secuencial

Las instrucciones dentro de un programa se ejecutan una a una en el orden en que están escritas

A esto se le llama Ejecución Secuencial Estructuras de Selección Selección if, realiza una acción si la condición es verdadera (selección simple) Selección if…..else, realiza una acción si la condición es verdadera y realiza una acción diferente si la condición es falsa (selección doble)

Estructura de Selección Múltiple Selección switch, realiza muchas opciones dependiendo del valor de la expresión (selec-ción múltiple) Estructuras de Repetición

while

do…..while

for

Instrucción de Selección if

Esta estructura permite elegir entre diversos cursos de acción

Ej. Pseudocodigo

if calificación del estudiante es mayor o igual que 60

Imprime “Aprobado”

Programando en C

if(calificacion>=60)

printf(“Aprobado\n”);

Page 21: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Instrucción de Selección if……else

Realiza la acción indicada solo si la condición es verdadera, de lo con-trario realiza la siguiente acción

if calificación del estudiante es mayor o igual que 60

Imprime “Aprobado”

else

Imprime “Reprobado” Instrucción de Selección if……else

Programando en C if(calificacion>=60) printf(“Aprobado\n”); Else printf(“Reprobado\n”); Problema

Elabora el Pseudocódigo que imprima una A para las calificaciones su-periores a 90, B para las calificaciones mayores o iguales que 80, C para las calificaciones mayores o iguales que 70, D para las calificacio-nes mayores o iguales que 60 y F para las calificaciones restantes

Pseudocódigo

if calificación del estudiante es mayor o igual que 90

Imprime “A”

else

if calificación del estudiante es mayor o igual que 80

Imprime “B”

if calificación del estudiante es mayor o igual que 70

Imprime “C”

else

if calificación del estudiante es mayor o igual que 60

Imprime “D”

else

Imprime “F” Programando en C

if (calificacion>=90)

printf(“A\n”);

else if (calificacion>=80)

Page 22: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

printf(“B\n”);

else if (calificacion>=70)

printf(“C\n”);

else if (calificacion>=60)

printf(“D\n”);

else

printf(“F\n”);

Estructura de Selección Múltiple

Diferencias entre if...else if y switch

Aunque con la estructura if ... else if se pueden realizar comprobaciones múltiples, en ocasiones no es muy elegante, ya que el código puede ser difícil de seguir y puede confundir incluso al autor transcurrido un tiempo

Java tiene incorporada una sentencia de bifurcación múltiple llamada switch

La computadora comprueba una variable sucesivamente frente a una lista de constantes enteras o de carácter.

Después de encontrar una coincidencia, la computadora ejecuta la sen-tencia o bloque de sentencias que se asocian con la constante.

switch…..case y default Consiste en una serie de etiquetas case y el caso opcional como default El valor de la expresión debe de ser de tipo int o char, pero nunca de tipo double o float Evaluación del switch La expresión de control se evalúa y compara con cada una de las etiquetas case Sintaxis

Switch (variable)

{

case etiqueta1:conjunto de sentencias;

break;

case etiqueta2:conjunto de sentencias;

break;

.

.

.

default:sentencias;

break;

}

default

Page 23: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

Funciona cuando no existe la selección adecuada dentro de las senten-cias case, contiene un valor por omisión

Ej.

default:printf(“El valor que ingresó no corresponde a ningún mes”);

Limitaciones de switch con respecto a if Sólo se tiene posibilidad de revisar una sola variable. Con switch sólo se puede comprobar por igualdad, mientras que con if puede ser con cualquier operador relacional. No se puede probar más de una constante por case

switch (letra)

{

case ‘a’:printf(“Es una vocal”);

break;

case ‘e’:printf(“Es una vocal”);

break;

case ‘i’:printf(“Es una vocal”);

break;

.

.

.

default:printf(“La letra no es una vocal”);

}

//Agrega el codigo necesario para las vocales faltantes

6 Describa cómo se tratan las funciones y procedimientos en JAVA.

Una función es un conjunto de instrucciones que ejecutan una rutina y devuelven un

resultado. El resultado puede depender de parámetros de entrada.

Una función se construye de la siguiente manera:

tipo_resultado nombre_función (tipo_parámetro nombre_parámetro, ... ) {

sentencia1;

sentencia2;

...

Page 24: Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.

LENGUAJE DE PROGRAMACION JAVA

sentenciaN;

}

Una función puede o no devolver un resultado, según cómo haya sido declarado. La

siguiente función no devuelve nada, puesto que se pone void delante, al declararla

// Esta función no devuelve nada

void funcion ( /* parámetros */)

Sin embargo, esta otra sí devuelve un valor entero

// Esta función devuelve un valor entero

int funcion ( /* parámetros */ )

Si la función devuelve algún tipo de resultado, es obligatorio en java poner en el código de

la función return valordevuelto.

Si dentro de la función hay condicionales, es también obligatorio que en todos los posibles

caminos por los que se termine el código de la función, se ponga el return y el valor devuelto.

Lógicamente, cuando la función devuelve el resultado, finaliza la ejecución de la misma, y

de cualquier estructura de control iterativa (for, while...) aunque no se haya cumplido su

condición de salida.