|
|
Línea 2: |
Línea 2: |
| {{:Usuario:ManuelRomero/CursoJavaUml/java/sintaxis/nav}} | | {{:Usuario:ManuelRomero/CursoJavaUml/java/sintaxis/nav}} |
| | | |
| + | {{#widget:Slides}} |
| + | <div class="slides layout-regular template-default"> |
| + | =ASIGNACIÓN Y EXPRESIONES EN JAVA= |
| + | <div class="slide"> |
| ===INSTRUCCION DE ASIGNACIÓN=== | | ===INSTRUCCION DE ASIGNACIÓN=== |
| El operador de asiganción es '''=''' | | El operador de asiganción es '''=''' |
Línea 7: |
Línea 11: |
| variable = expresion | | variable = expresion |
| El tipo de la variable y el de la expresión deben coincidir | | 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 |
| + | </div> |
| + | ====Asignación entre tipos==== |
| + | <div class="slide"> |
| + | Examine el siguiente código |
| + | <source lang=java> |
| + | public class AsignacionEnteros { |
| + | public static void main(String lista[]){ |
| + | int numEntero=10; |
| + | float numFloat; |
| + | numFloat=numEntero; //Java realiza la conversión |
| + | //numEntero=numFloat;//Comentamos esta línea ya que da Error |
| + | System.out.print("Valor de entero "+numEntero+" y de float "+numFloat); |
| + | }//End Main |
| + | }//End Caracteres |
| + | </source> |
| + | Genera la siguiente salida |
| + | Valor de entero 10 y de float 10.0 |
| + | ====Conversiones entre tipos==== |
| + | {| class="wikitable" |
| + | |+ CONVERSIONES IMPLÍCITAS |
| + | ! Tipo destino!! Se puede asignar este tipo |
| + | |- |
| + | | short, int, long, float, double|| byte |
| + | |- |
| + | | int, long, float, double ||short |
| + | |
| + | |- |
| + | | int, long, float, double ||char |
| + | |- |
| + | | long, float, double ||int |
| + | |- |
| + | | double ||long,float |
| + | |
| + | |} |
| | | |
| ====Asignacion entre objetos==== | | ====Asignacion entre objetos==== |
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
public class AsignacionEnteros {
public static void main(String lista[]){
int numEntero=10;
float numFloat;
numFloat=numEntero; //Java realiza la conversión
//numEntero=numFloat;//Comentamos esta línea ya que da Error
System.out.print("Valor de entero "+numEntero+" y de float "+numFloat);
}//End Main
}//End Caracteres
Genera la siguiente salida
Valor de entero 10 y de float 10.0
Conversiones entre tipos
CONVERSIONES IMPLÍCITAS
Tipo destino |
Se puede asignar este tipo
|
short, int, long, float, double |
byte
|
int, long, float, double |
short
|
int, long, float, double |
char
|
long, float, double |
int
|
double |
long,float
|
Asignacion entre objetos
import java.util.Scanner;
public class Definicion {
public static void main(String []a){
String nom;
Scanner l1,l2;
l1=new Scanner(System.in);
l2=l1; //En realidad son el mismo elemento ya que son la misma dirección de memoria
System.out.println("dame tu nombre que leeré con L2");
nom = l2.next(); //introduzco Manuel Romero Miguel Perez
System.out.println("Leyendo de L2 " +nom);// Visualiza Manuel
System.out.println("dame tu nombre L1");
nom=l1.next();//No espera ya que todavia tiene en el buffer Romero Miguel Perez
System.out.println("Leyendo de L1 " +nom); //Visualiza Romero
nom = l2.next();
System.out.println("Resto de L2 " +nom);//Visualiza Miguel
nom = l1.next();
System.out.println("Resto de L1 " +nom);//Visualiza Lopez
}
}
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
Pregunta
observamos la diferencia?
- ahora l1 y l2 son dos buffers diferente
- cada uno guarda historia de lo que almacea
|
la expresion
Un literal puede ser un valor de los siguientes tipos
numérico
boolean
false true
caracter
Literal entre comillas simples 'c'
Secuencia unicode \u064
Secuencia de escape \t