0% encontró este documento útil (0 votos)
3 vistas

Resumen Programación II (Lenguaje Java)

El documento compara el lenguaje de programación Java con C, destacando sus similitudes y diferencias, como la declaración de variables y el manejo de arreglos y cadenas. Además, se describen conceptos básicos de Java, la estructura de un programa, la compilación y ejecución, así como la importancia de la Máquina Virtual Java (JVM) para la portabilidad del bytecode. También se abordan características de un proyecto Java, la definición y uso de métodos, y el alcance de variables.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas

Resumen Programación II (Lenguaje Java)

El documento compara el lenguaje de programación Java con C, destacando sus similitudes y diferencias, como la declaración de variables y el manejo de arreglos y cadenas. Además, se describen conceptos básicos de Java, la estructura de un programa, la compilación y ejecución, así como la importancia de la Máquina Virtual Java (JVM) para la portabilidad del bytecode. También se abordan características de un proyecto Java, la definición y uso de métodos, y el alcance de variables.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

PROGRAMA "HOLA MUNDO" EN JAVA,

LENGUAJE JAVA COMPARADO CON C:


Lenguaje C Lenguaje Java
package holamundo;
1. CONCEPTOS BÁSICOS DE JAVA
public class HolaMundo {
Java es un lenguaje de la familia C, significa que tiene una
//el nombre de esta
gramática similar para representar variables, sentencias #include clase es el mismo que el
de selección, ciclos y el equivalente a las funciones que <stdio.h> del archivo
desde ahora, en Java, llamaremos métodos. Tiene algunas int main(int
argc, char * public static void
diferencias con C, pero a nivel básico son pocas:
argv[]){ main(String[] args) {
➢ Agrega variables booleanas: boolean printf("hola System.out.println("hola
NombreVariable; //únicos valores true, false mundo\n"); mundo");
➢ Los arreglos se declaran de otra manera e }
incluyen una variable que siempre tiene el //alternativa:
System.out.print("hola
tamaño de este mundo\n");
➢ Los strings no se manejan como arreglos en C, y }
tienen una forma declaración particular }
➢ Los punteros existen, pero no su aritmética, su
declaración y uso son más simples
➢ Los objetos se pueden crear dinámicamente en • El archivo puede • El archivo debe tener el
tener cualquier nombre HolaMundo.java, que
tiempo de ejecución
nombre con también es el nombre del
➢ A las descripciones de objetos en programas extensión .c proyecto en NetBeans
fuentes se les llama clases • printf lleva • System.out.print[ln] no lleva
➢ Una clase de objeto es la descripción de objetos formato formato, pero no usaremos
con las mismas propiedades y capacidades mucho entrada/salida
➢ Una clase incluye variables globales y métodos: estándar en el curso, sólo
propiedades y capacidades salida al principio
• La palabra static, en el
Java es un lenguaje interpretado, orientado a la red, y que método main, tiene un
significado diferente que en
sea interpretado quiere decir que hay un programa
lenguaje C
llamado Máquina Virtual Java (JVM) que es capaz de
• public significa main que es
ejecutar las instrucciones simulando ser un hardware. "visible" para otras clases de
Esta máquina virtual ejecuta instrucciones en bytecode, objetos
que es el equivalente a programa ejecutable en
instrucciones de una máquina real. Observa: que el método main va
dentro de una estructura de
El bytecode es el resultado de compilar el programa clase:
fuente Java: class NombreClase {

}
Programa fuente java: Nombre.java

Bytecode ejecutable: Nombre.class Regla:


- Dentro de un archivo .java pueden ir varias clases
Este programa en bytecode es portable: independiente del - Si van varias clases, sólo una clase debe tener la
palabra public delante de class: la que tiene el mismo
hardware y Sistema Operativo, basta que el computador
nombre del archivo
tenga instalada la JVM para ese sistema operativo. Esta Nota : Cada clase tiene sus propias variables globales
característica no la tiene C ni el lenguaje OO C++. (propiedades) y sus propios métodos (capacidades).
2. CARACTERÍSTICAS DE UN PROYECTO JAVA 3. COMPILAR Y EJECUTAR
Se compone de packages y bibliotecas:
➢ Un package que equivale a una carpeta con Código fuente (.java)
archivos fuentes de extensión .java relacionados
bajo algún criterio de la aplicación
➢ Al crear un proyecto, se crea una package por Comando que compila
defecto con el nombre del proyecto en minúscula
➢ Un package es un conjunto de clases que tienen javac
afinidad entre ellas dentro de un proyecto,
ejemplo: partes de un motor, utensilios de cocina,
etc.
➢ Un package como carpeta:
NombreProyecto > src > nombrePackage > archivos.java Byte code (.class)

➢ Para que se puedan usar clases de otros Comando que ordena al


packages del mismo proyecto, estas deben ser interprete a ejecutar el
public bytecode (ejecutable)

➢ Clases no public que van dentro de un archivo de java


varias clases no se ven desde otro package

Dentro de un archivo con extensión .java:


4. RELACIÓN ENTRE C Y JAVA
o Una clase con el mismo nombre del archivo
declarada “public”, visible desde los otros
packages del mismo proyecto • Declaración de
variables
o Otras clases, visibles sólo por las clases del
• Estructuras de control
archivo y package, NO llevan la palabra “public”
• Expresiones
(son privado) Hereda la sintaxis de C Matemáticas
O “Interfaces” • Pasaje de parámetros
• Se usa ; para terminar
Fuera del cuerpo de la clase: una línea de
• Línea package: al que pertenece dentro de la instrucciones
clase • Clases
Agrega varias cosas • Interfaces
• Líneas import: para acceder a clases de • Privacidad
biblioteca o a clases de otros packages del • Etc
mismo Elimina cosas • Estructuras
• Aritmética de punteros
Dentro del cuerpo de la clase: • Etc
▪ Variables de clase: representan propiedades Modifica algunas cosas • Simplifica el uso de
▪ Métodos: representan capacidades, operan punteros
• Simplifica el uso de
sobre las propiedades
arreglos
▪ Clases internas: dentro del cuerpo de la clase
• Las funciones pasan a
contenedora llamarse métodos
• Etc
5. ESTRUCTURA DE UN PROGRAMA 9. MÉTODOS

public class MyClass { Son lo mismo que las funciones de C, pero pueden llevar
modificadores antes del tipo de retorno.
public static void main(String[] arguments){
SENTENCIAS Definición del método main:
} public static void main(String[] arguments) {
} System.out.println(“hola”);
Como en C, la ejecución empieza por la ejecución main y }
main se declara con algunas diferencias: • public : accesible desde cualquier lugar del código
• Un sólo parámetro, está implícito el número de
argumentos • static : permite acceder a métodos y campos sin
• Tiene unos modificadores y tipo de retorno void instanciar objetos
• Va dentro de una estructura class, el ambiente IntelliJ
genera esta automáticamente, tu sólo completas • String[] arguments : para recibir argumentos desde la
línea de comandos, arreglo de String (java MiPrograma
6. TIPOS (PRIMITIVOS) arg1 arg2 arg3)
Tipos de valores que pueden ser almacenados y Definición de un método en Java:
manipulados:
public void NOMBRE() {
• boolean: true, false
SENTENCIAS
• int: Entero (Ej: 0, 1, -47) }
• double, float: Número Real (Ej: 3.14, 1.0, -2.1) Para llamar un método: NOMBRE();
Los métodos pertenecen a una clase
• char: Carácter unicode
• String: Texto (“hola”, “ejemplo”). //diferente del string C 10. PARÁMETROS

♦ String es una excepción entre las clases de Definición de un método estático con parámetros:
objetos de Java
public static void NOMBRE(TIPO NOMBRE, TIPO2
♦ Tiene un trato especial como objeto NOMBRE2,…){
Las variables se localizan con nombre, y estas almacenan SENTENCIAS
un valor de un tipo dado: }
Forma: Tipo Nombre Ej: String Nombre Para llamar:
Para asignar un valor a una variable, se hace con el NOMBRE(EXPRESIÓN);
símbolo = suma(1,2);
suma(5+4,1-2);
7. SALIDA suma(a,b);
System.out.println(String); imprime en la consola Se pasan por valor:
• Se copia el valor actual de la variable y se envía a el
Ej: System.out.println(“salida”); método
System.out.print(“salida”); //Sin salto de línea
• Se trabaja con una copia independiente del valor
8. STRING original
• Cualquier cambio realizado en la copia no afecta la
En Java, los strings o cadenas son un objeto especial variable original fuera del método
Ej: String text = "hola" + " mundo";
text = text + " numero " + 5;
// text = “hola mundo numero 5"
Ej: String a = "aeiou";
System.out.println(a.length()) //imprime largo del String,
, se llama el metodo length del objeto a
11. VALOR DE RETORNO 14. ALCANCE DE VARIABLES (SCOPE)

Definición de método estático que retorna un valor: Las variables viven en el bloque ({}) donde ellas fueron
public static TIPO NOMBRE() { definidas (scope).
SENTENCIAS Los parámetros de los métodos son lo mismo que definir
return EXPRESIÓN; nuevas variables en los métodos.
} Hay un scope de clase.
Ej: public class Scope {
Ejemplos Diferencias
No realiza ninguna acción public static void main(String[] arguments){
public static int dame5() { visible, pero devuelve un int x = 5;
return 5; valor (el número 5) que if (x == 5){
} puede ser almacenado y
x = 6;
utilizado posteriormente
en el programa int y = 72;
Realiza una acción System.out.println("x = " + x + " y = " + y);
public static void print5() { (imprimir en la consola) }
System.out.println(“5”); pero no devuelve ningún System.out.println("x = " + x + " y = " + y); // /!\
} valor }
}
void significa “no tipo”
15. CONDICIONALES
12. LLAMAR MÉTODOS (STATIC) DE UNA CLASE
If Else if
Ej: class Operaciones {
if (CONDITION) {
public static double cuadrado(double x){
SENTENCIAS
return x*x; } else if (CONDITION) {
} if (CONDICIÓN) { SENTENCIAS
} SENTENCIAS } else if (CONDITION) {
} SENTENCIAS
public static void main(String[] arguments){ } else {
SENTENCIAS
System.out.println(Operaciones.cuadrado(5));
}
}
16. CICLOS (LOOPS)
13. RECURSIVIDAD
Ej: public static int suma(int hasta) { Tipo Definición Ejemplo
if (hasta > 0) { //Condición de parada (sin eso bucle int i = 0;
infinito) while (condición) { while (i < 4) {
return hasta + suma(hasta - 1); While sentencias System.out.println(i);
} else { } i++;
return 0; }
int i = 0;
}
do { //se ejecuta a
} Do - do { // Bloque de mínimo una vez
• Si llamamos a suma(5) : 5 + suma(4) : 5 + (4 + suma(3))… While código a ejecutar } System.out.println(i);
5 + 4 + 3 + 2 +1 + 0 while (condición); i++;
• La recursión es poderosa y elegante, pero debes tener }
cuidado al usarla, debes asegurarte de que terminará y while (i < 5);
no sobrecargará la pila de métodos (dando errores de for
(inicialización;condici for (int i = 0; i < 4; i++) {
memoria)
For ón;actualización){ System.out.println(i);
sentencias }
}
17. COMPARACIONES MATERIA PA3P “SEMANA 1”
En Java se usa la palabra "método" para referirse a lo que
x>y x<y x>=y x<=y x==y x!=y en C se le llama "función". Mucho de lo que sabes sobre el
uso de "funciones" en C es aplicable a los "metodos"
18.OPERADORES BOOLEANOS
(parametros, retorno, etc).
Una aplicación Java es un programa que inicia su
&& : AND || : OR ! : NOT
ejecución llamando al "metodo" main, que es el
19. ARREGLOS equivalente a la funcion main de un programa C.

Un arreglo es una lista de variables indexadas, se puede


♦ La diferencia principal con C es que Java es un lenguaje
hacer un arreglo de cualquier tipo, y todos los elementos
orientado al objeto, por este motivo, el "metodo main"
del arreglo deben ser del mismo tipo.
esta incluido dentro del cuerpo de una "clase" como
Ej de arreglos de double: sucede con el siguiente caso de programa minimo
ejemplo:
double[] nums = {9.01, 3.44, -5.2,…};
double[] nums = new double[]{9.01, 3.44, -5.2,…};}; public class Main { //linea inicio de la
double[] nums = new double[20]; clase
public static void main(String[] args){
nums[0] = 9.01; //las sentencias del metodo van en
este lugar
Índice de arreglos: }
} //linea fin de la clase
El índice parte en cero y termina en length-1.
length: campo int con número de elementos ♦ Java exige que el archivo se llame igual que la clase
declarada como "public", en el ejemplo arriba el archivo
Ej: int[] valores = new int[5];
se llamaria "A.java" y este se encontraría en la carpeta:
valores[0] = 12; // CORRECTO
(ruta que ha elegido) -+
valores[4] = 12; // CORRECTO
|-(nombre proyecto que ha elegido) -+
valores[5] = 12; // MALO!! compila pero genera una . .
.. excepción en tiempo de ejecución |- src -+ //carpeta
Creación de arreglos: de archivos fuente

Para crear un arreglo de un tamaño dado, use el operador |- main -+ //origen de la aplicación
new : |- org.example -+
//paquete por defecto (podría tener otro
int[] values = new int[5];
nombre)
o puedes usar una variable para especificar tamaño: |-Main.java
//archivo en el que esta método main y la
int size = 12; clase Main (podría tener otro nombre de
int[] values = new int[size]; clase, como A o Ejercicio1 por ejemplo)
Arreglo multidimensional:
• Todos los métodos deben estar dentro del cuerpo de una
Ej 1: int[][] R=new int[2][3]; //inicializar elementos . .
"clase", en una clase puede haber varios "métodos" y
.. después
una aplicación puede estar compuesta de varias clases.
Ej 2: int[][] R={{1,2,3},{4,5,6}};//inicializa en declaración • El nombre de la clase usado en el enunciado mas arriba
System.out.println(R.length+"--"+R[0].length); es "Main". Los nombres son identificadores
alfanuméricos. Aunque no es obligatorio, por
Número de filas Número de convención los nombres se inician con mayúscula.
Arreglos en memoria: columnas fila cero • En Intellij debes crear un proyecto maven, que generará
Los nombres de los arreglos son punteros. automáticamente el Main.
Punteros: variables que contienen la dirección en
memoria de algo
• Los nombres de las clases usados en los enunciados de • En java, para declarar un arreglo con valores iniciales se
problemas de esta PA3P puedes cambiarlos por otros a puede hacer de la siguiente manera:
tu elección, a menos que se te pida explícitamente que int R[]={3,2,1,5,7,3,0,10};
uses uno especifico. se puede puede declarar dentro del metodo "main" o fuera
• Otra diferencia entre C y Java es la forma en que se de el, pero dentro de la clase.
imprimen los resultados en pantalla, la función printf es Si se declara fuera del metodo "main", se deberá
reemplazada por System.out.println. Si usas la primera, anteponer la palabra "static", como ocurre con el método
debes incluir el \n en el string, como en C. Si usas la "main". Este es un caso especial relativo a la
segunda, el \n lo agrega automáticamente. implementación de java.
Los arreglos en Java tienen asociada una variable que
Las variables se declaran como en C, por ejemplo:
siempre tiene el número de elementos de este. El nombre
Crea una variable 'x' de
de la variable es el nombre del arreglo seguido de '.' y la
int x tipo 'int'. Lo que se
almacena en 'x' es un palabra length. en ejemplo presentado arriba seria
entero, como en C "b.length"
Crea una "referencia" o
int r[] "puntero" a memoria ➢ Para hacer la conversión de tipo entero a flotante, se
donde los enteros se hace igual que en c, se usa 'casting' (moldeaje). Por
almacenan en forma
ejemplo:
contigua.
int x = 3;
float f Crea una variable 'f' de
float z = (float)x/(float)2; //no es
tipo 'float'.
necesario poner casting en los dos
Esta variable puede
almacenar los valores operandos
boolean b
"true" o "false". En C el • En java, una class reemplaza el concepto del lenguaje
entero '0' es falso y mayor C de estructura, una class se declara como sigue:
que cero es verdadero.
class ComoStruct {
Las variables siempre se declaran dentro de una clase o }
dentro de un método. Si se declaran dentro de la clase Dentro de las { } puedes declarar las variables de manera
pero fuera de métodos, son compartidas por todos los normal como en las "struct" del lenguaje C
métodos de la clase (equivale a variable global en C). No Por ejemplo, un arreglo como
existen variables globales declaradas fuera de las clases. int ar[]={3,2,1,5,7,3,0,10,5}; se puede poner
Java es un lenguaje derivado de C, y sus estructuras de dentro de una class y queda:
class ComoStruct {
control "for", "while", "switch", "if", etc. son muy similares.
int ar[]={3,2,1,5,7,3,0,10,5};
Una diferencia al usar constantes booleanas:
}
• while(true){---} es equivalente a decir while(1){---} Esta class no debe ir dentro de la class donde esta
Para imprimir en pantalla usando System.out.print o main
System.out.println, no es necesario especificar un Para crear una instancia de esta clase, en Java se hace de
formato según el tipo de variable, basta con poner: la siguiente:
ComoStruct cs = new ComoStruct(); //cs
• System.out.println(variable) y se es una variable puntero y su contenido es
imprimirá en pantalla el valor de esta. la direccion al objeto particular creado

El texto y los valores imprimibles de las variables se - Puedes crear una instancia en el método "main" o en
pueden concatenar usando '+' de variadas formas. Por cualquier parte del programa y para referirte a los
ejemplo: elementos del arreglo dentro de esa instancia de la class,
System.out.println("blabla " + variable); basta con usar la variable "cs" seguida de un '.' y el
elemento.
imprime en pantalla la palabra "blabla", el blanco que va
Por ejemplo la siguiente sentencia copia el contenido de
antes de las últimas comillas y el valor de la variable.
un elemento de arreglo en otro:
cs.ar[2] = cs.ar[3];
- Los arreglos en Java tienen asociada una variable que
siempre tiene el número de elementos de este,
El nombre de la variable es el nombre del arreglo seguido
de '.' y la palabra "length". En el ejemplo
presentado arriba seria "ar.length"

También podría gustarte