SlideShare una empresa de Scribd logo
1 de 22
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]
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.
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.
Ámbitos
Ambito
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
Visibilidad
Int a
Int a
Int a Int a
¿a?
Visibilidad
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
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
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
Operadores
●
Unarios
op1 operator
operator op1
●
Binarios
op1 operator op2
●
Ternarios
op1 operator1 op2 operator2 op3
Operadores aritméticos
●
Binarios
– Suma: op1 + op2
– Resta: op1 – op2
– Multiplicacion: op1 * op2
– Divisió n: op1 / op2
– Mó dulo: op1 % op2
OperadoresAritmetico
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
Operadores aritméticos
●
Unarios
– Número negativo (-2, -123)
– Convierte byte y short en int (+2, +65)
●
Suma / resta unaria
– ++op1
– op1++
– --op1
– op1--
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
OperadoresComparacio
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
OperadoresComparacio
Operadores booleanos
●
Operan sobre booleanos y devuelven
booleanos
– AND: op1 && op2
– OR: op1 || op2
– NOT: !op1
– XOR: op1 ^ op2
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)
OperadoresBooleano
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)
OperadoresDesplazamient
Operadores lógicos
●
Operan sobre bits de los enteros
– AND: op1 & op2
– OR: op1 | op2
– XOR: op1 ^ op2
– Complemento: ~op1
OperadoresBinario
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
Operadores de asignación
●
Asignació n con operació n
op1 = op1 operador op2 (a = a + b)
op1 operador= op2 (a += b)
●
+, -, *, /, %, &, |, ^, <<, >>, >>>
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

Más contenido relacionado

La actualidad más candente

Métodos en programacion
Métodos en  programacionMétodos en  programacion
Métodos en programacioncrisricguepi
 
Fundamentos de Electrónica Digital
Fundamentos de Electrónica DigitalFundamentos de Electrónica Digital
Fundamentos de Electrónica DigitalAngeleins
 
Seccion Fundamentos SCJP
Seccion Fundamentos SCJPSeccion Fundamentos SCJP
Seccion Fundamentos SCJPjcherrera
 
Trabajo de programacion
Trabajo de programacionTrabajo de programacion
Trabajo de programacionines1307
 
COmpuertas LÓgicas.
COmpuertas LÓgicas.COmpuertas LÓgicas.
COmpuertas LÓgicas.jengibre
 
comandos
comandoscomandos
comandosarecerv
 
Ensayo pilas-estructura-dtos
Ensayo pilas-estructura-dtosEnsayo pilas-estructura-dtos
Ensayo pilas-estructura-dtosCris Arevalo
 
compuertas logicas
compuertas logicascompuertas logicas
compuertas logicaspaul
 
Instituto sudamericano compuertas logicas
Instituto sudamericano compuertas logicasInstituto sudamericano compuertas logicas
Instituto sudamericano compuertas logicasjuan cifuentes
 
Sincronizacion de procesos
Sincronizacion de procesosSincronizacion de procesos
Sincronizacion de procesoskruskaya salazar
 

La actualidad más candente (18)

Métodos en programacion
Métodos en  programacionMétodos en  programacion
Métodos en programacion
 
Expresiones y control del flujo Java
Expresiones y control del flujo JavaExpresiones y control del flujo Java
Expresiones y control del flujo Java
 
Fundamentos de Electrónica Digital
Fundamentos de Electrónica DigitalFundamentos de Electrónica Digital
Fundamentos de Electrónica Digital
 
The billion dollar mistake
The billion dollar mistakeThe billion dollar mistake
The billion dollar mistake
 
Seccion Fundamentos SCJP
Seccion Fundamentos SCJPSeccion Fundamentos SCJP
Seccion Fundamentos SCJP
 
Circuito combinacional
Circuito combinacionalCircuito combinacional
Circuito combinacional
 
Trabajo de programacion
Trabajo de programacionTrabajo de programacion
Trabajo de programacion
 
COmpuertas LÓgicas.
COmpuertas LÓgicas.COmpuertas LÓgicas.
COmpuertas LÓgicas.
 
comandos
comandoscomandos
comandos
 
Ensayo pilas-estructura-dtos
Ensayo pilas-estructura-dtosEnsayo pilas-estructura-dtos
Ensayo pilas-estructura-dtos
 
compuertas logicas
compuertas logicascompuertas logicas
compuertas logicas
 
electronica digital
electronica digitalelectronica digital
electronica digital
 
Instituto sudamericano compuertas logicas
Instituto sudamericano compuertas logicasInstituto sudamericano compuertas logicas
Instituto sudamericano compuertas logicas
 
Maquinas de estado finito
Maquinas de estado finitoMaquinas de estado finito
Maquinas de estado finito
 
Sincronizacion de procesos
Sincronizacion de procesosSincronizacion de procesos
Sincronizacion de procesos
 
Procesos
ProcesosProcesos
Procesos
 
Articulo
ArticuloArticulo
Articulo
 
C ircuitosintegrados
C ircuitosintegradosC ircuitosintegrados
C ircuitosintegrados
 

Destacado

Hsp2014 shinjuku 20140316
Hsp2014 shinjuku 20140316Hsp2014 shinjuku 20140316
Hsp2014 shinjuku 20140316YutakaTanabe
 
Slaideshare tipos de operadores
Slaideshare tipos de operadoresSlaideshare tipos de operadores
Slaideshare tipos de operadoresMary Guaman
 
Tema 1 Datos y tipos de datos
Tema 1    Datos y tipos de datosTema 1    Datos y tipos de datos
Tema 1 Datos y tipos de datosrufiflores0469
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacionAlfonso
 
Developers.IO 2016 F-1 セッション資料
Developers.IO 2016 F-1 セッション資料Developers.IO 2016 F-1 セッション資料
Developers.IO 2016 F-1 セッション資料Shinichi Hirauchi
 
Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」
Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」
Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」morisshi
 
2015年国内VC環境レポート
2015年国内VC環境レポート2015年国内VC環境レポート
2015年国内VC環境レポートYusuke Murata
 
Marketing Astigmatism - 2 -
Marketing Astigmatism - 2 -Marketing Astigmatism - 2 -
Marketing Astigmatism - 2 -TAKA KONDO
 
Marketing astigmatism - 概要
Marketing astigmatism - 概要Marketing astigmatism - 概要
Marketing astigmatism - 概要TAKA KONDO
 

Destacado (13)

Hsp2014 shinjuku 20140316
Hsp2014 shinjuku 20140316Hsp2014 shinjuku 20140316
Hsp2014 shinjuku 20140316
 
Slaideshare tipos de operadores
Slaideshare tipos de operadoresSlaideshare tipos de operadores
Slaideshare tipos de operadores
 
Clasificación y Tipos de Datos
Clasificación y Tipos de DatosClasificación y Tipos de Datos
Clasificación y Tipos de Datos
 
Operadores
OperadoresOperadores
Operadores
 
Tema 1 Datos y tipos de datos
Tema 1    Datos y tipos de datosTema 1    Datos y tipos de datos
Tema 1 Datos y tipos de datos
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacion
 
151031slide
151031slide151031slide
151031slide
 
Tipos De Datos
Tipos De DatosTipos De Datos
Tipos De Datos
 
Developers.IO 2016 F-1 セッション資料
Developers.IO 2016 F-1 セッション資料Developers.IO 2016 F-1 セッション資料
Developers.IO 2016 F-1 セッション資料
 
Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」
Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」
Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」
 
2015年国内VC環境レポート
2015年国内VC環境レポート2015年国内VC環境レポート
2015年国内VC環境レポート
 
Marketing Astigmatism - 2 -
Marketing Astigmatism - 2 -Marketing Astigmatism - 2 -
Marketing Astigmatism - 2 -
 
Marketing astigmatism - 概要
Marketing astigmatism - 概要Marketing astigmatism - 概要
Marketing astigmatism - 概要
 

Similar a Clase iv

Similar a Clase iv (20)

El Lenguaje de Programacipon java.
El Lenguaje de Programacipon java.El Lenguaje de Programacipon java.
El Lenguaje de Programacipon java.
 
Estructuras control java-
Estructuras control java-Estructuras control java-
Estructuras control java-
 
Leccion 2 Java
Leccion 2 JavaLeccion 2 Java
Leccion 2 Java
 
Python
Python Python
Python
 
C:\Fakepath\Python}
C:\Fakepath\Python}C:\Fakepath\Python}
C:\Fakepath\Python}
 
Python}
Python}Python}
Python}
 
presentacion sobre operadores en java y su uso.
presentacion sobre operadores en java y su uso.presentacion sobre operadores en java y su uso.
presentacion sobre operadores en java y su uso.
 
Clase 3b - Expresiones lógicas.pptx
Clase 3b - Expresiones lógicas.pptxClase 3b - Expresiones lógicas.pptx
Clase 3b - Expresiones lógicas.pptx
 
Java8 : Más allá de las Expresiones Lambdas
Java8 :  Más allá de las Expresiones LambdasJava8 :  Más allá de las Expresiones Lambdas
Java8 : Más allá de las Expresiones Lambdas
 
Operadores
OperadoresOperadores
Operadores
 
Operadores
OperadoresOperadores
Operadores
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Laboratorio # 1 introducción a arduino
Laboratorio # 1   introducción a arduinoLaboratorio # 1   introducción a arduino
Laboratorio # 1 introducción a arduino
 
Java 8
Java 8Java 8
Java 8
 
Clase 2
Clase 2Clase 2
Clase 2
 
Semana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfSemana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdf
 
Investigacion tipos de operadores en programacion
Investigacion tipos de operadores en programacionInvestigacion tipos de operadores en programacion
Investigacion tipos de operadores en programacion
 
Diapositivas de JAVA
Diapositivas de JAVADiapositivas de JAVA
Diapositivas de JAVA
 
Java12
Java12Java12
Java12
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptx
 

Más de José Angel Quintanilla Rosales (20)

Presentación de Moviles
Presentación de MovilesPresentación de Moviles
Presentación de Moviles
 
Clase iv
Clase ivClase iv
Clase iv
 
Clase III
Clase IIIClase III
Clase III
 
Clase ii
Clase iiClase ii
Clase ii
 
Clase I
Clase IClase I
Clase I
 
Clase xiv
Clase xivClase xiv
Clase xiv
 
Clase xiii
Clase xiiiClase xiii
Clase xiii
 
Clase xii
Clase xiiClase xii
Clase xii
 
Clase xi
Clase xiClase xi
Clase xi
 
Clase x
Clase xClase x
Clase x
 
Clase IX
Clase IXClase IX
Clase IX
 
Clase viii
Clase viiiClase viii
Clase viii
 
Clase vii
Clase viiClase vii
Clase vii
 
Clase vi
Clase viClase vi
Clase vi
 
Clase v
Clase vClase v
Clase v
 
Clase 3
Clase 3Clase 3
Clase 3
 
Clase ii
Clase iiClase ii
Clase ii
 
Programación de sistemas
Programación de sistemasProgramación de sistemas
Programación de sistemas
 
Excel iii
Excel iiiExcel iii
Excel iii
 
Excel ii
Excel iiExcel ii
Excel ii
 

Clase iv

  • 1. 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]
  • 2. 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.
  • 3. 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.
  • 5. 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
  • 6. Visibilidad Int a Int a Int a Int a ¿a? Visibilidad
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. Operadores ● Unarios op1 operator operator op1 ● Binarios op1 operator op2 ● Ternarios op1 operator1 op2 operator2 op3
  • 11. Operadores aritméticos ● Binarios – Suma: op1 + op2 – Resta: op1 – op2 – Multiplicacion: op1 * op2 – Divisió n: op1 / op2 – Mó dulo: op1 % op2 OperadoresAritmetico
  • 12. 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
  • 13. Operadores aritméticos ● Unarios – Número negativo (-2, -123) – Convierte byte y short en int (+2, +65) ● Suma / resta unaria – ++op1 – op1++ – --op1 – op1--
  • 14. 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 OperadoresComparacio
  • 15. 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 OperadoresComparacio
  • 16. Operadores booleanos ● Operan sobre booleanos y devuelven booleanos – AND: op1 && op2 – OR: op1 || op2 – NOT: !op1 – XOR: op1 ^ op2
  • 17. 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) OperadoresBooleano
  • 18. 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) OperadoresDesplazamient
  • 19. Operadores lógicos ● Operan sobre bits de los enteros – AND: op1 & op2 – OR: op1 | op2 – XOR: op1 ^ op2 – Complemento: ~op1 OperadoresBinario
  • 20. 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
  • 21. Operadores de asignación ● Asignació n con operació n op1 = op1 operador op2 (a = a + b) op1 operador= op2 (a += b) ● +, -, *, /, %, &, |, ^, <<, >>, >>>
  • 22. 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