40
Prof. Renny Batista Programación III 1 Sintaxis del Lenguaje Sintaxis Básica del Lenguaje Sintaxis Básica del Lenguaje

01 java sintaxis_basica

Embed Size (px)

DESCRIPTION

Introducción al lenguaje de programación Java.

Citation preview

Page 1: 01 java sintaxis_basica

Prof. Renny Batista Programación III 1

Sintaxis del Lenguaje

Sintaxis Básica del LenguajeSintaxis Básica del Lenguaje

Page 2: 01 java sintaxis_basica

Prof. Renny Batista Programación III 2

Sintaxis Básica

Lenguaje sensible a mayúsculas y minúsculas.

Las sentencias finalizan con punto y coma “;”.

Los bloques de instrucciones se delimitan con llaves “{ }”.

Comentario de una línea y multilínea.

Para comentar una línea // Texto a comentarPara comentar varias líneas /* Texto a 

comentar */

Page 3: 01 java sintaxis_basica

Prof. Renny Batista Programación III 3

Secuencias de escape

Una secuencia de escape está conformada por el carácter “\”seguido de una letra, en el caso de ciertos caracteres no imprimibles o del carácter especial.

Secuencia de Escape Significado

\b Retroceso

\n Salto de línea

\t Tabulación

\\ Barra invertida \

\’ Comilla simple

\” Comilla doble

Page 4: 01 java sintaxis_basica

Prof. Renny Batista Programación III 4

Tipos de datos

Toda la información que se maneja en un programa Java puede estar representada bien por un objeto o bien por un dato de tipoprimitivo

Page 5: 01 java sintaxis_basica

Prof. Renny Batista Programación III 5

Tipos de datos primitivos

Los tipos de datos primitivos se pueden organizar en cuatro grupos:

Numéricos enteros: Son los tipo byte, short, int, long. Los cuatro representan números enteros con signo.Carácter: El tipo char representa un carácter codificado en el sistema unicode.Numérico decimal: Los tipos float y double representan números decimales con coma flotante.Lógicos: El tipo boolean es el tipo de dato lógico; los dos únicos posibles valores que puede representar un dato lógico son true y false.

Page 6: 01 java sintaxis_basica

Prof. Renny Batista Programación III 6

Variables

Una variable es un espacio físico de memoria dónde un programa puede almacenar un dato para su posterior utilización.

int x=10;00..00

.

00AAFF

.

.

.

FF..FF

10

Memoria

x 00AAFF

Direcciones

Page 7: 01 java sintaxis_basica

Prof. Renny Batista Programación III 7

Declaración de variables

Una variable se declara de la siguiente forma:tipo_de_dato nombre_variable;

Un nombre de variable debe cumplir las siguientes reglas:Debe comenzar por un carácter alfabético.No puede contener espacios, signos de puntuación o secuencia de escape.No puede utilizarse como nombre de variable una palabra reservada del lenguaje Java.También es posible declarar en una misma instrucción varias variables de igual tipo.

Ejemplos:int x;char a, opcion, letra;int acum = 0;

Page 8: 01 java sintaxis_basica

Prof. Renny Batista Programación III 8

Asignación

Una vez declara una variable se le puede asignar un valor siguiendo el formato:

Variable = expresión;donde expresión puede ser cualquier expresión Java que devuelva un valor acorde con el tipo de dato de la variable:Ejemplo:

int a,b,c;a=30;b=a+20;c=b;

Page 9: 01 java sintaxis_basica

Prof. Renny Batista Programación III 9

Literales

Un literal es un valor constante que se puede asignar directamente a una variable o puede ser utilizado en una expresión. A la hora de utilizar literales en una expresión debemos considerar:

Los literales numéricos enteros se consideran como tipo int. Excepto el tipo long:

long num = 1000000000000L;

Los literales numéricos decimales se consideran como tipo double. Si vamos a realizar una asignación con decimales a una variable de tipo float la forma correcta es:

float x = 3.23f; 

Los literales boolean son: true y false.

boolean encontrado = true;

Los literales de tipo carácter (char) se escriben entre comillas simples.

char letra = ‘A’;

Page 10: 01 java sintaxis_basica

Prof. Renny Batista Programación III 10

Conversiones de tipos

