Autor Tema: Mi tutorial de JAVA  (Leído 14579 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: Mi tutorial de JAVA
« Respuesta #15 en: 15 de Septiembre de 2015, 16:33:44 »
para resolver problemas tan simples como ese no hay programa que supere a matlab en matlab eso seria muy facil mas o menos seria asi:
syms x;
b=input('inserte el valor de b')
m=input('inserte el valor de m')
funcion=m*x+b;
plot(x,y), faltaria especificar el intervalo eso mas tarde lo pongo porque ahorita no tengo acceso a matlab, ves lo facil que es en matlab yo no lo usaria para
resolver algo tan simple como eso, deberian abrir un subforo de matlab y yo podria ser moderador matlab es muy facil yo hice un programa en matlab que
resuelve todos los casos de factorizacion exepto factor comun y por agrupacion, fue muy facil, reto a alguien a que lo haga en java para comparar cuantas lineas
le salen en java resolviendo los casos de factorizacion haber si java lo hace mas rapido que matlab no creo

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Mi tutorial de JAVA
« Respuesta #16 en: 15 de Septiembre de 2015, 18:30:55 »
Citar
ves lo facil que es en matlab yo no lo usaria para
resolver algo tan simple como eso, deberian abrir un subforo de matlab y yo podria ser moderador matlab es muy facil yo hice un programa en matlab que
resuelve todos los casos de factorizacion exepto factor comun y por agrupacion, fue muy facil, reto a alguien a que lo haga en java para comparar cuantas lineas
le salen en java resolviendo los casos de factorizacion haber si java lo hace mas rapido que matlab no creo

Yo tambien trabaje en matlab, asi por encima pero si es bastante util, el tema pasa no por que es mas facil, sino por que es otro lenguaje y aprenderlo.
Es lo mismo que decirle a los usuarios de Basic "No uses BASIC" cuando todos lso fabricantes eligen C para sus compiladores. Pero sobre gustos no hay nada escrito. Hasta en python hubiera sido mas facil.
Son distintas herramientas, en matlab no te vas a poner a programar un servidor por ejemplo.

Como hizo el creador del post es un tutorial. comienza por lo mas basico, no vas a empezar a trabajar con sockets/multi-thread/etc/etc si ni siquiera sabes hacer un 1+1 en ese lenguaje, es lo mismo con los microcontroladores, no comenzas haciendo una aparato que va a ir al espacio exterior, comenzas encendiendo un led, tomando los datos de un pulsador y luego vas creciendo y agregando a medida que vas avanzando.

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: Mi tutorial de JAVA
« Respuesta #17 en: 15 de Septiembre de 2015, 18:50:30 »
oye killer pero a mi me parece que matlab es un lenguaje muy poderoso y sigue en evolucion continua, por ejemplo investigando un poco sobre robots humanoides me di cuenta que todos se pueden programar con matlab, ademas matlab se comunica con raspberry pi, con arduino y para todo lo de matematicas y control matlab es excelente y me parace que habiendo un foro de robotica deberia haber uno de matlab ya que es un software poderoso y bastante util

Desconectado CompSystems

  • PIC18
  • ****
  • Mensajes: 488
    • Home Page
Re: Mi tutorial de JAVA
« Respuesta #18 en: 17 de Septiembre de 2015, 23:31:46 »
Si no me equivoco MATLAB esta programado en JAVA, MATLAB es un software para el campo científico y educativo, a diferencia de JAVA, MATLAB posee un super poderoso motor de calculo numérico, ideal para la investigación y proyectos universitarios, con JAVA creas cualquier cosa, matlab apenas soporta programacion orientada a objetos, también espero crear un tuto de matlab  :)

en estos días continuo con el tuto de JAVA
Desde Colombia

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: Mi tutorial de JAVA
« Respuesta #19 en: 18 de Septiembre de 2015, 10:10:56 »
con matlab tambien se pueden hacer aplicaciones graficas y es muy util, si crees que con java se puede hacer caulquier cosa intenta sacar todos los casos de factorizacion en java hasta los que aparecen en wikipedia, intenta sacar factorizacion por division sintetica y el caso de pitagoras yo lo hice en matlab y fue muy facil

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2980
Re: Mi tutorial de JAVA
« Respuesta #20 en: 18 de Septiembre de 2015, 10:34:52 »
Citar
con matlab tambien se pueden hacer aplicaciones graficas y es muy util, si crees que con java se puede hacer caulquier cosa intenta sacar todos los casos de factorizacion en java hasta los que aparecen en wikipedia, intenta sacar factorizacion por division sintetica y el caso de pitagoras yo lo hice en matlab y fue muy facil 

Matlab es un lenguaje matemático, que se apoya en otros lenguajes para ejecutar los calculos, es decir el lenguaje matlab no "existe" como tal, matlab es un software matemático, cuya interfaz gráfica esta realizada en java, para hacerlo portable en los distintos sistemas operativos, y las operaciones están contenidas en DLL en c++. Así utilizan la portabilidad de java mas la potencia de operación de c++. Lo que quiero decir que lo que usas con matlab es fácil porque es como una gran librería de matematicas, pero por debajo tiene rutinas muy complicadas de c.



Un saludo

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Mi tutorial de JAVA
« Respuesta #21 en: 18 de Septiembre de 2015, 10:55:22 »
con matlab tambien se pueden hacer aplicaciones graficas y es muy util, si crees que con java se puede hacer caulquier cosa intenta sacar todos los casos de factorizacion en java hasta los que aparecen en wikipedia, intenta sacar factorizacion por division sintetica y el caso de pitagoras yo lo hice en matlab y fue muy facil

