Sei sulla pagina 1di 97

Fundamentos de programacin

Fundamentos programacin Java

Diseccionando mi primer programa Java


1 2 3 4 5 6 7 8 9 } 10 } public class Hello { /** * My first Java program */ public static void main( String[] args ){ //prints the string Hello world on screen System.out.println(Hello world);

Fundamentos programacin Java

Diseccionando mi primer programa Java


1 2 3 4 5

public class Hello { /** * My first Java program */

Indica el nombre de la clase, Hello

Todo el cdigo debe ir dentro de una declaracin de clase


La clase usa un especificador de acceso pblico, lo que indica que nuestra clase es accesible desde otras clases de otros paquetes (coleccin de clases).

Fundamentos programacin Java

Diseccionando mi primer programa Java


1 2 3 4 5

public class Hello { /** * My first Java program */

La prxima lnea contiene una llave { indica el comienzo de un bloque Tambin se puede escribir al final de la declaracin de clase, quedando as: public class Hello{

Fundamentos programacin Java

Diseccionando mi primer programa Java


1 2 3 4 5

public class Hello { /** * My first Java program */

La siguiente lnea es un comentario en Java

Fundamentos programacin Java

Diseccionando mi primer programa Java


1 2 3 4 5 6

public class Hello { /** * My first Java program */ public static void main( String[] args ){

Indica el nombre del mtodo principal de la clase Hello

Fundamentos programacin Java

Diseccionando mi primer programa Java

El mtodo principal es el punto de inicio de un programa Java.

Fundamentos programacin Java

Diseccionando mi primer programa Java


1 2 3 4 5 6 7

public class Hello { /** * My first Java program */ public static void main( String[] args ){ //prints the string Hello world on screen

Otra manera de hacer un comentario en Java

Fundamentos programacin Java

Diseccionando mi primer programa Java


1 2 3 4 5 6 7 8

public class Hello { /** * My first Java program */ public static void main( String[] args ){

//prints the string Hello world on screen System.out.println(Hello world);

El comando System.out.println(), imprime el texto entre los parntesis.

Fundamentos programacin Java

Diseccionando mi primer programa Java


1 2 3 4 5 6 7 8 9 } 10 }

public class Hello { /** * My first Java program */ public static void main( String[] args ){

//prints the string Hello world on screen System.out.println(Hello world);

Las siguientes lneas son para cerrar las llaves abiertas para la clase y para el mtodo.
Fundamentos programacin Java 10

Directrices de codificacin
1. Tus programas Java deben acabar siempre con la extensin .java 2. Los nombres de archivo debe coincidir con el nombre de su clase pblica. Por ejemplo, si el nombre de la clase pblica es Hello, debe guardarlo en un archivo llamado Hello.java. 3. Usted debe escribir comentarios en el cdigo que explica lo que hace una cierta clase, o lo que hace un determinado mtodo.

Fundamentos programacin Java

11

Comentarios Java

Comentarios

Se trata de notas escritas a un cdigo a efectos de documentacin. Estos textos no son parte del programa y no afecta el flujo del programa.

3 tipos de comentarios en Java


C++ estilo de comentarios C estilo de comentarios Especial comentarios Javadoc

Fundamentos programacin Java

12

Comentarios Java

C++-Style Comments

Comienzan con // Todo el texto tras // es tratado como comentario.

Por ejemplo: // This is a C++ style or single line comments

Fundamentos programacin Java

13

Comentarios Java

C-Style Comments

C-estilo de los comentarios o tambin llamados comentarios multilnea comienza con un / * y termina con un * /. Todo el texto entre los dos se tratan como comentarios. A diferencia del estilo de comentario de C + +, pueden extenderse a varias lneas. Por ejemplo: /* this is an exmaple of a C style or multiline comments */

Fundamentos programacin Java

14

Comentarios Java

Comentarios especiales de Javadoc

Especial Javadoc comentarios se utilizan para la generacin de una documentacin HTML para sus programas de Java. Puede crear javadoc comentarios empezando por la lnea con /** y termina con */. Al igual que los comentarios de estilo C, tambin puede abarcar varias lneas . Tambin puede contener ciertas etiquetas para aadir ms informacin a sus comentarios. Por ejemplo: /** This is an example of special java doc comments used for \n generating an html documentation. It uses tags like: @author Florence Balagtas @version 1.2 */
Fundamentos programacin Java 15

Documentacin Java

API Java http://java.sun.com/reference/api/ JSE http://java.sun.com/j2se/1.5.0/docs/api/ JEE http://java.sun.com/javaee/5/docs/api/

Fundamentos programacin Java

16

Declaraciones Java

Declaracin

una o ms lneas de cdigo, termina con punto y coma. Ejemplo: System.out.println(Hello world);

Fundamentos programacin Java

17

Bloques Java

Bloque

es de una o ms declaraciones limitada por una apertura y cierre de llaves de las declaraciones que los grupos como una unidad. Bloque de declaraciones se pueden anidar indefinidamente. Cualquier cantidad de espacio en blanco est permitido. Ejemplo: public static void main( String[] args ){ System.out.println("Hello"); System.out.println("world); }

Fundamentos programacin Java

18

Java declaraciones y directrices de los bloques de codificacin


1. En la creacin de bloques, puede colocar la llave de apertura de conformidad con la declaracin. Por ejemplo:
public static void main( String[] args ){

o puede colocar la llave en la lnea siguiente, como ,


public static void main( String[] args ) {

Fundamentos programacin Java

19

Java declaraciones y directrices de los bloques de codificacin


2. Usted debe introducir las prximas declaraciones tras el inicio de un bloque. Por ejemplo:
public static void main( String[] args ){

System.out.println("Hello");
System.out.println("world"); }

Fundamentos programacin Java

20

Identificadores Java

Identificadores

son fichas que representan los nombres de variables, mtodos, clases, etc. Ejemplos: Hello, main, System, out.

Los identificadores Java son sensibles a maysculas / minsculas.

Esto significa que el identificador de Hola no es lo mismo que hola.

Fundamentos programacin Java

21

Identificadores Java

Identificadores deben comenzar con una letra o bien, un guin de subrayado "_" o un signo de dlar "$". Letras puede ser maysculas o minsculas. Los siguientes caracteres pueden usar nmeros de 0 a 9. No puede utilizar como identificadores las palabras clave de Java, como class, public, void, etc.

Fundamentos programacin Java

22

Java declaraciones y directrices de los bloques de codificacin


1. Para los nombres de las clases, en mayscula la primera letra del nombre de clase. Por ejemplo,
ThisIsAnExampleOfClassName

2. Para los nombres de los mtodos y variables, la primera letra de la palabra debe comenzar con una minscula. Por ejemplo,
thisIsAnExampleOfMethodName

Fundamentos programacin Java

23

Java declaraciones y directrices de los bloques de codificacin


3. En el caso de varias palabras identificadores, utilice letras maysculas para indicar el inicio de la palabra, excepto la primera palabra. Por ejemplo,
charArray, fileNumber, ClassName.

4. Evite el uso de barra baja al comienzo de la identificacin como _read o _write.

Fundamentos programacin Java

24

Palabras clave Java

Las palabras clave son identificadores predefinidos reservados por Java para un propsito especfico. Usted no puede utilizar palabras clave como nombres de variables, clases, mtodos ... etc. La siguiente diapositiva contiene la lista de palabras clave de Java.

Fundamentos programacin Java

25

Palabras clave Java

Fundamentos programacin Java

26

Literales y Primitivos

Los tipos primitivos son tipos de datos especiales incrustados dentro del lenguaje, no son objetos creados de una clase. Un literal es la representacin en cdigo fuente de un valor fijo, los literales se representan directamente en su cdigo sin necesidad de computacin. Es posible asignar un literal a una variable de un tipo primitivo, como se muestra a continuacin:

boolean result = true;


char capitalC = 'C'; byte b = 100; short s = 10000; int i = 100000;
Fundamentos programacin Java 27

Literales Java

Un valor constante en Java se crea utilizando una representacin literal de l. Un literal es la representacin en cdigo fuente de un valor fijo, los literales se representan directamente en su cdigo sin necesidad de computacin. Los diferentes tipos de literales en Java son:

Enteros

Coma flotante
Booleanos Caracteres Cadenas

Fundamentos programacin Java

28

Literales Java: Enteros / Integer

Integer literals vienen en distintas formas:

decimal (base 10)

hexadecimal (base 16)


octal (base 8).

Fundamentos programacin Java

29

Literales Java: Enteros / Integer

Decimal

Sin una notacin especial ejemplo: 12

Hexadecimal

Precedido por 0x 0X ejemplo: 0xC

Octal

Precedido por 0 ejemplo: 014

Fundamentos programacin Java

30

Literales Java: Coma flotante / Floating Point


Representa nmeros con punto decimal

Ejemplo: 3.1416

Puede ser expresado de manera estndar o con notacin cientfica.

Ejemplo : 583.45 (estndar), 5.8345e2 (cientfico)

Fundamentos programacin Java

31

Literales Java : booleano

Sencillamente true o false

Fundamentos programacin Java

32

Literales Java: char

Una variable de tipo char almacena un carcter Unicode. Carcter Unicode

Un carcter de 16-bit sustituye el character de 8-bit usado en ASCII.


Unicode permite la inclusin de smbolos y caracteres especiales de otros idiomas.

Fundamentos programacin Java

33

Literales Java: char

Un literal de tipo char se expresa encerrando el carcter entre comillas simples.

Por ejemplo

la letra a, se representa como a. caracteres especiales, como un carcter de nueva lnea, se utiliza una barra invertida seguida por el cdigo de caracteres. Por ejemplo, '\ n' para el carcter de nueva lnea, '\ r' para el retorno de carro, '\ b' para retroceder.

Fundamentos programacin Java

34

Literales Java: String


Un String representa mltiples caracteres. Para indicar una cadena de caracteres se encierran entre comillas dobles.

UnejemplodeCadenaes,HelloWorld.

Fundamentos programacin Java

35

Tipo de datos Primitivo

Llamamos tipos primitivos de un lenguaje cuando hablamos de tipos de datos ya definidos en el lenguaje y de los que se puede partir para la construccin de expresiones o tipos de compuestos. Se definen 8 tipos:

boolean char byte short int long double

float
Fundamentos programacin Java 36

Tipo de datos Primitivo: char

Un tipo de datos de carcter (char), representa un nico carcter Unicode. Se debe tener su literal cerrado entre comillas simples ().

Por ejemplo, a //La letra a \t //Un tab


Para representar los caracteres especiales como '(comillas simples) o "(comillas dobles), utilice el carcter de escape \. Por ejemplo, '\'' //comillas simples '\"' //comillas dobles

Fundamentos programacin Java

37

Tipo de datos Primitivo: Entero byte, short, int & long

Tipo de datos entero en Java utiliza tres formas decimal, octal or hexadecimal. Ejemplos,
2 //el valor decimal 2 077 //el 0 indica un valor octal 0xBACC //el 0x indica un valor hexadecimal

Tipo Entero tiene a int como tipo de datos predeterminado.

Usted puede definir su valor a Long aadiendo la letra l L. Por ejemplo: 10L

Fundamentos programacin Java

38

Tipo de datos Primitivo: Entero byte, short, int & long

Rango de tipo de datos enteros:

Fundamentos programacin Java

39

Tipo de datos Primitivo: Floating Point float and double


Floating point tiene double como tipo de dato por defecto.

De punto flotante, ya sea literal incluye un punto decimal o uno de los siguientes,
E or e //(add exponential value) F or f //(float) D or d //(double)

Ejemplos,
3.14 //A simple floating-point value (a double) 6.02E23 //A large floating-point value 2.718F //A simple float size value 123.4E+306D//A large double value with redundant D

Fundamentos programacin Java

40

Tipo de datos Primitivo: Floating Point float and double

Rango de coma flotante:

Fundamentos programacin Java

41

Tipo de datos Primitivo: Resumen

Fundamentos programacin Java

42

Variables

Las variables son la manera en que indicamos al compilador el espacio en memoria que debe de reservar para almacenar la informacin. Una variable tiene:

Tipo de dato

El tipo de datos indica el tipo de valor que la variable puede contener.

nombre

El nombre de la variable debe seguir las reglas para los identificadores.

Fundamentos programacin Java

43

Declarando e inicializando Variables

Declara una variable de la siguiente manera : <data type> <name> [=initial value]; Nota: Los valores encerrados en <> son valores necesarios, mientras que los valores en [] son opcionales.

Fundamentos programacin Java

44

Declarando e inicializando Variables: Ejemplo


1 2 3 4 5 public class VariableSamples { public static void main( String[] args ){ //declare a data type with variable name // result and boolean data type boolean result;

6 7 8 9 10 11 12 13 14 } 15 }

//declare a data type with variable name // option and char data type char option; option = 'C'; //assign 'C' to option //declare a data type with variable name //grade, double data type and initialized //to 0.0 double grade = 0.0;

Fundamentos programacin Java

45

Declarando e inicializando Variables: Directrices de codificacin


1. Es siempre bueno inicializar las variables cuando se declaran . 2. Utilice nombres descriptivos de las variables. Como por ejemplo, si usted quiere tener una variable que contiene un grado de un estudiante, como nombre, categora y no slo algunas letras al azar que usted elija.

Fundamentos programacin Java

46

Declarando e inicializando Variables: Directrices de codificacin


3. Declarar una variable en cada lnea de cdigo. Por ejemplo, la declaraciones de variables, double exam=0; double quiz=10; double grade = 0;

es preferible a lo siguiente,
double exam=0, quiz=10, grade=0;

Fundamentos programacin Java

47

Salida de datos de variables

Con el fin de mostrar el valor de una determinada variable, podemos usar los siguientes comandos:
System.out.println()

System.out.print()

Fundamentos programacin Java

48

Salida de datos de variables: Programa ejemplo


1 2 3 4 5 6 7 8 9 public class OutputVariable { public static void main( String[] args ){ int value = 10; char x; x = A; System.out.println( value ); System.out.println( The value of x= + x ); }

El programa mostrar lo siguiente por pantalla: 10 The value of x=A


Fundamentos programacin Java 49

System.out.println() vs. System.out.print()

System.out.println()

Aade una nueva lnea al final de la salida de datos

System.out.print()

No aadir una nueva lnea al final de la salida de datos

Fundamentos programacin Java

50

System.out.println() vs. System.out.print()

Programa 1:
System.out.print(Hello); System.out.print(World);

Output: HelloWorld

Programa 2:
System.out.println(Hello); System.out.println(World);

Output: Hello World

Fundamentos programacin Java

51

Variables por Referencia vs. Variables primitivas

Dos tipos de variables en Java:


Variables primitivas Variables de referencia

Variables primitivas

variables con tipos de datos primitivos como int o largo. almacena los datos en la memoria real de la ubicacin donde la variable est

Fundamentos programacin Java

52

Variables por Referencia vs. Variables primitivas

Variables de referencia

las variables que almacena la direccin en la ubicacin de la memoria apunta a otra ubicacin de memoria donde los datos reales estn Cuando declara una variable de una determinada clase, en realidad est declarando una variable de referencia con el objeto de cierta clase.

Fundamentos programacin Java

53

Ejemplo

Supongamos que tenemos dos variables con tipos de datos int y string. int num = 10; // primitive type String name = "Hello"; // reference type

Fundamentos programacin Java

54

Ejemplo

La imagen se muestra a continuacin es la memoria de su ordenador, que tiene la direccin de la memoria de las clulas, el nombre de la variable y los datos que posean.

Fundamentos programacin Java

55

Operadores

Distintos tipos de operadores :


operadores aritmticos operadores relacionales

operadores lgicos
operadores condicionales

Estos operadores siguen un cierto tipo de preferencia para que el compilador sepa que operador evaluar en primer lugar en caso de mltiples operadores en una misma declaracin.

Fundamentos programacin Java

56

Operadores Aritmticos

Fundamentos programacin Java

57

Operadores Aritmticos: Ejemplo de programa


1 public class ArithmeticDemo { 2 public static void main(String[] args){ 3 //a few numbers 4 int i = 37; 5 int j = 42; 6 double x = 27.475; 7 double y = 7.22; 8 System.out.println("Variable values..."); 9 System.out.println(" i = " + i); 10 System.out.println(" j = " + j); 11 System.out.println(" x = " + x); 12 System.out.println(" y = " + y); System.out.println("Adding..."); 13 System.out.println(" i + j = " + (i + j)); 14 System.out.println(" x + y = " + (x + y));

Fundamentos programacin Java

58

Operadores Aritmticos: Ejemplo de programa


15 16 17 18 19 20 21 22 23 24 25 26 //subtracting numbers System.out.println("Subtracting..."); System.out.println(" i - j = " + (i j)); System.out.println(" x - y = " + (x y)); //multiplying numbers System.out.println("Multiplying..."); System.out.println(" i * j = " + (i * j)); System.out.println(" x * y = " + (x * y)); //dividing numbers System.out.println("Dividing..."); System.out.println(" i / j = " + (i / j)); System.out.println(" x / y = " + (x / y));

Fundamentos programacin Java

59

Operadores Aritmticos: Ejemplo de programa


29 30 31 32 33 34 35 36 37 38 39} //computing the remainder resulting from dividing // numbers System.out.println("Computing the remainder..."); System.out.println(" i % j = " + (i % j)); System.out.println(" x % y = " + (x % y)); //mixing types System.out.println("Mixing types..."); System.out.println(" j + y = " + (j + y)); System.out.println(" i * x = " + (i * x)); }

Fundamentos programacin Java

60

Operadores Aritmticos: Ejemplo de programa


Variable values... i = 37 j = 42 x = 27.475 y = 7.22 Adding... i + j = 79 x + y = 34.695 Subtracting... i - j = -5 x - y = 20.255 Multiplying... i * j = 1554 x * y = 198.37

Dividing... i / j = 0 x / y = 3.8054 Computing the remainder... i % j = 37 x % y = 5.815 Mixing types... j + y = 49.22 i * x = 1016.58

Fundamentos programacin Java

61

Operadores Aritmticos

Qu pasa si los operandos no son del mismo tipo? Se convierten automticamente segn el siguiente orden de generalidad:

byte short int long float double

El resultado de una expresin se convierte al tipo ms general

Fundamentos programacin Java

62

Operadores Aritmticos

Ejemplos: double goodDouble = 17.5 + 4; int badInt = 5 3.0; float goodFloat = 491 + 5162631234L; float badFloat = 16.2 / 7; A veces el resultado no es lo que uno desea! double cociente = 15 / 4;

Fundamentos programacin Java

63

Los operadores de incremento y decremento


incremento operador de unidad(++) decremento operador de unidad(--) Operadores de incremento y decremento aumentan y disminuyen un valor almacenado en un nmero variable ms 1. Por ejemplo,
count=count + 1;//increment the value of count by 1

es lo mismo que,
count++;

Fundamentos programacin Java

64

Los operadores de incremento y decremento

Fundamentos programacin Java

65

Los operadores de incremento y decremento

Los operadores de incremento y decremento se pueden colocar antes o despus de un operando. Cuando se utiliza antes de un operando, que provoca la variable que se incrementa o decrementa en 1, y luego el nuevo valor se utiliza en la expresin en la que aparece Por ejemplo,
int int int k = i = j = k = ++j 10; 3; 0; + i; //will result to k = 4+10 = 14

Fundamentos programacin Java

66

Los operadores de incremento y decremento

Cuando los operadores de incremento y decremento se colocan despus del operando, el antiguo valor de la variable se utiliza en la expresin que aparece.

Por ejemplo,
int int int k = i = j = k = j++ 10; 3; 0; + i; //will result to k = 3+10 = 13

Fundamentos programacin Java

67

Los operadores de incremento y decremento: Directrices de codificacin

Siempre mantenga las expresiones que contienen operadores de incremento y decremento simple y fcil de entender.

Fundamentos programacin Java

68

Operadores relacionales

Los operadores relacionales comparan dos valores y determina la relacin entre esos valores. El resultado de la evaluacin son los valores booleanos verdadero o falso.

Fundamentos programacin Java

69

1 public class RelationalDemo{ 2 public static void main(String[] args){ 3 //a few numbers 4 int i = 37; 5 int j = 42; 6 int k = 42; 7 System.out.println("Variable values..."); 8 System.out.println(" i = " +i); 9 System.out.println(" j = " +j); 10 System.out.println(" k = " +k); 11 //greater than 12 System.out.println("Greater than..."); 13 System.out.println(" i > j = "+(i>j));//false 14 System.out.println(" j > i = "+(j>i));//true 15 System.out.println(" k > j = "+(k>j));//false

Operadores relacionales: Programa de ejemplo

Fundamentos programacin Java

70

Operadores relacionales: Programa de ejemplo


16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 //greater than or equal to System.out.println("Greater than or equal to..."); System.out.println(" i >= j = "+(i>=j));//false System.out.println(" j >= i = "+(j>=i));//true System.out.println(" k >= j = "+(k>=j));//true //less than System.out.println("Less than..."); System.out.println(" i < j = "+(i<j));//true System.out.println(" j < i = "+(j<i));//false System.out.println(" k < j = "+(k<j));//false //less than or equal to System.out.println("Less than or equal to..."); System.out.println(" i <= j = "+(i<=j));//true System.out.println(" j <= i = "+(j<=i));//false System.out.println(" k <= j = "+(k<=j));//true

Fundamentos programacin Java

71

31 32 33 34 35 36 37 38 39 40

Operadores relacionales: Programa de ejemplo //equal to


System.out.println("Equal to..."); System.out.println(" i == j = " + (i==j));//false System.out.println(" k == j = " + (k==j));//true //not equal to System.out.println("Not equal to..."); System.out.println(" i != j = " + (i!=j));//true System.out.println(" k != j = " + (k!=j));//false } }

Fundamentos programacin Java

72

Operadores relacionales: Programa de ejemplo output


Variable values... i = 37 j = 42 k = 42 Greater than... i > j = false j > i = true k > j = false Greater than or equal to... i >= j = false j >= i = true k >= j = true Less than... i < j = true j < i = false k < j = false Less than or equal to... i <= j = true j <= i = false k <= j = true Equal to... i == j = false k == j = true Not equal to... i != j = true k != j = false

Fundamentos programacin Java

73

Operadores Lgicos
tienen uno o dos operandos booleanos que producen un resultado booleano . Hay seis operadores lgicos:
Categora Operandos Significado

&& &
|| | ^ !

binario binario
binario binario binario unario

boolean boolean
boolean boolean boolean boolean

Y lgica Y lgica
O lgica O lgica O exclusiva NO

Fundamentos programacin Java

74

Operadores Lgicos

La expresin bsica para una operacin es, x1 op x2 donde, x1, x2 pueden ser expresiones booleana, variables o constantes. La tabla que se muestra a continuacin resume el resultado de cada operacin para todas las posibles combinaciones de x1 y x2.

Fundamentos programacin Java

75

Operadores Lgicos: &&(logical) and &(boolean logical) AND

Tabla de verdad para && y &,

Fundamentos programacin Java

76

La diferencia bsica entre && y & operadores:

&& soporta evaluaciones parciales, mientras que & no lo soporta.

Fundamentos programacin Java

77

Dada una expresin: exp1 && exp2

Evaluar la expresin exp1, y de inmediato devolver false si exp1 es falso. Si exp1 es false, el operador nunca evaluara exp2 porque el resultado del operador ser falso independientemente del valor de exp2.

En cambio, el operador & siempre evala ambos antes de devolver un valor.

Operadores Lgicos: &&(logical) y &(boolean logical) AND

Fundamentos programacin Java

78

Operadores Lgicos: &&(logical) y &(boolean logical) AND


1 public class TestAND { 2 public static void main( String[] args ){ 3 int i = 0; 4 int j = 10; 5 boolean test= false; 6 //demonstrate && 7 test = (i > 10) && (j++ > 9); 8 System.out.println(i); 9 System.out.println(j); 10 System.out.println(test); 11 //demonstrate & 12 test = (i > 10) & (j++ > 9); 13 System.out.println(i); 14 System.out.println(j); 15 System.out.println(test); 16 } 17 }
Fundamentos programacin Java 79

Operadores Lgicos: &&(logical) y &(boolean logical) AND

La salida del programa es, 0 10 false 0 11 false Tenga en cuenta que la j++ en la lnea que contiene el operador && no se evala desde la primera expresin (i> 10) ya que es igual a false.

Fundamentos programacin Java

80

Operadores Lgicos: || (logical) y | (boolean logical) inclusive OR

Tabla de verdad para || y |,

Fundamentos programacin Java

81

La diferencia bsica entre | | y | operadores:

&& soporta evaluaciones parciales, mientras que & no lo soporta.

Fundamentos programacin Java

82

Dada la expresin: exp1 || exp2

Evaluar la expresin exp1, y de inmediato devolver true si exp1 es true. Si exp1 es true, el operador nunca evaluara exp2 porque el resultado del operador ser true independientemente del valor de exp2.

En cambio, el operador | siempre evala ambos antes de devolver un valor.

Operadores Lgicos: || (logical) y | (boolean logical) inclusive OR

Fundamentos programacin Java

83

Operadores Lgicos: || (logical) y | (boolean logical) inclusive OR


1 public class TestOR { 2 public static void main( String[] args ){ 3 int i = 0; 4 int j = 10; 5 boolean test= false; 6 //demonstrate || 7 test = (i < 10) || (j++ > 9); 8 System.out.println(i); 9 System.out.println(j); 10 System.out.println(test); 11 //demonstrate | 12 test = (i < 10) | (j++ > 9); 13 System.out.println(i); 14 System.out.println(j); 15 System.out.println(test); 16 } 17 }
Fundamentos programacin Java 84

Operadores Lgicos: || (logical) y | (boolean logical) inclusive OR

La salida del programa es, 0 10 true 0 11 true

Tenga en cuenta que la j++ en la lnea que contiene el operador && no se evala desde la primera expresin (i> 10) ya que es igual a true.

Fundamentos programacin Java

85

Operadores Lgicos: ^ (boolean logical exclusive OR)

Tabla de verdad para ^,

El resultado de una operacin exclusiva OR es TRUE, si y slo si un operando es true y el otro es false. Tenga en cuenta que ambos operandos deben siempre ser evaluados con el fin de calcular el resultado de un exclusivo OR.
Fundamentos programacin Java 86

Operadores Lgicos: ^ (boolean logical exclusive OR)


1 public class TestXOR { 2 public static void main( String[] args ){ 3 boolean val1 = true; 4 boolean val2 = true; 5 System.out.println(val1 ^ val2); 6 val1 = false; val2 = true; 7 System.out.println(val1 ^ val2); 8 val1 = false; val2 = false; 9 System.out.println(val1 ^ val2); 10 val1 = true; val2 = false; 11 System.out.println(val1 ^ val2); 12 } 13 }

Fundamentos programacin Java

87

Operadores Lgicos: ^ (boolean logical exclusive OR)

La salida del programa es, false true false true

Fundamentos programacin Java

88

Operadores Lgicos: ! ( logical NOT)

El NOT lgico puesto en un argumento, cuando ese argumento puede ser una expresin, variable o constante. Tabla de verdad para !,

Fundamentos programacin Java

89

Operadores Lgicos: ! ( logical NOT)


1 2 3 4 5 6 7 8 public class TestNOT { public static void main( String[] args ){ boolean val1 = true; boolean val2 = false; System.out.println(!val1); System.out.println(!val2); } }

La salida del programa es, false true

Fundamentos programacin Java

90

Operadores Lgicos: Conditional Operator (?:)

El operador condicional?:

es un operador ternario.

Esto significa que se toma en tres argumentos que forman juntos una expresin condicional .

La estructura de una expresin utilizando un operador condicional es exp1?exp2:exp3


donde,

exp1 es una expresin booleana cuyo resultado deber ser true o false.

Resultado:
Si exp1 es true, exp2 es el valor devuelto. Si es false, entonces exp3 es devuelto.

Fundamentos programacin Java

91

Operadores Lgicos: Conditional Operator (?:)


1 public class ConditionalOperator { 2 public static void main( String[] args ){ 3 String status = ""; 4 int grade = 80; 5 //get status of the student 6 status = (grade >= 60)?"Passed":"Fail"; 7 //print status 8 System.out.println( status ); 9 } 10 }

La salida de este programa es, Passed

Fundamentos programacin Java

92

Operadores Lgicos: Conditional Operator (?:)

Fundamentos programacin Java

93

Prioridad y Asociatividad

Determinan el orden de evaluacin Los operadores se evalan en orden de prioridad Si dos operadores tienen la misma prioridad, se evalan segn asociatividad

Asociatividad izquierda-derecha significa que el operador a la izquierda se evala primero


Siempre se puede utilizar parntesis para cambiar el orden de evaluacin

Fundamentos programacin Java

94

Prioridad de Operadores
1 2 3 4 5 6 () + - ++ -- ! (tipo) * / % + - + > >= < <= == != parntesis sgn/inc/dec/NO/casting mult/div/resto ad/sust/concatenacin mayor/menor igual/distinto der-izq izq-der izq-der izq-der izq-der

7
8 9 10

^
&& || = += -= *= /= %=

O exclusiva
Y lgica O lgica asignacin

izq-der
izq-der izq-der der-izq

Fundamentos programacin Java

95

Prioridad de Operadores

Dada una expresin complicada, 6%2*5+4/2+88-10 podemos volver a escribir la expresin y colocar algunos parntesis basado el la prioridad de operadores, ((6%2)*5)+(4/2)+88-10;

Fundamentos programacin Java

96

Prioridad de Operadores: Directrices de codificacin

Para evitar confusiones en la evaluacin de las operaciones matemticas, mantener su uso de expresiones sencillas y parntesis .

Fundamentos programacin Java

97

Potrebbero piacerti anche