Usuario:ManuelRomero/expresiones

=ASIGNACIÓN Y EXPRESIONES EN JAVA=

INSTRUCCION DE ASIGNACIÓN
El operador de asiganción es = La sintaxis es variable = expresion El tipo de la variable y el de la expresión deben coincidir En algunos casos que veremos java realiza una conversión implícita int numEntero = 19; float numFloat; numFloat=numEntero //Java realiza la conversión numEntero=numFloat;//Error no deja realizar esta conversion

Asignación entre tipos
Examine el siguiente código Genera la siguiente salida Valor de entero 10 y de float 10.0

Conversiones entre tipos

 * Las conversiones implícitas se realizan en la asignación
 * También tienen lugar en las operaciones aritméticas

Conversiones por cast
la sintaxis para esta conversion es (tipo_a_convertir)expresion vamos a considerar expresión un valor o una variable Analicemos el siguiente código
 * Este tipos de conversiones se fuerzan

Asignación entre objetos
Salida del código anterior dame tu nombre que leeré con L2 Manuel Romero Miguel Pérez Leyendo de L2 Manuel dame tu nombre L1 Leyendo de L1 Romero Resto de L2 Miguel Resto de L1 Pérez Probar a que l1 y l2 sean dos objetos diferentes l1=new Scanner(System.in); l2=new Scanner(System.in); Y no hacemos la asignacion l2=l1

la expresion
Tipos de expresiones
 * 1) un literal
 * 2) expresion booelana
 * 3) expresion aritmética

Un literal
Es un valor directo Pueden ser de los siguientes tipos
 * 1) literal entero
 * 2) literal real
 * 3) literal caracter
 * 4) literal cadena de caracteres String

Literales enteros
Se pueden expresar en 3 sistemas numéricos diferentes Sistema decimal sistema octal sistema hexadecimal

Literales long
Simplemente le acompañamos al literla de L long num = 100L;

Literales de números reales
double v = 300000.0; // notación normal double v = 3.0e+5;    // notación -científica double v = 3.0E+5;    // notación -científica El signifiado de v en notación científica es $$3.0 * 10 ^5$$ v=30000D; v=30000d; float a; a=3009F; a=3002f;
 * Para representar números reales una de dos opciones
 * introducimos el punto decimal ç
 * utilizamos la notación científica. Por ejemplo:

Literales char
char caracter = 'l'; char caracter ='\u0064'; El primer byte de la codificación Unicode es la misma que el código ASCII
 * El valor de esta varialbe es un código Unicode.
 * En el código ASCII había escasez de caracteres para cierto alfabetos
 * Un literal de tipo char se expresa encerrando el carácter entre comillas simples:
 * Alternativamente se puede expresar directamente con el código Unicode en hexadecimal
 * Por ejemplo el 64 en hexadecimal es 0x40

Caracteres especiales
Lo forman dos conjuntos de caracteres %d entero %o entero en octal %f float %t date %c caracter
 * secuencias de escape
 * empiezan por el caracter \
 * se pueden incluir en cualquier cadena de caracteres literal
 * tendrán el significado asociado
 * la lista son \n \r \t \f \\ \' \" \b
 * especificadores de tipo y/o formato
 * *Se usan para método con formato
 * también para el método System.out.printf

Literales boolean
true false
 * tiene dos valores
 * Forman parte de las palabras reservadas del lenguaje
 * No es puede realizar conversiones con tipos entero como ocurre en lenguajes como c

Literales String
String es una clase de java.util Como clase que es tiene métodos que iremos estudiando Un valor String se expresa entre cadena de caracters dobles Existe el operador + sobrecargado para concatenar String

String curso = "Programador de aplicaciones orientada a objetos";

Ejemplos de valores literales
=Las expresiones= Una expresión la definimos como un predicado con operandos y operadores susceptible de ser evaluada y retornar un valor de un determinado tipo
 * La expresion tiene
 * 1) tipo en función de los operandos y operadores
 * 2) operando/s en función del tipo de expresion
 * 3) operadores en función del operando
 * A continuación estudiaremos los operandos, puesto que los operadores son valores ya vistosç

Operador de asignación
=

Operadores aritméticos
a=-8 (entera si los operandos son enteros y real si son reales 5/6=0 5.0/6.0=0.83
 * Realizan las operaciones aritméticas básicas:
 * Son operaciones binarias
 * suma (+)
 * resta (-) también el operador unario cambio de signo
 * multiplicación (*)
 * división (/)ç
 * módulo (%)

Asignación y operación en la misma instrucción
En la asignación puedo aplicar una operación con la propia variable asignándole a la misma el resultado a+=1; ==> a=a+a ==> a++ ==> ++a b-=a;== b=b-a; c*=8;==>c=c*8; d%=6;==>d=d%6 b/=2;==> b=b/2

Operacores Relacionales

 * En java disponemos de los operadores relacionales
 * Son expresiones que tienen un tipo booleano asociado
 * Estos operadores verificas si se cumple o no una comparación entre términos
 * Una expresión relacional me devuelve un valor booleano
 * true si la condición de comparación es cierta
 * false en caso de que no sea cierta

Aquí tenemos un programa para ver el funcionamiento de estos operadores :

public class relaciones { public static void main(String args[]){ int   i = -3; byte  b = 5; float f = 1e-10f; double d = 3.14; boolean b1 = i > i;      boolean b2 = i < b;       boolean b3 = b <= f;       boolean b4 = f >= d;       boolean b5 = d != 0; boolean b6 = 1 == f;

System.out.println("b1: " + i + " > " + i + " = " + b1); System.out.println("b2: " + i + " < " + b + " = " + b2); System.out.println("b3: " + b + " <= " + f + " = " + b3); System.out.println("b4: " + f + " >= " + d + " = " + b4); System.out.println("b5: " + d + " != " + 0 + " = " + b5); System.out.println("b6: " + 1 + " == " + f + " = " + b6); }

}


 * Los caracteres también se pueden comparar
 * Internamente están almacenados con el código unicode numérico

char a = 'A'; char b = 'B'; boolean x = a > b;

Entre los booleanos solo se permiten los operadores de equivalencia, es igual (==) o es distinto (!= )

boolean x = true; boolean y = x == x; boolean z = x != y;

Expresiones Booleanas con operadores booleanas
Como deben suponer, trabajan con operandos booleanos. Realizan las operaciones lógicas de conjunción (AND), disyunción (OR), negación (NOT) y la disyunción exclusiva (XOR).
 * Otro tipo de expresion booleana nos la dan las expresiones en las que intervienen operadores booleanos
 * En la tabla siguiente se muestran los operadores booleanos
 * es muy importante ver la diferencia entre & (no cortocircutado) y && (funciona con cortocircuito)