Te voy a contestar.

No se trata de que MATLAB no lo pueda hacer, sabemos que lo puede hacer, y que es mucho mas facil de hacerlo por que esta diseñado para eso, hasta te hace el grafico con un comando. Pero no se trata de eso el tutorial, Se trata de hacerlo en JAVA.
Es mas son cosas totalmente disintintas una de otra. Por ejemplo si estoy programando todo en C. No voy a ponerle al microcontrolador Linux + Matlab (suponiendo que ande todo) para solo hacer un array como el que hicimos. Lo puedo hacer en C, es insensato.

Si necesitas hacer un applet o un servlet, no vas a instalar MATLAB, tratar que se conecten con JAVA, ejecutar y que salgan los valores a donde sea. vas y lo haces en JAVA. Es mas largo? Si es mas largo. Pero no es lo mismo.

Para aportar al hilo, aca encontre esto para factorizar en JAVA
Código: Java
  1. import java.util.Vector;
  2.  
  3. public class Factorizar
  4. {
  5.     public int[] factorizar(int numero) {
  6.         Vector listaPrimos = new Vector();
  7.        
  8.         if (numero <= 1) {
  9.             throw new IllegalArgumentException("El número debe ser >= 2");
  10.         }
  11.        
  12.         int aux = numero;
  13.         int i = 2;
  14.        
  15.         while (aux != 1) {
  16.             if (esPrimo(i)) {                
  17.                 while ( aux % i == 0)) {
  18.                     listaPrimos.add(new Integer(i));
  19.                     aux = aux / i;
  20.                 }
  21.             }
  22.             i++;
  23.         }
  24.        
  25.         int[] resultado = new int[listaPrimos.size()];
  26.         for (int j = 0; j < listaPrimos.size(); j++) {
  27.             resultado[j] = ((Integer)listaPrimos.get(j)).intValue();
  28.         }
  29.        
  30.         return resultado;
  31.     }
  32.  
  33.    
  34.    
  35.     private boolean esPrimo(int p) {
  36.        
  37.         boolean res = true;
  38.         for (int i = 2; i < p; i++) {
  39.             if ( p % i == 0)) {
  40.                 res = false;
  41.             }
  42.         }
  43.        
  44.         return res;
  45.     }
  46.  
  47. }


Citar
por ejemplo investigando un poco sobre robots humanoides me di cuenta que todos se pueden programar con matlab

Entonces investigaste mal. MATLAB no programa el microcontrolador 'per se' . Si puede comunicarse con el mismo, ejemplo como por un PORT serial. Esto te lleva a hacerle un programita al microcontrolador que supongamos cuando reciba la letra 'a' por UART te envie la informacion de los sensores. Luego en MATLAB tomas esos datos, y puede o no calcularlo y enviarselo o no al microcontrolador.

Esto podes pensarlo de 2 formas.

1- Tu microcontrolador es un "puente" a datos al plano fisico, esto si es de una via, es decir Solo de Microntrolador -> PC
2- MATLAB es el cerebro de tu microcontrolador. Esto si es Full-Duplex la comunicacion, un ida y vuelta

En si, si miras todo el conjunto en el caso 2, PC(con matlab) + microntrolador, al cambiarle la configuracion del matlab, estarias "cambiando el programa" del robot, entre comillas por que realmente el robot no hace nada mas que enviar datos, recibirlos y actuar segun los datos.

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: Mi tutorial de JAVA
« Respuesta #22 en: 18 de Septiembre de 2015, 23:28:47 »
hola amigos ahora si voy a aportar a este tutorial de java sin salirme del tema voy a poner unos cuantos programas que hice en java por alla en segundo semestre en el 2010 cuando era un monstruo para java era tan pasado que tenia un mal profesor en lab de programacion y el me ponia a mi a dar la clase por eso el tercer corte de lab me quedo en 4.8 sin mas preambulos les dejo un programa un applet en java calculadora con muchos botones
Código: [Seleccionar]
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class BotonesApplet extends Applet implements ActionListener{
Label l1, l2, l3;
   TextField t1,t2, t3;
   Button b1,b2, b3, b4, b5, b6, b7, b8, b9;
   private double Integer;
   
   
   public BotonesApplet(){
   l1= new Label("Numero 1");
   t1= new TextField (8);
   l2= new Label ("Numero 2");
   t2= new TextField(8);
   b1= new Button ("Suma");
   b2= new Button ("Resta");
   b3= new Button ("Multiplica");
   b4= new Button ("Divide");
   b5= new Button ("Raiz de 1");
   b6= new Button ("Raiz de 2");
   b7= new Button ("Mayor");
   b8= new Button ("Limpia");
   b9= new Button ("Menor");
   l3= new Label ("Resultado");
   t3= new TextField (8);
   add(l1);
   add(t1);
   add(l2);
   add(t2);
   add(b1);
   add(b2);
   add(b3);
   add(b4);
   add(b5);
   add(b6);
   add(b7);
   add(b8);
   add(b9);
   add(l3);
   add(t3);
   b1. addActionListener(this);
   b2. addActionListener(this);
   b3. addActionListener(this);
   b4. addActionListener(this);
   b5. addActionListener(this);
   b6. addActionListener(this);
   b7. addActionListener(this);
   b8. addActionListener(this);
   b9. addActionListener(this);
   }
   public void actionPerformed(ActionEvent ae) {
   if (ae.getSource() == b1) {
   double Numero1 = Double.parseDouble(t1.getText());
   double Numero2 = Double.parseDouble(t2.getText());
   t3.setText(""+Math.abs(Numero1+Numero2));
   }
   if (ae.getSource() == b2) {
   double Numero1 = Double.parseDouble(t1.getText());
   double Numero2 = Double.parseDouble(t2.getText());
   if (Numero1<Numero2)
   t3.setText(""+-Math.abs(Numero1-Numero2));
   else
   t3.setText(""+Math.abs(Numero1-Numero2));
   }
   
   if (ae.getSource() == b3) {
   double Numero1 = Double.parseDouble(t1.getText());
   double Numero2 = Double.parseDouble(t2.getText());
   t3.setText(""+Math.abs(Numero1*Numero2));
   }
   if (ae.getSource() == b4) {
   float Numero1 = Float.parseFloat(t1.getText());
   float Numero2 = Float.parseFloat(t2.getText());
   t3.setText(""+Math.abs(Numero1/Numero2));
   }
   if (ae.getSource() == b5) {
   double Numero1 = Double.parseDouble(t1.getText());
   double Numero2 = Double.parseDouble(t2.getText());
   t3.setText(""+Math.sqrt(Numero1));
   }
   if (ae.getSource() == b6) {
   double Numero1 = Double.parseDouble(t1.getText());
   double Numero2 = Double.parseDouble(t2.getText());
   t3.setText(""+Math.sqrt(Numero2));
   }
   if (ae.getSource() == b7) {
   double Numero1 = Double.parseDouble(t1.getText());
   double Numero2 = Double.parseDouble(t2.getText());
   if (Numero1>Numero2)
   t3.setText(""+Numero1);
   if (Numero2>Numero1)
   t3.setText(""+Numero2);
   }
   if (ae.getSource() == b9) {
   double Numero1 = Double.parseDouble(t1.getText());
   double Numero2 = Double.parseDouble(t2.getText());
   if (Numero1<Numero2)
   t3.setText(""+Numero1);
   if (Numero2<Numero1)
   t3.setText(""+Numero2);
   }
   if (ae.getSource() == b8) {
   t1.setText("");
         t2.setText("");
         t3.setText("");
   }}}
espero le sirva a alguien

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: Mi tutorial de JAVA
« Respuesta #23 en: 18 de Septiembre de 2015, 23:58:39 »
hola aqui les dejo dos programas mas parecidos pero no se cual es la dieferencia entre ellos porque no toco java desde el 2011 pero enserio era muy pasado si alguno de ustedes pudiera probar estos dos programas y decirme cual es la diferencia se los agradeceria muchisimo
Código: [Seleccionar]
package trinomio;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class trinomio extends Applet implements ActionListener{
    Label l1, l2, l3, l4, l5;
    TextField t1,t2, t3, t4, t5;
    Button b1;
    private double Integer;
   
    public trinomio(){
    l1= new Label("a");
    t1= new TextField (4);
    l2= new Label("b");
    t2= new TextField (4);
    l3= new Label("c");
    t3= new TextField (4);
    b1= new Button ("calcula");
    l4= new Label("Raiz 1");
    t4= new TextField (8);
    l5= new Label("Raiz 2");
    t5= new TextField (8);
    add(l1);
   add(t1);
   add(l2);
   add(t2);
   add(l3);
   add(t3);
   add(b1);
   add(l4);
   add(t4);
   add(l5);
   add(t5);
b1. addActionListener(this);
}
    public void actionPerformed(ActionEvent ae) {
   if (ae.getSource() == b1) {
   double a = Double.parseDouble(t1.getText());
   double b = Double.parseDouble(t2.getText());
   double c = Double.parseDouble(t3.getText());
   int d = (int) (b*b-4*a*c);
   int e = (int) Math.sqrt(d);
   int f= (int) (2*a);
   int g = (int) (-b+e);
   int h = -g/f;
   int i = (int) (-b-e);
   int j = -i/f;
t4.setText(""+Math.abs(+h));
   t5.setText(""+-Math.abs(+j));
   
}
}
private int sqrt(double d) {
// TODO Auto-generated method stub
return 0;
}}




y el segundo y no vayan a decir que es el mismo porque los tengo en carpetas diferentes alguna cosa deben tener distinta pero no me acuerdo
Código: [Seleccionar]
package trinomio2;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class trinomio extends Applet implements ActionListener{
    Label l1, l2, l3, l4, l5;
    TextField t1,t2, t3, t4, t5;
    Button b1;
    private double Integer;
   
    public trinomio(){
    l1= new Label("a");
    t1= new TextField (4);
    l2= new Label("b");
    t2= new TextField (4);
    l3= new Label("c");
    t3= new TextField (4);
    b1= new Button ("calcula");
    l4= new Label("Raiz 1");
    t4= new TextField (8);
    l5= new Label("Raiz 2");
    t5= new TextField (8);
    add(l1);
   add(t1);
   add(l2);
   add(t2);
   add(l3);
   add(t3);
   add(b1);
   add(l4);
   add(t4);
   add(l5);
   add(t5);
b1. addActionListener(this);
}
    public void actionPerformed(ActionEvent ae) {
   if (ae.getSource() == b1) {
   double a = Double.parseDouble(t1.getText());
   double b = Double.parseDouble(t2.getText());
   double c = Double.parseDouble(t3.getText());
   int d = (int) (b*b-4*a*c);
   int e = (int) Math.sqrt(d);
   int f= (int) (2*a);
   int g = (int) (-b+e);
   int h = -g/f;
   int i = (int) (-b-e);
   int j = -i/f;
t4.setText(""+Math.abs(+h));
   t5.setText(""+-Math.abs(+j));
   
}
}
private int sqrt(double d) {
// TODO Auto-generated method stub
return 0;
}}




