String a int
La manera de poder convertir una cadena de caracteres "String" en un tipo de dato "int" es la siguiente:
La manera de poder convertir una cadena de caracteres "String" en un tipo de dato "int" es la siguiente:
/*
* Convertir una cadena de caracteres
"String" en un entero "int"
*/
String num = "100";
int numero = Integer.parseInt(num);
JOptionPane.showMessageDialog(null, "Se
convirtio correctamente: "+numero);
Puede que muchas veces se intente convertir una cadena
de caracteres que no necesariamente represente un número, esto nos genera un
error en nuestro app. Ejemplo.:
String
cadena = "Caracteres";
/*
* Esto genera un error porque no se puede
transformar
* "Caracteres" en un numero, por
eso se ejecuta dentro de
* un bloque try{} catch{}
*/
try{
int numero = Integer.parseInt(cadena);
}
catch(Exception e){
JOptionPane.showMessageDialog(null,
"ERROR AL CONVERTIR: "+cadena+" EN UN NUMERO");
}
int/double a String
Para transformar un dato "int" en una cadena de caracteres y poder tratarlo como tal "String"
Ejemplo:
Para transformar un dato "int" en una cadena de caracteres y poder tratarlo como tal "String"
Ejemplo:
/*
* Convertir int/double a String
*/
double dou = 25.23;
int numer = 300;
String cad1 =
String.valueOf(numer);
String cad2 =
String.valueOf(dou);
JOptionPane.showMessageDialog(null, "Se
convirtio correctamente: "+cad1+" ,"+cad2);
Estructuras de control en Java
Las estructuras de control determinan la secuencia
de ejecución de las sentencias de un programa.
Las
estructuras de control se dividen en tres categorías:
Secuencial
Condicional
o Selectiva
Iterativa
o Repetitiva.
1.
ESTRUCTURA SECUENCIAL
El orden en que se ejecutan por defecto las sentencias de un programa es secuencial. Esto significa que las sentencias se ejecutan en secuencia, una después de otra, en el orden en que aparecen escritas dentro del programa.
La
estructura secuencial está formada por una sucesión de instrucciones que se
ejecutan en orden una a continuación de la otra.
Cada una
de las instrucciones están separadas por el carácter punto y coma (;).
Las
instrucciones se suelen agrupar en bloques.
El bloque
de sentencias se define por el carácter llave de apertura ({) para marcar el
inicio del mismo, y el carácter llave de cierre (}) para marcar el final.
Ejemplo:
{
instrucción
1;
instrucción
2;
instrucción
3;
}
En Java
si el bloque de sentencias está constituido por una única sentencia no es
obligatorio el uso de las llaves de apertura y cierre ({ }), aunque sí
recomendable.
Ejemplo de programa Java con estructura secuencial: Programa que lee dos números por teclado y los muestra por pantalla.
Ejemplo de programa Java con estructura secuencial: Programa que lee dos números por teclado y los muestra por pantalla.
/*
Programa que lea dos números por teclado y los muestre por pantalla.
*/
import java.util.*;
public class Main {
public static void
main(String[] args){
//declaración de variables
int n1, n2;
Scanner
sc = new Scanner(System.in);
//leer el primer número
System.out.println("Introduce un número entero: ");
n1 = sc.nextInt(); //lee un entero por
teclado
//leer
el segundo número
System.out.println("Introduce otro número entero: ");
n2 = sc.nextInt(); //lee un entero por
teclado
//mostrar
resultado
System.out.println("Ha introducido los números: " + n1 + " y
" + n2);
}
2. ESTRUCTURA
CONDICIONAL, ALTERNATIVA O SELECTIVA
La estructura condicional determina si se ejecutan unas instrucciones u otras según se cumpla o no una determinada condición.
La estructura condicional determina si se ejecutan unas instrucciones u otras según se cumpla o no una determinada condición.
En java
la estructura condicional se implementa mediante:
- Instrucción
if.
- Instrucción
switch.
- Operador
condicional ? :
2.1 INSTRUCCION if
Puede ser
del tipo:
- Condicional
simple: if
- Condicional
doble: if ... else ...
- Condicional
múltiple: if .. else if ..
La
condición debe ser una expresion
booleana es decir debe dar como resultado un valor booleano (true ó false).
Condicional simple: se evalúa la condición y si ésta se cumple se
ejecuta una determinada acción o grupo de acciones. En caso contrario se saltan
dicho grupo de acciones.
if(expresión_booleana){
instrucción 1
instrucción 2
.......
}
.......
}
Si el
bloque de instrucciones tiene una
sola instrucción no es necesario escribir las llaves { } aunque
para evitar confusiones se recomienda escribir las llaves siempre.
Ejemplo de programa Java con estructura condicional: Programa que pide por teclado la nota obtenida por un alumno y muestra un mensaje si el alumno ha aprobado.
Ejemplo de programa Java con estructura condicional: Programa que pide por teclado la nota obtenida por un alumno y muestra un mensaje si el alumno ha aprobado.
/*
*
Programa que pide una nota por teclado y muestra un mensaje si la nota es
*
mayor o igual que 5
*/
import java.util.*;
public class Ejemplo0If {
public static void main(
String[] args ){
Scanner sc = new Scanner( System.in );
System.out.print("Nota: ");
int nota = sc.nextInt();
if
(nota >= 5 ){
System.out.println("Enorabuena!!");
System.out.println("Has aprobado");
}
}
}
Condicional doble: Se evalúa la condición y si ésta
se cumple se ejecuta una determinada instrucción o grupo de instrucciones. Si
no se cumple se ejecuta otra instrucción o grupo de instrucciones.
if(expresión booleana){
instrucciones 1
}
else{
instrucciones 2
}
2.2 INSTRUCCION switch
Se
utiliza para seleccionar una de entre múltiples alternativas.
La forma
general de la instrucción switch en Java es la siguiente:
switch
(expresión){
case valor 1:
instrucciones;
break;
case valor 2:
instrucciones;
break;
· · ·
default:
instrucciones;
}
La
instrucción switch se puede usar con datos de tipo byte, short, char e int.
También con tipos enumerados y con las clases envolventes Character, Byte,
Short e Integer. A partir de Java 7 también pueden usarse datos de tipo String
en un switch.
Funcionamiento
de la instrucción switch:
- Primero se evalúa la expresión y salta al
case cuya constante coincida con el valor de la expresión.
– Se ejecutan las instrucciones que
siguen al case seleccionado hasta que se encuentra un break o hasta el final
del switch. El break produce un salto a la siguiente instrucción a continuación
del switch.
– Si ninguno de estos casos se cumple se
ejecuta el bloque default (si existe). No es obligatorio que exista un
bloque default y no tiene porqué ponerse siempre al final, aunque es lo habitual.
3. ESTRUCTURA ITERATIVA O REPETITIVA
Permiten ejecutar de forma repetida un bloque específico de instrucciones.
Permiten ejecutar de forma repetida un bloque específico de instrucciones.
Las
instrucciones se repiten mientras o hasta que se cumpla una determinada
condición. Esta condición se conoce como condición de salida.
Tipos de
estructuras repetitivas:
- ciclo
while
- ciclo
do – while
- ciclo
for
3.1 CICLO WHILE
Las
instrucciones se repiten mientras la condición sea cierta. La condición se comprueba al principio del
bucle por lo que las acciones se pueden ejecutar 0 ó más veces.
Clases
y objetos en java
- Un objeto en
Java cumple las funciones que realiza un record en Pascal o una estructura
en C. En Java las variables sólo pueden contener referencias a
objetos, es decir punteros a objetos.
- Todos los objetos se crean
con new:
·
A a1= new A();
A es el tipo del objeto creado. También se dice que
A es la clase del objeto o que el objeto es una instancia de
la clase A. La variable a1 también es de tipo A, o análogamente a1 es de la
clase A, porque a1 debe contener siempre referencias a objetos que pertenecen a
la clase A.
- Un objeto posee variables
de instancia o campos que se pueden consultar o
asignar. Los campos que posee un objeto se definen al momento de declarar
la clase a la cual pertenece:
·
class
A { int x, y; }
·
A a= new
A();
·
a.x= 1;
·
a.y= 2;
·
System.out.println(a.x+" "+a.y); // 1 2
- Un objeto también puede
poseer métodos. Un método es un procedimiento cuya invocación
siempre va asociada a un objeto. Los métodos se definen en la declaración
de la clase:
·
class A {
·
int x, y; // variables de instancia
·
// Métodos
·
void
Set(int vx, int vy) { x= vx; y= vy; }
·
void Incx() { x++; }
·
void
Print() { System.out.println(x+" "+y); }
·
}
·
A a= new
A();
·
a.Set(10, 20);
·
a.Print(); // 10 20
·
a.Incx();
·
a.Print();
// 11 20
·
Incx();
// error, falta indicar el objeto
·
A a2= new
A();
·
a2.Set(5,
6);
·
a2.Print(); // 5 6
·
a.Print(); // 11 20
- La definición de un método
tiene las siguiente sintaxis:
·
tipo-retorno
nombre-método
·
( tipo-parámetro nombre, ... )
·
{
instrucciones }
Si el procedimiento no retorna nada se coloca void.
En las instrucciones las variables que se accesen que no sean parámetros o
variables locales del procedimiento deben ser variables de instancia del
objeto.
- Una variable de tipo objeto
es una referencia (puntero) a un objeto:
·
A a1= new
A();
·
A a2= new
A();
·
A a3= a2;
·
a1.Set(1,2);
·
a2.Set(5,6);
·
a3.Set(8,9);
·
a1.Print();
// 1 2
·
a2.Print();
// 8 9
·
a3.Print();
// 8 9
En este caso las variables a2 y a3 referencian el
mismo objeto, mientras que a1 y a2 referencian objetos distintos.
- Una referencia puede ser
pasada como argumento y puede ser retornada por un método.
·
class A {
·
...
·
void CopyFrom(A from) { x= from.x; y= from.y }
·
A MakeCopy()
·
{
·
A acopy= new A();
·
acopy.Set(x, y);
·
return
acopy;
·
}
·
}
·
·
A a1= new
A();
·
a1.Set(1,2);
·
A a2= new
A();
·
a2.CopyFrom(a1);
·
a2.IncX();
·
a2.Print();
// 2 2
·
a1.Print();
// 1 2
·
A a3=a1.MakeCopy();
·
a3.Print();
// 1 2
- Dentro de un método, el
identificador this contiene
una referencia al objeto con que se invocó este método.
·
class A {
·
...
·
void CopyTo(A to)
·
{ to.CopyFrom(this); }
·
}
- En Java no existe enlace
directo entre identificador y objeto como en C o Pascal:
·
En C o
C++
·
A a; // a es el objeto
·
A *pa; // pa es una referencia al objeto
·
En Pascal
·
var a:
A; // a es el record
·
a: A^; // a es una referencia al objeto
- Las variables se pueden
inicializar con la referencia nula:
·
A a;
·
a= null;
·
a.x=
0; // error, a es la ref. nula
- Un objeto puede referenciar
otros objetos:
·
class Eslabon {
·
Eslabon
next;
·
A a;
·
void Encadenar(Eslabon anext) { next= anext; }
·
}
·
...
·
for(Eslabon
e= prim; e!=null; e= e.next)
·
e.a.Print();
- Los arreglos y strings son
objetos predefinidos.
·
String s=
null;
·
s.substring(1,2);
// error
·
int[] a=
null;
·
a[0]=0; // error
- Se pueden crear arreglos de
referencias a objetos. No se pueden crear arreglos de objetos.
·
A[] aArr=
new A[10];
·
aArr[0].x=1;
// error, aArr[0] es nulo
·
for (int i=0;
i<aArr.length; i++)
·
aArr[i]= new A();
- Ningún objeto se destruye
explícitamente: No hay free ni delete
·
A a= new
A();
·
a= new
A();
El objeto que se creó primero ya no es
alcanzable y por lo tanto el recolector de basura recuperará el espacio que
ocupa.
No hay comentarios:
Publicar un comentario