Heyyyyyyyyyyyyyyy

Aprende a programar microcontroladores en C... http://tecdigitaldelbajio.com/software-tarjeta.html

sábado, 5 de septiembre de 2009

Más de operadores, tipos de datos y la clase Math



Perdón pero en los algunos post anteriores se uso sintaxis de Java que no se había analizado en ningún lado del blog, este es el momento, se hizo de esta forma para que salieran a la luz los ejemplos #10 y #11, así que empecemos.

Operadores de incremento/decremento y asignación

En el ejemplos #10, se observo la instrucción siguiente

total++
ahí se dijo que “el operador ++ significa incremento”, bueno pues enseguida se ven más operadores como el anterior:

Operador            Descripción              Expresión equivalente

 var1++         Incrementa una unidad          var1 = var1 + 1

 var1--         Decrementa una unidad          var1 = var1 - 1

var1 += var2    Suma las variables             var1 = var1 + var2

var1 - = var2   Resta las variables            var1 = var1 – var2

var1 /= var2    Divide las variables           var1 = var1 / var2

var1 %= var2    Obtiene el residuo de          var1 = var1 % var2
                var1 / var2

Ejemplos

El siguiente segmento de código muestra que valores toman las variables y y x
int x; // x = 0, al declarar una variable se inicializa automáticamente en 0

int y = 3; // y = 3, es posible declarar e inicializar una variable en este caso con 3

x = 5; // se asigna un valor a x de 5

x++; // Se incrementa x, Antes x = 5 después x = 6

y--; // se decrementa y, antes y = 3, después y = 2

x++; // Se incrementa x, x = 7

y--; // Se decrementa y, y = 1

x += y; // equivale a x = x + y, después de la instrucción x = 8

y -= x; //equivale a y = y – x, después de la instrucción y = -7

Tipos de datos

En un post de junio que puedes ver desde aquí se mostraron algunos tipos de datos que maneja Java, ahí se mencionó lo siguiente:

“A continuación se muestran tres tipos de datos que maneja Java:

String. Usado para almacenar cadenas de caracteres.

int. Usado para almacenar números enteros.

float. Usado para almacenar números decimales.

Pues en el ejemplo #11 en algún momento en el video, en el código para calcular el área de un círculo se puede ver que se utiliza la siguiente sentencia:
double area

Esa sentencia me permite declarar una variable de tipo double que en este caso se llama area, esta variable servirá para almacenar el resultado del área.

Las variables double permiten almacenar números con decimales o también llamados números reales, las variables double mucha mayor capacidad que una variable de tipo float, a continuación se muestran más tipos de datos que maneja Java:

boolean. Usado para almacenar una variable booleana cuyo valor es verdadero (true) o falso (false).

byte. Almacena información que no rebase 8 bits, esto equivale a números entre 127 y - 128

char. Se usa para almacenar una letra o un número, o un valor alfanumérico como #, %, $ etc. Estas variables solo almacenan un solo valor alfanumérico.

short. Usado par almacenar números enteros, tiene menos capacidad que variables de tipo int.

long. Usado para almacenar números enteros, tiene mucha más capacidad que variables de tipo int.

Por cierto en el ejemplo #11 se usan variables de tipo doublé, porque la clase Math así lo requería.

La clase Math

Esta clase contiene funciones matemáticas ya diseñadas por los creadores de Java, para que el usuario simplemente las use, por ejemplo, en el post anterior, se muestra la solución de la ecuación cuadrática usando la formula general, para aplicar esta fórmula se necesita obtener una raíz cuadrada, la sentencia que obtiene la raíz cuadrada es:
Math.sqrt(dis);

El método para obtener la raíz cuadrada se llama sqrt, en la sentencia anterior se obtiene la raíz de la variable llamada dis, el método sqrt está diseñado dentro de la clase Math.

También se puede observar como en la parte donde se obtiene el área de un círculo se puede ver que se usa la siguiente sentencia para la formula:
Math.PI

Esta sentencia contiene el valor de la constante PI, 3.1425927, simplemente la usamos como fue el caso.

La clase Math fue diseñada para incluir muchas funciones matemáticas, para que el usuario las utilice, algunas funciones más de esta clase son las siguientes:
   Función                                  Descripción  

Math.sin( double a )          devuelve el seno del ángulo a en radianes

Math.cos( double a )          devuelve el coseno del ángulo a en radianes

Math.tan( double a )          devuelve la tangente del ángulo a en radianes

Math.log( double x )          devuelve el logaritmo natural de x

Math.sqrt( double x )         devuelve la raíz cuadrada de x

Math.pow( double x,double y ) devuelve y elevado a x

La documentación de la clase Math, es bien clara, usa variables de tipo double, esa es la razón de por que se declararon en el ejemplo #11 variables de tipo double, para que fueran compatibles con las funciones de esta clase.
Se anima al lector para que investigue más funciones de esta clase en la documentación de Java, igual y algún día se le ofrece usarlas, en este post se indica como acceder a la documentación ahí se puede buscar la clase Math y ver todos los métodos.


9 comentarios:

  1. hola mira una preguntica estoy creando un apliacaion y es con matrices, pero quiero que se cree una tabla en la aplicacion y ya lo hice es TABLEITEM pero ak momento de probarlo no soy capaz de ingresar datos a la tabla plis como hago?? eso es lo k me tiene barado

    ResponderEliminar
  2. Buenas tardes desde Valencia(España).Una preguntita: ¿ Como se hace para almacenar datos en los ficheros jar ?. Ejemplo, un programa que permite añadir items a un objeto List. Al salir y voler a entrar de la aplicacion me gustaría que se guardara o actualizara la informacion tecleada.
    Gracias de antemano y Felicidades por la pagina.

    ResponderEliminar
  3. Hola en cuanto a lo de almacenar datos en el fichero jar, no va por ahí, más bien lo que se hace es pero almacenarlos en la memoria del celular, así cuando se cierre el programa no se borran los datos, para realizarlo se usa el llamado Record Managment System (RMS, sistema de gestión de registros), no lo he trabajado todavía pero te recomiendo un libro (Java a tope: J2ME) de un paisano tuyo el cual puedes bajar con el siguiente link: http://www.lcc.uma.es/~galvez/J2ME.html
    ahi viene un capitulo completo para usar ese sistema.

    Saludos

    ResponderEliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  5. hola ,tu blog es genial eh aprendido mucho aqui.
    Te pediria de favor que nos enseñes a operar iteraciones como por ejemplo estas:

    h=0.2.puede variar la razón aritmética, h es la rzon aritmetica de Z , va desde 0 hasta 1.
    i=0,1,..4
    T(i)=1 Z(i)=0,Z(i+1)=0.2........



    R(i+1)=T(i)+h(Z(i)+T(i))

    T(i+1)=T(i)+h/2(Z(i)+T(i)+Z(i+1)+R(i+1))

    esto es una iteracion del método de Heun en Métodos numéricos y quiero que me salgan todas los resultados de los iteraciones osea R(i+1),R(i+2)............
    T(i+1), T(1+2).......... desde ya gracias.

    ResponderEliminar
  6. Hola, Powerfull, te ruego poquita paciencia, ya casi llegamos a las instrucciones de repetición, ahí te prometo que se realizará un ejemplo que resuelva alguno de tantos métodos númericos que hay, así como el que muestras en el comentario, pero si, aguanta poquitin, ya estoy a dos o tres post de iniciar con esas instrucciones.

    saludos

    salu2

    ResponderEliminar
  7. Que bueno! estoy esperando con ansias la llegada de ese momento , estaré muy pendiente , gracias por responderme. Sigue asi amigo , saludos.

    ResponderEliminar
  8. Hola, apenas estoy aprendiendo esto de j2me, en mi aplicacion despues de hacer unas operaciones necesito que el resultado siempre sea de un largo especifico, como puedo hacer que rellene con cero los espacios faltantes?

    ResponderEliminar
  9. primero quiero agradecer por este grandioso blog

    y en segundo lugar quisiera que me ayudaran beran estoy usando estas lineas de codigo para calcular el logaritmo de y en base b
    "double y = Integer.parseInt(textField.getString());
    double b = Integer.parseInt(textField1.getString());
    double x = Math.log(y) / Math.log(b);"

    pero me aparece un error en la ultima linea.

    me decir cual es el error o si no es posible el calcular este logaritmo en un celular

    ResponderEliminar