En java es posible realizar conversiones entre todos los tipos básicos, con excepción de boolean, que es incompatible con el resto de tipos.

Las conversiones de tipos se clasifican en:

Conversiones Implícitas (automáticas)

Conversiones Explícitas (Casting)

Page 11: 01 java sintaxis_basica

Prof. Renny Batista Programación III 11

Conversiones Implícitas

Estas se realizan de manera automática, es decir, el valor o expresión que va a asignar la variable es convertido de forma automática por el compilador. Para que una conversión pueda realizarse de forma automática, el tipo de la variable destino debe ser de igual tamaño o superior al tipo de origen.

Ejemplos:int a;short b=10;float c;a = b;   //conversión de short a intc = a;   //conversión de int a float

Page 12: 01 java sintaxis_basica

Prof. Renny Batista Programación III 12

Conversiones Explicitas

Cuando no se cumplen la condiciones para una conversión implícita, esta se puede realizar explícitamente usando la expresión:

variable_destino = (tipo)dato_origen;

A esta operación se le conoce como casting o estrechamiento ya que al convertir un dato de un tipo en otro tipo de tamaño inferior, en algunos casos, se puede provocar una pérdida de datos.

Ejemplo:int p;double num = 34.23;p = (int) num; //Se elimina la parte decimal

Page 13: 01 java sintaxis_basica

Prof. Renny Batista Programación III 13

Conversiones

byte longintshort float double

char

Requiere conversión

Conversión automática

Page 14: 01 java sintaxis_basica

Prof. Renny Batista Programación III 14

Constante

Una constante es una variable cuyo valor no puede ser modificado. Para definir una constante en Java se utiliza la palabra final, delante de la declaración del tipo:

final tipo nombre_variable = valor;

Ejemplo:final double pi=3.1416;

final int maximo = 100;

Page 15: 01 java sintaxis_basica

Prof. Renny Batista Programación III 15

Palabras reservadas del lenguaje

Page 16: 01 java sintaxis_basica

Prof. Renny Batista Programación III 16

Operadores aritméticos

Asignación=

Aritméticos Explicación+ Suma- Resta* Multiplicación/ División% Devuelve el resto de la división++ Incrementa en 1 -- Decrementa en 1

Page 17: 01 java sintaxis_basica

Prof. Renny Batista Programación III 17

Operadores relacionales

Relacionales Explicación== Igual < Menor> Mayor<= Menor o igual>= Mayor o igual!= Distinto

Page 18: 01 java sintaxis_basica

Prof. Renny Batista Programación III 18

Operadores lógicos

Lógicos Explicación

&& Operador lógico AND. Devuelve verdadero si los dos operandos son true, en cualquier otro caso devuelve false.

|| Operador lógico OR. El resultado es verdadero si alguno de los operando es true.

! Operador lógico NOT. Actúa sobre un único operando boolean, dando como resultado el valor contrario al que tenga el operando.

Page 19: 01 java sintaxis_basica

Prof. Renny Batista Programación III 19

Salida de datos

El envío de datos al exterior se gestiona a través de la clase PrintStream, utilizándose un objeto de la misma para acceder al dispositivo de salida. Posteriormente con los métodos proporcionados por esta clase, podemos enviar la información al exterior.Ejemplo:

int ancho=30;int largo=40;System.out.println(“El ancho es: “+ancho);

Page 20: 01 java sintaxis_basica

Prof. Renny Batista Programación III 20

package paquete;

import java.util.Scanner;

public class Principal {

public static void main(String[] args) {

String nombre;

int edad;

Scanner teclado = new Scanner(System.in);

System.out.print("Escriba su nombre:");

nombre = teclado.next();

System.out.print("Escriba su edad:");

edad = teclado.nextInt();

System.out.println("Hola "+nombre+" tienes "+edad+" años");

}  //fin del void main

}  //fin de la clase Principal

Entrada (lectura de datos)

La clase java.util.Scanner proporciona una serie de métodos para realizar la lectura de datos desde un dispositivo de entrada o archivo, tanto en forma de cadena de caracteres como en cualquier tipo básico.

Importamos la clase Scanner del paquete java.util

Importamos la clase Scanner del paquete java.util

1

Creamos una variable llamada teclado de tipo Scanner

Creamos una variable llamada teclado de tipo Scanner

2

3 Asignamos el valor de las lecturas a las variables para que lo almacenen

Asignamos el valor de las lecturas a las variables para que lo almacenen

Page 21: 01 java sintaxis_basica

Prof. Renny Batista Programación III 21

Ejercicios

Escriba un programa que lea el nombre de un alumno y tres notas,calcule promedio y muestre la salida por pantalla.

Elabore un programa que resuelva el problema que tiene una gasolinera. Los surtidores de la misma registran lo que surten en “galones”, pero el precio de la gasolina esta fijado en “litros”. El programa debe calcular e imprimir por pantalla lo que hay que cobrarle al cliente.

Consideraciones: Cada galón equivale a 3.785 litros.El precio del litro 1.20 $

Elabore un programa tal que dado como datos el radio y la altura de un cilindro, calcule e imprima el área y volumen.

Formula para el volumen: V= π * radio2 * alturaFormula para la superficie: S= 2 * π * radio * altura

Page 22: 01 java sintaxis_basica

Prof. Renny Batista Programación III 22

Estructuras de decisión

Los programas para un mejor funcionamiento y poder realizar un número mayor de tareas deben permitir:

Ejecutar una serie de sentencias o instrucciones

Poder repetir una serie de sentencias hasta que se cumpla o deje de cumplirse una serie de condiciones.

Emplear acciones alternativas para poder elegir una de ellas cuando la situación lo requiera.

Las estructuras de decisión permite realizar acciones alternativas; por tanto, la ejecución de una línea o grupo de líneas de programa depende de si se cumplen o no una o varias condiciones.

Page 23: 01 java sintaxis_basica

Prof. Renny Batista Programación III 23

Estructuras de decisión (if … else)

Instrucción ifEs una sentencia de tipo alternativa simple que permite comprobar una condición dentro de un programa. En caso de que la condición se cumpla se ejecutará un determinado grupo de sentencias, mientras que si no se cumple, se podrá ejecutar otro conjunto diferentes de instrucciones.

if (condición) {

sentencia_1;...

sentencia_n;

}

else {

sentencia_1;...

sentencia_n;

}

Page 24: 01 java sintaxis_basica

Prof. Renny Batista Programación III 24

Estructuras de decisión (if … else)

A la hora de utilizar esta instrucción hay que tener en cuenta lo siguiente:

La condición de comprobación puede ser cualquier expresión cuyo resultado sea de tipo boolean (true o false).

El bloque else es opcional. En este caso, si la condición no se cumple el programa continuará su ejecución en la siguiente línea después de la llave de cierre.

Cuando el bloque de sentencias, bien del if o bien del else, esta formado únicamente por una sola sentencia, el uso de las llaves delimitadoras es opcional. No obstante, para una mayor claridad del código, se recomienda su uso en cualquier caso.

Las instrucciones if se pueden anidar.

Page 25: 01 java sintaxis_basica

Prof. Renny Batista Programación III 25

Ejercicios (if … else)

Escriba un programa que lea el sueldo de un empleado, le aplique un aumento del 15% si su sueldo es inferior a 1000 Bs. y 12% en caso contrario. Imprimir el aumento y el nuevo sueldo del empleado.

Elabore un programa en Java que lea como dato de entrada un número entero, determine e imprima por pantalla si el numero leído es “positivo”, “negativo” o “nulo”.

Escriba un programa que lea la longitud los lados A, B y C de untriángulo. Utilizando las instrucciones if…else determine si el triangulo es “Equilátero”, “Isósceles” o “Escaleno”.

Page 26: 01 java sintaxis_basica

Prof. Renny Batista Programación III 26

Estructuras de decisión (switch)

Instrucción switchSe trata de una instrucción de tipo alternativa múltiple. Permite ejecutar diferentes bloques de sentencias en función del resultado de una expresión

switch(expresión) {

case valor_1:

sentencias;

break;

case valor_2:

sentencias;

break;...

default:

sentencias;

}

Page 27: 01 java sintaxis_basica

Prof. Renny Batista Programación III 27

Estructuras de decisión (switch)

Sobre el uso de esta instrucción hay que tener en cuenta lo siguiente:

Los únicos valores que puede evaluar switch son números enteros de tipo int. Esto incluye a aquellos que puedan ser promocionados a dicho tipo (byte, char y short) .

Un switch puede contener cualquier número de case, aunque no pueden haber dos cases con el mismo valor.

La sentencia break es opcional y se emplea para provocar la finalización del switch al terminar la ejecución de un case. En caso de que un case no incluya esta sentencia, el programa continuará con la ejecución del siguiente case, independiente de que el resultado de la expresión coincida o no con el valor indicado del mismo.

El bloque default se ejecutara si el resultado de la expresión no coincide con ningún case. Su uso es opcional.

Page 28: 01 java sintaxis_basica

Prof. Renny Batista Programación III 28

Ejercicio (switch)

El costo de las llamadas telefónicas internacionales depende de la zona geográfica en la que se encuentra el país de destino y el número de minutos hablados. En la siguiente tabla se presenta el costo del minuto por zona y a cada zona se le ha asignado una clave.

Escriba un programa en Java que lea como entrada la cantidad de minutos hablados y la clave del país de destino, calcule e imprima por pantalla el costo total de la llamada realizada

clave Zona Precio Bs.

1 América del Norte 2

2 America del Sur 2.2

3 Europa 4.5

4 Asia 6

5 África 6

6 Oceanía 8

Page 29: 01 java sintaxis_basica

Prof. Renny Batista Programación III 29

Estructuras de Repetitivas (Ciclos)

Llamamos “bucle” o “ciclo” a todo proceso que se repite un número de veces dentro de un programa. Un ciclo requiere de una condición para poder ejecutarse.Lo primero que hace el computador es examinar la condición y da como resultado dos posibilidades:

Se cumple: va a realizar todas las instrucciones que están dentro del ciclo, las estará repitiendo hasta que deje de cumplirse la condición. Entonces sale del ciclo y continúa ejecutando las instrucciones que hay fuera de él.

No se cumple: no entrará en el ciclo. Ejecuta las instrucciones, que están fuera de él.

Mientras (condición) {sentencia interna1;sentencia interna2;.

.sentencia internan;

}

Sentencia externa;

La condición del bucle no tiene por que ser única, puede haber más de una siempre y cuando estén unidas por los operadores lógicos.

Page 30: 01 java sintaxis_basica

Prof. Renny Batista Programación III 30

Los contadores

Un contador es una variable destinada a contener diferentes valores, que se va incrementando o decrementando cada vez que el computador ejecuta la instrucción que lo contiene.El incremento; o decremento si es negativo, llamado también paso de contador, es siempre constante.Ejemplo: En un partido de fútbol cada vea que un equipo marca un gol, su casillero siempre aumenta en una unidad. En las carreras de autos, cada vez que un vehículo pasa por la línea de meta, se incrementa en una unidad el número de vueltas dadas al circuito o se decrementa en una unidad el número de vueltas que le quedan por realizar.

2 1

Local Visitante

Marcador en un instante determinado

3 1

Local Visitante

Marcador luego de conseguir un gol el equipo local

Page 31: 01 java sintaxis_basica

Prof. Renny Batista Programación III 31

Los contadores

SintaxisVARIABLE = VARIABLE ± VALOR_CONSTANTE;

El computador primero evalúa la expresión situada a la derecha del signo igual, realiza la suma o la resta y su resultado lo asigna a lo que hay a la izquierda del igual.El valor de la constante no tiene por qué ser la unidad; puede ser cualquier número, pero en todo el programa se debe conservar siempre dicho valor. Ejemplos:

vueltas = vueltas + 1;goles = goles + 1;final = final – 1;numero = numero + 5;

Page 32: 01 java sintaxis_basica

Prof. Renny Batista Programación III 32

Los acumuladores

Es una variable que nos va a permitir guardar un valor que se incrementa o decrementa de forma no constante durante el proceso. En un instante determinado tendrá un valor y al siguiente tendrá otro valor igual o distinto.Sintaxis:

ACUMULADOR = ACUMULADOR + VALOR_VARIABLE;

ACUMULADOR es la variable que almacena el resultado fr la suma

VALOR_VARIABLE almacena el número que estamos sumandoEjecuta en primer lugar lo que hay a la derecha del signo igual.Realiza la operación ACUMULADOR + VALOR_VARIABLE, para el último caso; el resultado lo guarda en la variable ACUMULADOR.Ejemplo:

saldo = saldo + deposito;saldo = saldo – retiro;suma = suma + numero;

Page 33: 01 java sintaxis_basica

Prof. Renny Batista Programación III 33

Estructuras de Repetitivas (while)

Instrucción whilePermite ejecutar un bloque de instrucciones mientras se cumpla una determinada condición dentro del programa. Los dos posibles formatos que admite esta instrucción son:

while(condición) {

sentencia1;

sentencia2;...

sentencian;

}

do {

sentencia1;

sentencia2;...

sentencian;

} while(condición);

A B

Page 34: 01 java sintaxis_basica

Prof. Renny Batista Programación III 34

Estructuras de Repetitivas (for)

Instrucción forPermite ejecutar un conjunto de instrucciones un número determinado de veces. Su formato es el siguiente:

for(inicio; condición; incremento){

sentencia1;

sentencia2;..

sentencian;

}

Page 35: 01 java sintaxis_basica

Prof. Renny Batista Programación III 35

Estructuras de Repetitivas – Salidas forzadas

Instrucción breakEl uso de esta instrucción provoca una salida forzada del bucle, continuando la ejecución del programa en la primera sentencia situada después del mismo.

Instrucción ContinueEsta instrucción provoca que el bucle detenga la iteración actual y pase, en el caso del for, a ejecutar la instrucción de incremento o, en el caso de while, a comprobar la condición de entrada.

Page 36: 01 java sintaxis_basica

Prof. Renny Batista Programación III 36

Ejercicios (while - for)

De una empresa con N empleados, necesitamos un programa que lea el código del empleado y el sueldo. Se pide que muestre por pantalla el código y sueldo del empleado con el mayor sueldo de la empresa.

Un vendedor ha hecho una serie de ventas y desea conocer la cantidad de ventas menores de 200 Bs. las mayores de 200 Bs. y menores de400 Bs. y las superiores a 400 Bs. Escriba un programa que muestre por pantalla la cantidad de cada una de las ventas, el programa se detendrá cuando el usuario no quiera procesar más ventas.

En una clase de una universidad se tienen cinco alumnos. Escriba un programa que calcule e imprima la cédula y el promedio de notas de cada alumno. Cabe destacar que cada alumno de la clase tiene tres notas. (Utilizar ciclos)

Page 37: 01 java sintaxis_basica

Prof. Renny Batista Programación III 37

Arreglos (arrays)

Un array es un objeto en el que se puede almacenar un conjunto de datos de un mismo tipo. Cada uno de los elementos del array tiene asignado un índice numérico según su posición, siendo 0 el índice primero.Declaración:

tipo [] variable_array;

tipo variable_array[];

Ejemplo:int [] k;char cadena[];

A

B

Page 38: 01 java sintaxis_basica

Prof. Renny Batista Programación III 38

Arreglos (arrays)

Para asignar un tamaño a un array (Dimensionar) se utiliza la expresión:

variable_array = new tipo[tamaño];

Ejemplo:k = new int[5};cadena = new char[10];

También se puede asignar un tamaño al array en la misma línea de declaración de la variable:

String [] nombres = new String[10];

Existe una forma de declarar, dimensionar e inicializar un array en una misma sentencia: Ejemplo:

int [] numeros = {10,23,5,12,6};

Page 39: 01 java sintaxis_basica

Prof. Renny Batista Programación III 39

Ejercicio Arreglos

En un arreglo unidimensional se ha almacenado el número total de toneladas de cereales cosechadas durante cada mes del año anterior. Elaborare un programa en java que proporcione la siguiente información:

El promedio anual de toneladas cosechadas.¿Cuántos meses tuvieron una cosecha superior al promedio?.¿Cuántos meses tuvieron una cosecha inferior al promedio?.¿Cuál fue el mes en que se produjeron mayor numero de toneladas.

Page 40: 01 java sintaxis_basica

Prof. Renny Batista Programación III 40

Bibliografías

Martín, Antonio. Programador Certificado Java 2. Curso Práctico. Editorial RA-MA. 2da Edición.

Sánchez, Jorge. Java2. http://www.jorgesanchez.net