aunque les va a parecer que es el mismo si son dos dieferentes que hice para aprobar un curso online la diferencia debe ser pequeñisima pero yo se que deben tener alguna diferencia

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Mi tutorial de JAVA
« Respuesta #24 en: 19 de Septiembre de 2015, 00:08:23 »
Son iguales los 2 codigos, solo le cambio el nombre de trinomio a trinomio2.

A simple vista parecian iguales. De todas formas busque un comparador online por si las dudas, y cuando copias y pegas el codigo, lo unico que cambia es eso que dije.

https://www.diffchecker.com/diff

Por si las dudas que no funciona bien eso, use el fc de windows.

Código: [Seleccionar]
C:\Users\XXXXXXXXX\Desktop>fc a.txt b.txt
Comparando archivos a.txt y B.TXT
***** a.txt
package trinomio2;
import java.awt.*;
***** B.TXT
package trinomio;
import java.awt.*;
*****

Tal ves intentaste hacer una copia y luego modificarla, y quedo como algo pendiente. Me suele pasar

PD: Gracias por los codigos
« Última modificación: 19 de Septiembre de 2015, 00:41:59 por KILLERJC »

Desconectado yair_xiox

  • PIC16
  • ***
  • Mensajes: 210
Re: Mi tutorial de JAVA
« Respuesta #25 en: 19 de Septiembre de 2015, 00:10:50 »
killler debes tener razon ademas hace mucho tiempo no toco java

Desconectado CompSystems

  • PIC18
  • ****
  • Mensajes: 488
    • Home Page
Re:Mi tutorial de JAVA
« Respuesta #26 en: 27 de Diciembre de 2015, 18:27:01 »
De tantos videotutos, lo importante es la capacidad de enseñar, y que con menos duración se alcance mas,
Uno de ellos es el siguiente curso video tutorial

Tutorial Java #1 - Introducción

Tutorial Java #2 - Clases Objetos e Instancia


Cual es su apreciación de este video tutorial Excelente, bueno, regular, malo?

Resumen de los 2 primeros videotutos
//
Código: Java
  1. // PROYECTO
  2. // Nombre Identificador: Ejemplo_1 /!\ Debe iniciar mejor en mayúsculas
  3. // Info: primer ejemplo
  4.  
  5. // ARCHIVO#1
  6. // Nombre Identificador: Ejemplo_1 Extensión .java (Ejemplo_1.java) /!\ Debe iniciar mejor en mayúsculas
  7.  
  8. // PAQUETE#1
  9. // Palabra de codificación: package
  10. // Nombre Identificador: paquete_1
  11. // Info: contiene todas las clases para el archivo Ejemplo_1.java
  12. // Sintaxis: package NombreIdentificador;
  13. package paquete_1;
  14.  
  15. // CLASE#1
  16. // Palabra de codificación: class
  17. // Nombre Identificador: Ejemplo_1, /!\ debe tener el mismo nombre del archivo pero sin extensión. Debe iniciar mejor en mayúsculas
  18. // Tipo de Acceso: Publica, Palabra de codificación: public,
  19. // Info: debe ser publica la clase principal, porque ?
  20. // Sintaxis: TipoDeAcceso class NombreIdentificador{ bloqueDeInstrucciones }
  21. public class Ejemplo_1 {
  22.  
  23.         // Métodos o funciones pertenecientes a la clase Ejemplo_1
  24.         // MÉTODO#1 (PRINCIPAL)
  25.         // Nombre Identificador: main()
  26.         // Parámetros: 1 arreglo de datos.
  27.         // Nombre Identificador del parámetro: args_entrada.
  28.         // Retorno del método: Ningún valor, Palabra de codificación: void.
  29.         // Instancia: Estática, Palabra de codificación: static.
  30.         // Info: toda clase ESTATICA no requiere de un objeto para ser llamada
  31.         // Tipo de Acceso: Publica, Palabra de codificación: public.
  32.         // Info: ...
  33.         // Sintaxis: TipoDeAcceso ?? RetornoDelMetodo NombreIdentificador(
  34.         // parámetros ){ bloqueDeInstrucciones }
  35.         public static void main(String args_entrada[]) {
  36.                 // Referencia de clase: NombreDeLaClase.MetodoEstatico(parámetros);
  37.                 // no requiere de un objeto para ser llamado el metodo saludar()
  38.                 Persona.saludar();
  39.  
  40.                 // Creando un objeto u intancia de clase:
  41.                 // Sintaxis: NombreDeLaClase NombreIdentificadorDelObjeto = new NombreIdentificadorDelMetodoConstructor(parámetros);
  42.                 Persona juan = new Persona();
  43.                
  44.                 // llamada del método
  45.                 // Sintaxis:
  46.                 // NombreIdentificadorDelObjeto.NombreIdentificadorDelMetodo(parámetros);
  47.                 juan.saludar();
  48.                 // la sentencia anterior se marca como ADVERTENCIA, pues se debe usar Referencia de clase ya que saludar es un metodo estatico
  49.         }
  50. }
  51.  
  52. // CLASE#2
  53. // Nombre Identificador: Persona
  54. class Persona {
  55.         // Métodos o funciones pertenecientes a la clase
  56.         // METODO_CONSTRUCTOR
  57.         // Nombre Identificador: Persona(), Debe ser igual al nombre de la clase
  58.         // Parámetros: none o ninguno (void)
  59.         // Sintaxis: TipoDeAcceso NombreDeLaClase( parametros ){
  60.         // bloqueDeInstrucciones }
  61.         public Persona() {
  62.         }
  63.  
  64.         // Métodos o funciones pertenecientes a la clase
  65.         // METODO#1
  66.         // Nombre Identificador: Persona()
  67.         // Parametros: none o ninguno (void)
  68.         // Retorno del método: Ningún valor, Palabra de codificación: void.
  69.         // Instancia: Estática, Palabra de codificación: static.
  70.         // Tipo de Acceso: Publica
  71.         public static void saludar() {
  72.                 // Uso de la clase SYSTEM, objeto OUT, metodo PRINTLN
  73.                 System.out.println("Hola mundo");
  74.                
  75.                 //retorna desde la posicion donde lo llamo.
  76.                 return;
  77.         }
  78.  
  79. }
  80.  
  81. // Salida
  82. // Hola mundo
  83. // Hola mundo
« Última modificación: 31 de Diciembre de 2015, 02:49:03 por CompSystems »
Desde Colombia

Desconectado CompSystems

  • PIC18
  • ****
  • Mensajes: 488
    • Home Page
Re:Mi tutorial de JAVA
« Respuesta #27 en: 29 de Diciembre de 2015, 02:05:36 »
Tutorial Java #3 - Tipos de datos



código completando el videotuto anterior
Código: Java
  1. package paquete_1;
  2.  
  3. public class TiposDeDatos {
  4.  
  5.         public static void main(String args_entrada[]) {
  6.                 // Tipos Primitivos o tipos de datos simples, inician con minúscula:
  7.                 // void, boolean, char, byte, short, int, long, float, double
  8.                 // Tipos complejos o estructuras u objetos en si, denominados Wrappers,
  9.                 // inician con mayúscula, CARÁCTER Y ENTERO son palabras completas :
  10.                 // Void, Boolean, Character, Byte, Short, Integer, Long, Float, Double
  11.  
  12.                 // BOOLEAN: Boleano
  13.                 // | TipoDePrimitivo | Tamaño | ValorMínimo | ValorMáximo | ValorDefault | "Wrapper" |
  14.                 // | boolean         | -      | false       | true        | false        | Boolean   |
  15.                 boolean bolmin = Boolean.FALSE;
  16.                 boolean bolmax = Boolean.TRUE;
  17.                 boolean bol1 = false;
  18.                 boolean bol2 = true;
  19.                 System.out.println("Boolean mínimo: " + bolmin);
  20.                 System.out.println("Boolean máximo: " + bolmax);
  21.                 System.out.println("b1: " + bol1);
  22.                 System.out.println("b2: " + bol2);
  23.                 System.out.println("");
  24.                 System.out.println("");
  25.                
  26.                 // CHAR:
  27.                 // | TipoDePrimitivo | Tamaño | ValorMínimo | ValorMáximo    | ValorDefault   |"Wrapper"|
  28.                 // | char            | 16-bit | Unicode 0   | Unicode 2^16-1 | `\u0000' (null)|Character|
  29.                 char cmin = Character.MIN_VALUE;
  30.                 char cmax = Character.MAX_VALUE;
  31.                 char c1 = '\u0000';
  32.                 char c2 = 65535;
  33.                 char char_n74 = 74;
  34.                 char char_n65 = 65;
  35.                 char char_n86 = 86;
  36.                 char char_A = 'A';
  37.                 System.out.println("# mínimo: -2^16 = " + cmin);
  38.                 System.out.println("# máximo: +2^16-1 = " + cmax);
  39.                 System.out.println("c1: " + c1);
  40.                 System.out.println("c2: " + c2);
  41.                 System.out.println("JAVA = " + char_n74 + char_n65 + char_n86 + char_A );
  42.                 System.out.println("");
  43.  
  44.                 // BYTE:
  45.                 // | TipoDePrimitivo | Tamaño | ValorMínimo | ValorMáximo | ValorDefault | "Wrapper" |
  46.                 // | byte            | 8-bit  | -128        | +127        | (byte)0      | Byte      |
  47.  
  48.                 //  valores mínimo y máximo
  49.                 byte bmin = Byte.MIN_VALUE;
  50.                 byte bmax = Byte.MAX_VALUE;
  51.                 byte b1 = -128;
  52.                 byte b2 = 127;
  53.                 // byte b3 = 128; el lado derecho se desborda
  54.                 System.out.println("# mínimo: -2^7 = " + bmin);
  55.                 System.out.println("# máximo: +2^7-1 = " + bmax);
  56.                 System.out.println("b1: " + b1);
  57.                 System.out.println("b2: " + b2);
  58.                 System.out.println("");
  59.  
  60.                 // SHORT: Entero Corto
  61.                 // | TipoDePrimitivo | Tamaño | ValorMínimo | ValorMáximo | ValorDefault | "Wrapper" |
  62.                 // | short           | 16-bit | -2^15       | +2^15-1     | (short)0     | Short     |
  63.  
  64.                 //  valores mínimo y máximo
  65.                 short smin = Short.MIN_VALUE;
  66.                 short smax = Short.MAX_VALUE;
  67.                 short s1 = -32768;
  68.                 short s2 = 32767;
  69.                 System.out.println("# Entero Corto mínimo: -2^15 = " + smin);
  70.                 System.out.println("# Entero Corto máximo: +2^15-1 = " + smax);
  71.                 System.out.println("s1: " + s1);
  72.                 System.out.println("s2: " + s2);
  73.                 System.out.println("");
  74.  
  75.                 // INTEGER: Entero
  76.                 // | TipoDePrimitivo | Tamaño | ValorMínimo | ValorMáximo | ValorDefault | "Wrapper" |
  77.                 // | int             | 32-bit | -2^31       | +2^31-1     | 0            | Integer   |
  78.  
  79.  
  80.                 //  valores mínimo y máximo
  81.                 int imin = Integer.MIN_VALUE;
  82.                 int imax = Integer.MAX_VALUE;
  83.                 // En la asignación de números no requieren sufijos
  84.                 int i1 = -2147483648;
  85.                 int i2 = 2147483647;
  86.                 //int i3 = -2^31;
  87.                 //int i4 = +2^31-1;
  88.  
  89.                 System.out.println("# Entero mínimo: -2^31 = " + imin);
  90.                 System.out.println("# Entero máximo: +2^31-1 = " + imax);
  91.                 System.out.println("i1: " + i1);
  92.                 System.out.println("i2: " + i2);
  93.                 System.out.println("");
  94.  
  95.                 // LONG: Entero largo
  96.                 // | TipoDePrimitivo | Tamaño | ValorMínimo | ValorMáximo | ValorDefault | "Wrapper" |
  97.                 // | long            | 64-bit | -2^63       | +2^63-1     | 0L           | Long      |
  98.  
  99.                 // se requiere sufijo, L mayúscula o l minúscula
  100.                 // se puede obviar el sufijo si esta en el rango de ENTERO o menor
  101.                 long lmin = Long.MIN_VALUE;
  102.                 long lmax = Long.MAX_VALUE;
  103.  
  104.                 long l1 = -9223372036854775808L;
  105.                 long l2 = 9223372036854775807l;
  106.                 long l3 = 2147483648L;
  107.                 long l4 = 2147483647;
  108.                 // long l5 = 2147483648; // genera un error
  109.  
  110.                 System.out.println("# Entero largo mínimo: -2^63 = " + lmin);
  111.                 System.out.println("# Entero largo máximo: +2^63 = " + lmax);
  112.                 System.out.println("l1: " + l1);
  113.                 System.out.println("l4: " + l4);
  114.                 System.out.println("");
  115.  
  116.                 // LONG: Numero en punto flotante
  117.                 // | TipoDePrimitivo | Tamaño | ValorMínimo | ValorMáximo | ValorDefault | "Wrapper" |
  118.                 // | float           | 32-bit | IEEE754     | IEEE754     | 0.0f         | Float     |
  119.                 // Se requiere el sufijo, F mayúscula o f minúscula
  120.                 float fmin = Float.MIN_VALUE;
  121.                 float fmax = Float.MAX_VALUE;
  122.                 float f1 = 1.4E-45F;
  123.                 float f2 = 3.4028235E38f;
  124.                 float f3 = 1f;
  125.                 float f4 = 1.0f;
  126.                 System.out.println("# foltante mínimo: " + fmin);
  127.                 System.out.println("# foltante máximo: " + fmax);
  128.                 System.out.println("f1: " + f1);
  129.                 System.out.println("f2: " + f2);
  130.                 System.out.println("f3: " + f3);
  131.                 System.out.println("f4: " + f4);
  132.                 System.out.println("");
  133.                 // Los numeros float se imprimen con punto, comparar f3 y f4
  134.  
  135.                 // DOUBLE: Numero en doble presicion flotante
  136.                 // | TipoDePrimitivo | Tamaño | ValorMínimo | ValorMáximo | ValorDefault | "Wrapper" |
  137.                 // | double          | 64-bit | IEEE754     | IEEE754     | 0.0d         | Double    |
  138.  
  139.                 // sufijo, D mayuscula o d
  140.                 double dmin = Double.MIN_VALUE;
  141.                 double dmax = Double.MAX_VALUE;
  142.                 double d1 = 4.9E-324d;
  143.                 double d2 = 1.7976931348623157E308d;
  144.                 double d3 = 1.7976931348623157E308; // sufijo ???
  145.                 System.out.println("# double mínimo: " + dmin);
  146.                 System.out.println("# double máximo: " + dmax);
  147.                 System.out.println("d1: " + d1);
  148.                 System.out.println("d2: " + d2);
  149.                 System.out.println("d3: " + d3);
  150.                 System.out.println("");redactando ...
« Última modificación: 29 de Diciembre de 2015, 03:25:13 por CompSystems »
Desde Colombia

Desconectado CompSystems

  • PIC18
  • ****
  • Mensajes: 488
    • Home Page
Re:Mi tutorial de JAVA
« Respuesta #28 en: 31 de Diciembre de 2015, 02:39:39 »
 Se muestra el uso de métodos GET y SET

Video 5, 6




//
Código: Java
  1. // Archivo Main.java
  2.  
  3. // Se muestra el uso de métodos GET y SET
  4. // las personas creadas como persona_1 y persona_2 usan la clase PERSONA dentro del mismo archivo (INTERNO)
  5. // mientras que las personas creadas como persona_3 y persona_4 usan la clase PERSONA en archivo EXTERNO
  6. // Como el constructor de la clase PERSONA (Archivo interno) no define los campos o variables instancia, por defecto JAVA  asigna a las cadena
  7. // como NULL, enteros como 0, etc
  8.  
  9. // Se definen 2 constructores de la clase PERSONA (Archivo Externo) el primero define el campo NOMBRE, el 2do no realiza nada
  10. // el campo o atributo EDAD se definió como estático, entonces permanece igual entre diferentes objetos
  11.  
  12. package paquete_1;
  13.  
  14. public class Main {
  15.         public static void main(String args_entrada[]) {
  16.  
  17.                 Persona_archivo_Interno persona_1 = new Persona_archivo_Interno();
  18.                 persona_1.setNombre("Juan");
  19.                 persona_1.setEdad(38);
  20.                 persona_1.mostrarDatos();
  21.                 System.out.println("\n");
  22.  
  23.                 Persona_archivo_Interno persona_2 = new Persona_archivo_Interno();
  24.                 // persona_2.setNombre("Jaime");
  25.                 // persona_2.setEdad(39);
  26.                 persona_2.mostrarDatos();
  27.                 System.out.println("\n");
  28.  
  29.                 Persona_archivo_Externo persona_3 = new Persona_archivo_Externo("Carla");
  30.                 // persona2.setNombre("Carla");
  31.                 persona_3.setEdad(14);
  32.                 persona_3.mostrarDatos();
  33.                 System.out.println(Persona_archivo_Externo.getEdad() + "\n");
  34.  
  35.                 Persona_archivo_Externo persona_4 = new Persona_archivo_Externo();
  36.                 persona_4.setNombre("Jorge");
  37.                 // persona_4.setEdad(55);
  38.                 persona_4.mostrarDatos();
  39.                 System.out.println(Persona_archivo_Externo.getEdad() + "\n");
  40.  
  41.                 Persona_archivo_Externo persona_5 = new Persona_archivo_Externo("Lucas", 12);
  42.                 // persona_5.setNombre("Lucas");
  43.                 // persona_5.setEdad(10);
  44.                 persona_5.mostrarDatos();
  45.         }
  46. }
  47.  
  48. class Persona_archivo_Interno {
  49.         // 1: CAMPOS
  50.         // Identificadores instancia de la clase
  51.         private String nombre;
  52.         private int edad;
  53.         int b;
  54.  
  55.         // 2: CONSTRUCTOR
  56.         // Función o método CONSTRUCTOR para inicializar los identificadores
  57.         // instancia de la clase
  58.         public Persona_archivo_Interno() {
  59.                 // No hace nada
  60.         }
  61.  
  62.         // 3: METODOS
  63.         public void setNombre(String nombre) {
  64.                 // this.nombre es el campo y no parametro
  65.                 // se usa THIS para diferenciar PARAMETRO de VARIABLE cuando tienen el
  66.                 // mismo nombre
  67.                 this.nombre = nombre;
  68.                 // retorna desde la posición donde lo llamo.
  69.                 return;
  70.         }
  71.  
  72.         public void setEdad(int edad_) {
  73.                 // como el parámetro es diferente a la variable de campo, no se requiere
  74.                 // THIS
  75.                 edad = edad_;
  76.                 // retorna desde la posición donde lo llamo.
  77.                 return;
  78.         }
  79.  
  80.         public int getEdad() {
  81.                 return edad;
  82.         }
  83.  
  84.         public String getNombre() {
  85.                 return nombre;
  86.         }
  87.  
  88.         public void mostrarDatos() {
  89.                 // this.nombre es el campo y no parámetro
  90.                 System.out.println("El nombre de la persona es: " + nombre);
  91.                 System.out.println("La edad de " + nombre + " es: " + edad + " años");
  92.                 // retorna desde la posición donde lo llamo.
  93.                 return;
  94.         }
  95. }
  96.  
  97. //

//
Código: Java
  1. // Archivo Persona_archivo_Externo.java
  2.  
  3. package paquete_1;
  4.  
  5. class Persona_archivo_Externo {
  6.         // 1: CAMPOS
  7.         // Identificadores instancia de la clase
  8.         private String nombre;
  9.         public static int edad;
  10.         int b;
  11.  
  12.         // 2: CONSTRUCTOR
  13.         // Función o método CONSTRUCTOR para inicializar los identificadores
  14.         // instancia de la clase
  15.         public Persona_archivo_Externo(String nombre) {
  16.                 this.nombre = nombre;
  17.         }
  18.  
  19.         public Persona_archivo_Externo(String nombre, int edad) {
  20.                 this.nombre = nombre;
  21.                 this.edad = edad;
  22.         }
  23.  
  24.         public Persona_archivo_Externo() {
  25.         }
  26.  
  27.         // 3: METODOS clase Persona_archivo_Externo
  28.         public void setNombre(String nombre) {
  29.                 // this.nombre es el campo y no parámetro
  30.                 this.nombre = nombre;
  31.         }
  32.  
  33.         public void setEdad(int edad_) {
  34.                 // this.nombre es el campo y no parámetro
  35.                 edad = edad_;
  36.         }
  37.  
  38.         public static int getEdad() {
  39.                 return edad;
  40.         }
  41.  
  42.         public String getNombre() {
  43.                 return nombre;
  44.         }
  45.  
  46.         public void mostrarDatos() {
  47.                 // this.nombre es el campo y no parámetro
  48.                 System.out.println("El nombre de la persona es: " + nombre);
  49.                 System.out.println("la edad de " + nombre + " es: " + edad + " años");
  50.                 // retorna desde la posición donde lo llamo.
  51.                 return;
  52.         }
  53. }
  54. //

Salida

El nombre de la persona es: Juan
La edad de Juan es: 38 años


El nombre de la persona es: null
La edad de null es: 0 años


El nombre de la persona es: Carla
la edad de Carla es: 14 años
14

El nombre de la persona es: Jorge
la edad de Jorge es: 14 años
14

El nombre de la persona es: Lucas
la edad de Lucas es: 12 años
« Última modificación: 31 de Diciembre de 2015, 02:47:39 por CompSystems »
Desde Colombia

Desconectado CompSystems

  • PIC18
  • ****
  • Mensajes: 488
    • Home Page
Re:Mi tutorial de JAVA
« Respuesta #29 en: 05 de Enero de 2016, 23:27:19 »
Tutorial Java # 8 Leer Datos Desde La Consola

//
Código: Java
  1. package paquete_1;
  2. //import java.util.*;
  3. import java.util.Scanner;
  4. // uso de la clase Scanner que se encuentra en el paquete JAVA que a su vez usa el paquete UTIL para capturar datos por teclado
  5.  
  6. public class Entrada_de_datos {
  7.         private static Scanner inputKeyBoard;
  8.  
  9.         public static void main(String args_entrada[]) {
  10.  
  11.                 // Se crea una instancia llamada inputKeyBoard
  12.                 // para especificar el escaneo de captura de datos por lo general es una
  13.                 // cadena que se encuantra en la clase SYSTEM, Objeto IN
  14.                 inputKeyBoard = new Scanner(System.in);
  15.  
  16.                 System.out.println("Entre un texto");
  17.                 String capturaDeTexto = inputKeyBoard.nextLine();
  18.                 System.out.println("El texto es " + capturaDeTexto);
  19.  
  20.                 System.out.println("Entre un numero");
  21.                 int capturaEntero = inputKeyBoard.nextInt();
  22.                 System.out.println("El numero es " + capturaEntero);
  23.                
  24.                 System.out.println("Entre un numero entero");
  25.                 int capturaEntero2 = Integer.parseInt(inputKeyBoard.nextLine());
  26.                 System.out.println("El numero es " + capturaEntero2);
  27.         }
  28. }
  29. //


Video #9 & 10 ENCAPSULAMIENTO
//
Código: Java
  1. //Archivo Main.java
  2. package paquete_1;
  3. //[youtube]https://www.youtube.com/watch?v=pxsEpHxzF_g[/youtube]
  4. // paquete paquete_2, Clase Bank
  5. import paquete_2.Bank;
  6.  
  7. public class Main {
  8.         public static void main(String args_entrada[]) {
  9.                
  10.                 // usuario del banco
  11.                 Bank usuario_jaime = new Bank();
  12.                 usuario_jaime.showCash();
  13.                
  14.                 // Para proteger la cuenta el identificador CASH debe ser privado de los contrario la siguiente sentencia se podría ejecutar
  15.                 // y agregar el saldo que quiera
  16.                 // usuario_jaime.cash(60000);
  17.                 // Mientras que con setCash protejo el código y verifica el tope máximo a consignar
  18.                 // usuario_jaime.setCash(6000);
  19.                 usuario_jaime.setCash(4900);
  20.                 usuario_jaime.getCash(4000);
  21.                 usuario_jaime.showCash();
  22.                
  23.                 // Método DEFAULT y PROTECTED no pueden ser llamados desde este paquete
  24.                 // usuario_jaime.metodoDefault();
  25.                 // usuario_jaime.metodoProtected();
  26.         }
  27. }
  28. //
//
Código: Java
  1. //Archivo Bank.java
  2. package paquete_2;
  3.  
  4. public class Bank {
  5.         private String nameAccount;
  6.         private double cash;
  7.         // Como generar código mas rápido
  8.         // [CTRL]+[SPC] nos genera un menu de opciones para agregar GET & SET
  9.        
  10.         public void getCash(double cash ) {
  11.                 if (this.cash >= cash) {
  12.                         System.out.println("Se ha retirado la cantidad de " + cash);
  13.                         // Se resta el retiro
  14.                         this.cash = this.cash - cash;
  15.                         // this.cash -= - cash;
  16.                        
  17.                 } else {
  18.                         System.out.println("No es posible retirar la cantidad, Saldo insuficiente" + cash);
  19.                        
  20.                 }
  21.         }
  22.        
  23.         public void showCash() {
  24.                 System.out.println("Tu saldo actual es " + cash );
  25.         }
  26.        
  27.         public void setNameAccount(String nameAccount) {
  28.                 this.nameAccount = nameAccount;
  29.         }
  30.        
  31.         public String getNameAccount() {
  32.                 return nameAccount;
  33.         }
  34.        
  35.         public void setCash(double cash) {
  36.                 // Limite maximo a agregar
  37.                 if (cash > 5000) {
  38.                         System.out.println("No fue posible agregar saldo de " + cash);
  39.                 } else {
  40.                         System.out.println("Se agrego al saldo un valor de " + cash);
  41.                         this.cash = cash;
  42.                 }
  43.         }
  44.        
  45.         // Método tipo DEFAULT
  46.         // Solo se puede acceder dentro del mismo paquete, la misma clase y clases que sean
  47.         // heredadas
  48.         void metodoDefault() {
  49.  
  50.         }
  51.  
  52.         // Método tipo PROTECTED
  53.         protected void metodoProtected() {
  54.  
  55.         }
  56.  
  57.        
  58.        
  59. }
  60. //


//
Código: Java
  1. //Archivo Employee.java
  2. package paquete_2;
  3.  
  4. public class Employee {
  5.         // se crea una instancia de la clase BANK
  6.         private Bank empleado_1;
  7.  
  8.         // Constructor
  9.         public Employee() {
  10.                 empleado_1 = new Bank();
  11.         }
  12.  
  13.         public void funcion_1() {
  14.                 // uso de los Método DEFAULT y PROTECTED
  15.                 empleado_1.metodoDefault();
  16.                 empleado_1.metodoProtected();
  17.         }
  18.  
  19. }
  20. //
Salida



Tu saldo actual es 0.0
Se agrego al saldo un valor de 4900.0
Se ha retirado la cantidad de 4000.0
Tu saldo actual es 900.0
« Última modificación: 07 de Enero de 2016, 23:50:45 por CompSystems »
Desde Colombia