Clase iv
-
Upload
jose-angel-quintanilla-rosales -
Category
Documents
-
view
319 -
download
2
Transcript of Clase iv
![Page 1: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/1.jpg)
Programación de Sistemas
Lic. José Angel Quintanilla Rosales
Un programa bien escrito es su propio cielo; un programa mal escrito es su propio infierno. [Geoffrey James, El Tao
de la Programación]
![Page 2: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/2.jpg)
2
JAVA es un lenguaje interpretado
Compilador de java (específico x plataforma) javac P1.java
P1.java P1.class
Intérprete de java (específico x plataforma) java P1 (class)
Salida del Prog.
![Page 3: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/3.jpg)
3
Un primer programa en JAVA
public class Hello {
public static void main(String args[ ]) {
System.out.println(“Hola Mundo“);
}
}
● Todo programa es escrito como el método estático llamado main en una clase cualquiera
● Este método se empieza a ejecutar cuando se invoca el intérprete de java para una clase dada
● args es un arreglo de Strings que contiene los parámetros
● con los que fué invocado el programa.
![Page 4: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/4.jpg)
Ámbitos
Ambito
![Page 5: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/5.jpg)
Visibilidad
● Visibilidad: parte de programa en el que una variable es accesible sin ser calificada
● Las variables se pueden ocultar por otras con el mismo nombre en ámbitos más anidados
![Page 6: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/6.jpg)
Visibilidad
Int a
Int a
Int a Int a
¿a?
Visibilidad
![Page 7: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/7.jpg)
Variables
public class Basic { public static void main(String[] args) { int sum = 0; for (int current = 1; current <= 10; current++) { sum += current; } System.out.println("Sum = " + sum); }}
Basic¿Cúal es? ¿Qué tipo tienen? Alcance
![Page 8: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/8.jpg)
Variables
public class Basic { public static void main(String[] args) { int sum = 0; for (int current = 1; current <= 10; current++) { sum += current; } System.out.println("Sum = " + sum); }}
Basic¿Cúal es? ¿Qué tipo tienen? Alcance
![Page 9: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/9.jpg)
Variables
public class Basic { public static void main(String[] args) { int sum = 0; for (int current = 1; current <= 10; current++) { sum += current; } System.out.println("Sum = " + sum); }}
Basic¿Cúal es? ¿Qué tipo tienen? Alcance
![Page 10: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/10.jpg)
Operadores
● Unariosop1 operatoroperator op1
● Binariosop1 operator op2
● Ternariosop1 operator1 op2 operator2 op3
![Page 11: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/11.jpg)
Operadores aritméticos
● Binarios– Suma: op1 + op2– Resta: op1 – op2– Multiplicacion: op1 * op2– Divisió n: op1 / op2– Mó dulo: op1 % op2
OperadoresAritmeticos
![Page 12: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/12.jpg)
Operadores aritméticos
● Operaciones con enteros y reales
● El resultado depende de los operadores– Algún double -> double– Algún float -> float– Algún long -> long– Si no, int
![Page 13: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/13.jpg)
Operadores aritméticos
● Unarios– Número negativo (-2, -123)– Convierte byte y short en int (+2, +65)
● Suma / resta unaria– ++op1– op1++– --op1– op1--
![Page 14: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/14.jpg)
Operadores de comparación
● Devuelven booleanos– Igualdad: op1 == op2– Desigualdad: op1 != op2– Mayor que: op1 > op2– Mayor o igual que: op1 >= op2– Menor que: op1 < op2– Menor o igual que: op1 <= op2
OperadoresComparacion
![Page 15: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/15.jpg)
Operadores de comparación
● Mucho cuidado con la igualdad
● Cuando se comparan variables referencia, se compara si ambos objetos son el mismo, no si son iguales (tienen el mismo estado)
● Error típico
OperadoresComparacion
![Page 16: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/16.jpg)
Operadores booleanos
● Operan sobre booleanos y devuelven booleanos– AND: op1 && op2– OR: op1 || op2– NOT: !op1– XOR: op1 ^ op2
![Page 17: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/17.jpg)
Operadores booleanos
● Java só lo evalúa si es necesario
● Si el primer operando de un AND es false, no evalúa el segundo y devuelve false– Lo mismo con OR
● Para obligar a evaluar el segundo operando, usar & (AND) y | (OR)
OperadoresBooleanos
![Page 18: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/18.jpg)
Operadores de desplazamiento
● Opera sobre enteros y devuelve enteros– Desplazar a izquierda: op1 << num– Desplazar a derecha
op1 >> num (extiende signo)op1 >>> num (no extiende signo)
OperadoresDesplazamiento
![Page 19: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/19.jpg)
Operadores lógicos
● Operan sobre bits de los enteros– AND: op1 & op2– OR: op1 | op2– XOR: op1 ^ op2– Complemento: ~op1
OperadoresBinarios
![Page 20: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/20.jpg)
Operadores de asignación
● Asigna el valor de una variable a otra– op1 = op2
● Deben ser compatibles en tipo– Enteros, reales, carácter– Misma clase o subclases
● Al asignar variables referencia, no se hace una copia del objeto
![Page 21: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/21.jpg)
Operadores de asignación
● Asignació n con operació n
op1 = op1 operador op2 (a = a + b)
op1 operador= op2 (a += b)
● +, -, *, /, %, &, |, ^, <<, >>, >>>
![Page 22: Clase iv](https://reader033.fdocuments.net/reader033/viewer/2022052909/559917fa1a28abca478b45a2/html5/thumbnails/22.jpg)
Otros operadores
● ?: (if-then-else)if (a == b) then c else d;a == b ? c : d
● [] - indexació n de arrays
● . (punto): acceso a métodos y variables
● (): para especificar los argumentos a métodos