Advertisement
Guest User

Clase01

a guest
Sep 5th, 2018
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.52 KB | None | 0 0
  1.  
  2. package clase01;
  3.  
  4. // Clase
  5. /**
  6.  * Clase principal del proyecto 05/09/2018
  7.  * @author EducaciónIT
  8.  */
  9. public class Clase01 {
  10.     /**
  11.      * Modificaciones: se documentan en JavaDOC
  12.      * Punto de entrada del proyecto
  13.      * Ejecutar -> Generar JavaDOC (para relevar todos los comentarios JavaDOC)
  14.      *  Específico de NetBeans
  15.      * @param args Entrada de parámetros de consola
  16.      */
  17.     // Método
  18.     public static void main(String[] args) {
  19.         /*
  20.         Curso: Java Standard Programming 8.X
  21.         Días: Lunes y Miércoles 10:00 a 13:00
  22.         Profesor: Carlos P. Ríos carlos.rios@educacionit.com
  23.         Materiales: alumni.educacionit.com
  24.             user: email (con el que estoy registrado)
  25.             pass: dni
  26.         Software: JDK 8.X o superior    oracle.com
  27.                     netbeans ide        netbeans.org
  28.        
  29.         JDK: Java Development Kit -> herramienta del lenguaje
  30.             Java Compiler. El Java es libre (!= C#), pero el
  31.             JDK es privativo (!= Open JDK [alternativo])
  32.        
  33.             Versiones JDK
  34.             LTS: Long Time Support (8 years) [en otras 6 meses]
  35.                 Para desarrollo prolongado. En producción hay que usar lo que
  36.                 tenga soporte (LTS).
  37.             Compatibilidad de atrás hacia adelante (un script en Java 1
  38.             puede compilarse en Java 11, va a ser obsoleto e inseguro,
  39.             pero funciona). Compatibilidad asegurada.
  40.        
  41.             JDK 8 LTS Se liberó en marzo 2014 y tiene soporte hasta marzo
  42.             2022
  43.             JDK 9 (NO LTS) Se liberó en septiembre 2017 hasta marzo 2018
  44.             Cada 6 meses una versión nueva. Cada 18 meses un LTS nuevo.
  45.             JDK 10         Se liberó en marzo 2018 hasta septiembre 2018
  46.             JDK 11 LTS     Se libera en septiembre 2018 hasta septiembre 2026
  47.             JDK 12 (no LTS) Se libera en marzo 2019. Versiones experimentales.
  48.                             Hasta septiembre 2019
  49.             JDK 13 (no LTS) Se libera en septiembre 2019 hasta marzo 2020.
  50.             JDK 14 LTS      Se libera en marzo 2020 hasta marzo 2028.
  51.        
  52.         IDE (Integrated Development Environment)
  53.         NetBeans 8.X    Funciona con JDK 8 o inferior
  54.             Instalar NetBeans 8.X   y   JDK 8
  55.         NetBeans 9 Beta Funciona con JDK 9 o superior
  56.        
  57.         IDEs Alternativos: Eclipse JDeveloper IntelliJ
  58.         */
  59.        
  60.         // Linea
  61.         /* Bloque */
  62.        
  63.         /**
  64.          * Comentario JavaDOC
  65.          * Se debe colocar antes de la declaración de clases o de métodos
  66.          * No conviene modificar la documentación si no concuerdan los tipos
  67.          * de datos, por ejemplo (que es lo que dicen en las facultades).
  68.          * La documentaciòn es para una etapa de diseño, no para el ciclo de vida.
  69.          *
  70.          * Al escribir Clase01. aparece el JavaDOC. Lo mismo String. o System.
  71.          *
  72.          *
  73.          * El programador con experiencia está siendo un recurso caro
  74.          * (!= analistas de sist.)
  75.          *
  76.          *
  77.          */
  78.        
  79.         /* Tipo de datos primitivos. Java es un lenguaje tipado
  80.         Tipo de datos boolean    0 1 = ocupa un byte (=8 bits)
  81.        
  82.         byte = 010101010         El SO labura la memoria byte a byte
  83.                                     bool = desperdicia bits. Usar los
  84.                                     desperdiciados es más costoso
  85.                                     que desperdiciarlos
  86.         Atajo sout + TAB = System.out.println("");
  87.         */
  88.        
  89.         boolean bo=true;
  90.         System.out.println(bo);
  91.         bo = false;
  92.         System.out.println(bo);
  93.        
  94.         // Los tipos de datos enteros son signed ùnicamente
  95.                                     // signed = negativo o positivo
  96.         // Tipo de dato byte        1 byte signed (-128 a 127)
  97.         byte by =100;
  98.         System.out.println(by);
  99.        
  100.         // C# admite byteU Unsigned     1 byte Unsigned (0 a 255).
  101.         // En Java solo es signed. Es un pequeño desperdicio de memoria
  102.        
  103.         // Tipo de datos entero short 2 bytes
  104.         // 2^16
  105.         short sh = 3000;
  106.         System.out.println( sh );
  107.        
  108.         //Tipo de datos int 4 bytes
  109.         // 2^32
  110.         // 2 mil millones
  111.         int in=2000000000;
  112.         System.out.println(in);
  113.         // Tipo de datos long  8 bytes (64 bits)
  114.         // 16 cifras
  115.         // 3000000000 da error. Hay que aclarar que la literal es long
  116.         // por defacto Java lo toma como int
  117.         // Hay que agregar la L (mayúscula) porque en minùscula parece un uno
  118.         long lo=3000000000L;
  119.         System.out.println(lo);
  120.        
  121.         // No hay un tipo de datos en 128 bit. En otros lenguajes puede haber
  122.        
  123.         // Tipos de datos char (unsigned, único) 2 bytes
  124.         // Entero de 2 byte 0 a 65535
  125.         // La tabla ASCII usa un byte, 255 valores (0 a 254)
  126.         // Después siguen otras tablas para alfabetos no latinos
  127.         char ch =65; // Guarda el 65 pero imprime A mayúscula
  128.         System.out.println(ch);
  129.         ch+=32; // sumé 32. Misma letra en minúscula
  130.         System.out.println(ch);
  131.        
  132.         // Tipos de datos float 32 bits
  133.         // Hay que agregar la f, por default = double
  134.         float fl = 9.25f;
  135.         System.out.println(fl);
  136.        
  137.         // Tipo de datos double 64 bits
  138.         double dl=9.25;
  139.         System.out.println(dl);
  140.        
  141.         fl=10;
  142.         dl=10;
  143.        
  144.         // Ejecutar F6
  145.         // El último dígito en float es muy impreciso. C# no lo muestra.
  146.         // El punto "flota" en toda la longitud del número. Depende del
  147.         // tamaño de la parte entera.
  148.         System.out.println(fl/3);
  149.         System.out.println(dl/3);
  150.        
  151.         fl=100;
  152.         dl=100;
  153.        
  154.         System.out.println(fl/3);
  155.         System.out.println(dl/3);
  156.        
  157.         // Clase String
  158.         // Empieza con mayúscula. Es una clase. No lo muestra en azul
  159.         // porque no es un tipo de datos, es una clase
  160.         // Vector char = 4 posiciones, 4 variables char por letra
  161.         // Apretar Ctrl y mover el mouse por encima de String
  162.         // private final char value[];
  163.         String st= "Texto";
  164.         System.out.println(st);
  165.        
  166.         // hasta Java 9 String almacena en un array de char
  167.         // 4 letras 8 bytes
  168.         // Java 10 o superior el vector es byte no char.
  169.         // private final byte value[];
  170.        
  171.         // Tipo de datos que solo funciona a partir Java 10
  172.         // var = toma cualquier tipo de datos. No es mutable
  173.         // var var1=20; // int
  174.         // var1=534;
  175.         // var1=3.14;   // Error. Fue inicializado en int y así se queda
  176.         // var var2= 3.14; // Double
  177.         // var var3=3.14f; // Float
  178.         // var var4=true; // Bool
  179.         // var var5="Hola"; // String
  180.         // var var6=1000L; // Long
  181.        
  182.         // Es un atributo (en paradigma), no puedo accederlo directamente.
  183.         // Está encapsulado. Leer sobre paradigmas.
  184.         // private final char value[];
  185.         String cadena = "Esto es una cadena de texto";
  186.         // No puedo acceder a value como cadena.value; Es privado.
  187.         System.out.println("Longitud: " +cadena.length());
  188.        
  189.         //Imprimir cadena en mayúsculas
  190.         // Para recorrer el vector desde  hasta lenght
  191.        
  192.         for (int a=0; a<cadena.length(); a++) {
  193.                         // Método. Me lo devuelve como char aunque sea byte
  194.                         // el vector (array)
  195.                        
  196.             // Preferentemente afuera del for para la performance
  197.             // Las versiones más modernas de toda formas lo pasan
  198.             // al for al lado del int.
  199.             // Se hace para legibilidad y mantenimiento
  200.             char car = cadena.charAt( a );
  201.            
  202.             if ( car>=97 && car<=122) car -=32; // Fuente -> Formato para identear
  203.            
  204.             System.out.print(car); // println uno abajo del otro. Solo print
  205.         }
  206.        
  207.         System.out.println(); // Salto de línea
  208.        
  209.         // Operador ternario ?
  210.         // Tiene tres términos
  211.         for (int a=0; a <cadena.length(); a++){
  212.             char car=cadena.charAt(a);
  213.            
  214.             //a++ = operador unario. Un solo término
  215.             //a+=32; operador y dos términos = binario
  216.            
  217.             // Pasé de estructura a funciòn
  218.             System.out.println( ( car>=97 && car<=122 ) ? car -=32 : car );
  219.         }
  220.        
  221.         System.out.println(); // Ejecuto y da el mismo resultado
  222.        
  223.         // Imprimir cadena en minúsculas
  224.         for (int a=0; a <cadena.length(); a++){
  225.             char car=cadena.charAt(a);
  226.            
  227.             //a++ = operador unario. Un solo término
  228.             //a+=32; operador y dos términos = binario
  229.            
  230.             // Pasé de estructura a funcion                 YES     NO
  231.             System.out.println( ( car>=65 && car<=90 ) ? car +=32 : car );
  232.         }
  233.        
  234.         // Programación orientada a aspectos (!= objetos). Apareció en 2001
  235.        
  236.         System.out.println();
  237.        
  238.         // Método que ya recorre el vector por dentro
  239.         // Quita la responsabilidad de usar if, else, while, do while, for
  240.         System.out.println(cadena.toLowerCase());
  241.         System.out.println(cadena.toUpperCase());
  242.        
  243.         // No hay que hacer guardar como porque se duplica el archivo pero se
  244.         // ejecuta el primero
  245.     }
  246. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement