elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: [Aporte] Mejores practicas en Java


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 49
71  Programación / Java / Re: Arrays JAVA PROBLEMA CON EL 0 en: 19 Mayo 2017, 07:18
Pon el resto del codigo, porque lo que pusiste funciona perfecto.

Código
  1. String[] num = new String [10] ;
  2.        num[0]= "Cero";
  3.        num[1]  = "Uno";
  4.        num[2] = "Dos";
  5.        num[3] = "Tres";
  6.        num[4] = "Cuatro";
  7.        num[5] = "Cinco";
  8.        num[6] = "Seis";
  9.        num[7] = "Siete";
  10.        num[8] = "Ocho";
  11.        num[9] = "Nueve";
  12.        for (String s :  num) System.out.println(s);
  13.  
72  Programación / Java / Re: [CURSO] Programación en Java en: 19 Mayo 2017, 01:10
Variables y Constantes

En la informática existen dos conceptos muy importantes, son las variables y las constantes. A continuación, abordaremos ambos términos.


Variables

Las variables son espacios de memoria reservados en la RAM utilizados para guardar valores de distinta índole con los cuales se puede operar o directamente modificar. En palabras más simples, las variables son casillas de memoria en las cuales ingresamos un valor, por ejemplo, un número.

En Java cada variable se compone de tres partes, un tipo, un identificador y un valor (aunque dicho valor puede ser nulo).



1.   El tipo es el que nos permite saber si una variable es numérica, una palabra u otra cosa. (Existen lenguajes que no requieren definir el tipo de una variable ya que los detectan automáticamente, sin embargo, en Java esto no es así).
2.   El identificador o nombre de la variable es necesario para que podamos referirnos a ella posterior a su creación.
3.   El valor es cualquier tipo de… valor que queramos guardar en nuestra variable.

(No mencionare nada respecto a los punteros ya que Java, si bien los posee, no permite el uso explícito de punteros en el código.)

Tipos de Variables

Podríamos dividir las variables en dos partes:
1.   Primitivas: Entidades elementales como lo es un numero o carácter.
2.   Objetos: Entidades complejas como una palabra (un conjunto de caracteres).

VARIABLES PRIMITIVAS
Las variables primitivas a su vez pueden ser catalogadas en cuatro:

  • Enteras (Almacena números enteros): byte, short, int y long
  • Coma flotante (Almacena números decimales): float y double
  • Caracteres (Almacena un carácter): char
  • Lógicas (Almacena un valor “verdadero” o “falso”): boolean

A continuación, abordaremos cada tipo:

Enteros

Existen cuatro variables enteras que se diferencian en el tamaño de valores que pueden almacenar. ¿Recuerdas que te mencione que las variables son espacios de memoria? Pues, vale. Ahora resulta evidente que no es lo mismo guardar un “1” a guardar un “999999999”, esto sucede porque los espacios de memorias que utiliza una variable se miden en “bytes”.

Si quieres saber más sobre espacios de memorias ingresa al Curso de Fundamentos de Ingeniería en Informática (Aun no disponible).

La siguiente tabla especifica la cantidad de bytes y que utiliza cada variable:

TIPOUSO DE MEMORIARANGO DE VALORES
byte1 byte-128 a 127
short2 bytes-32768 a 32767
int4 bytes-2147483648 a 2147483647
long8 bytes-9223372036854775808 a 9223372036854775807

Por defecto Java maneja todos los números en int, por tanto, si utilizas un numero sin declararlo como variable este será int. (luego hablaremos un poco más de esto).

Otro tema es que para inicializar una variable long es necesario utilizar la letra L al final del número, por ejemplo:
Código
  1. long numeroMuyGrande = 36854775808L;

Decimales

Existen dos tipos de números decimales y se aplica la misma regla que en los números enteros (uno requiere de menos memoria que otro). Sin embargo, esto más que asociado al rango de valores está más asociado a la precisión del decimal (menos o más decimales).

TIPOUSO DE MEMORIARANGO DE VALORES
float4 byte+-3.4x10-38 a +-3.4x1038
double8 bytes+-1.8x10-308 a +-1.8x10308

Java por defecto utiliza double para todos los números con coma flotante.

Al igual que pasa con long para declarar una variable float es necesario hacer uso de una letra, en este caso la F
Código
  1. float numeroDeComaFlotante = 1.5F;

Caracteres

Un carácter utiliza 2 bytes y para definir un valor es necesario utilizar comillas simples '

Código
  1. char caracter = 'B';

También puedes declarar un carácter a partir de su número en el código ASCII, por ejemplo, el carácter arroba "@" es igual a 64. Para estos casos no se ha de utilizar una comilla simple.
Ejemplo:

Código
  1. char caracter1 = '@';
  2. char caracter2 = 64;

Tanto caracter1 como carácter2 tienen el mismo valor y no se diferencian en absolutamente nada.

Verdadero o Falso

Las variables de verdadero o falso son conocidas como booleanas. Es prácticamente un 0 o un 1 (falso o verdadero). El espacio en memoria que utiliza una variable booleana es 1 bit (no un byte) y los valores que admiten son “true” o “false” sin comillas.

Código
  1. boolean verdadero = true;
  2. boolean falso = false;

VARIABLES OBJETO

Las variables objeto son instancias de una clase, en este tutorial solo abordaremos una clase (aunque existen muchas más y además tu puedes crear más).

La clase que abordaremos se llama Stirng y aunque no lo creas ya la haz utilizado. ¿Recuerdas?
Código
  1. System.out.println("Este es un mensaje");
  2.  
System.out.println(); recibe como entrada un conjunto de caracteres, y justamente eso es lo que es un String… un conjunto de caracteres. Para declarar un String es necesario definir su valor entre comillas dobles "

Código
  1. String oracion = "esto es un String";

(Ojo, que la primera letra de “String” es en mayúscula. No es "string" sino que "String", esto es debido a las convenciones de Java)

Nombres de Variables

  • Todos los identificadores han de comenzar con una letra, el carácter guión bajo ( _ ) o el carácter dollar ( $ ).
  • Puede incluir, pero no comenzar por un número
  • No puede incluir el carácter espacio en blanco
  • Distingue entre letras mayúsculas y minúsculas
  • No se pueden utilizar las palabras reservadas como identificadores.

(Existen convenciones asociadas a los nombres de variables, las cuales no abordare por ahora, pero te recomiendo de sobremanera seguirlas: convenciones).

Declaración e Inicialización de Variables

Existen dos términos que tienes que dominar al utilizar variables:

  • Declaración: Es la forma en que le damos a conocer al ordenador que pretendemos crear una variable. Acá definimos el tipo y el nombre de la variable.
  • Inicialización: Es el momento en que le asignamos a una variable previamente declarada un valor.
  • Modificación: Es el momento en que modificas el valor de una variable previamente inicializada.

DECLARACIÓN

Para declarar una variable haces lo siguiente:

Código
  1. int nombre;

O puedes declarar muchas variables del mismo tipo a la vez:

Código
  1. int nombre1, nombre2, nombre3, nombre4;

No puedes declarar más de una variable con un mismo nombre (aun cuando no tengan el mismo tipo). Por Ejemplo, esto daría error:

Código
  1. int nombre;
  2. int nombre;

(Esta regla tiene sus excepciones ya que existe otra forma de clasificar a las variables. Por ahora quédate con que en un mismo bloque de código no puedes declarar dos variables con el mismo nombre)

INICIALIZACIÓN

Para inicializar una variable (o sea, darle valor):

Código
  1. nombre = 5;

(recuerda que para inicializar la variable “nombre” primero tienes que declararla)

También puedes declarar e instanciar una variable en la misma línea:

Código
  1. int nombre = 5;

O también puedes declarar e instanciar muchas variables a la vez (siempre que compartan el mismo tipo):

Código
  1. int nombre1 = 5, nombre2 = 2, nombre3 = 7;

También puedes asignar el valor de una variable con una variable previamente inicializada:
Código
  1. int nombre1 = 5;
  2. int nombre2 = nombre1;

MODIFICACIÓN

Las variables pueden modificar sus valores y se hace de la misma forma que cuando inicializamos las variables:

Código
  1. int nombre = 6;
  2. nombre = 5;

También lo puedes hacer con una variable inicializada anteriormente:

Código
  1. int nombre1;
  2. int nombre2 = 6;
  3. nombre1 = nombre2;


Constantes

Las funcionan igual que las variables, la única diferencia es que una vez inicializadas su valor no puede cambiar. Para indicarle a Java que tu variable es una constante solo tienes que agregar la palabra reservada “final” al inicio:

Código
  1. final int numero = 5;

Al realizar esto no podrás cambiar el valor de “numero” ya que lanzara error.

Esto es especialmente útil para aquellos valores que no han de cambiar en la ejecución del programa, por ejemplo, el valor de PI:

Código
  1. final float pi = 3.14F;


Impresión de Variables y Constantes

Puedes imprimir variables y constantes con System.out.println(); o System.out.print(); simplemente en vez de agregar el texto entre comillas agregas el nombre de la variable o constante que quieres imprimir. (Recuerda que para hacer esto es necesario haber inicializado la variable previamente)

Código
  1. int variable = 88;
  2. System.out.println(variable);

O por ejemplo:

Código
  1. String texto = "El valor de la variable numero es: ";
  2. int numero = 55;
  3. System.out.print(texto);
  4. System.out.println(numero);

(En tutoriales posteriores te enseñare a hacer esto mismo pero con un solo system.out.println() haciendo uso de la concatenación)



RECURSOS ASOCIADOS A ESTE TUTORIAL:
  • Video Tutorial – Proyectos en Java
  • Tutorial descargable .DOCX

RECURSOS COMPLEMENTARIOS:
No existen recursos complementarios para este artículo.
73  Programación / PHP / Re: Formas de obtener la IP de Browser cliente en: 19 Mayo 2017, 00:23
Supongo que con javascript. Al ejecutarse por lado del cliente cuando el javascript haga una petición con ajax al servidor de Google, Google sabra la IP del cliente.

engel lex me tiene mania y contesta antes que yo para hacerme sentir mal
74  Programación / PHP / Re: Descontar Cantidad en Utilidad en: 18 Mayo 2017, 22:29
Aaah, con razón. Ya decia yo que pregunta tan rara.

1. Primero te recomiendo aprender a programar bien antes de ponerte a editar codigo de terceros (que por cierto, no es el mejor codigo del mundo si lo que quieres es aprender a programar bien).

2. Si, tendras que descontar el valor de los pagos a la comision tontal, por tanto tienes tres opciones:
        • Seleccionar todos los pagos en BD y descontarlos a comision_total (uno por uno, o la suma de todos)
        • Seleccionar la suma de todos los pagos desde la BD y decontarlo directamente en comosión total.
        • Seleccionar comision_total menos la suma de todos los pagos directamente en bd y luego imprimirla con PHP.

Tampoco se como funciona la plataforma en detalle. Y dudo que alguien del foro se ponga a descargar la base de datos, leer la documentación o el codigo para responderte (se supone que tu tienes que hacer eso).

75  Programación / PHP / Re: Duda Php y dirección IP en: 18 Mayo 2017, 07:10
En principio si la IP que registra google es de quien haga la petición y la petición la hace el servidor. Por tanto, la IP que ve google es la del servidor que ejecuta el script de PHP.

(Eso es lo que te dijo engel lex, pero espero que lo intuyeras)
76  Programación / Java / Re: Contenedores anidados. (Arraylist) en: 18 Mayo 2017, 05:00
la verdad no estoy seguro, muy interesante lo que me acaba de mostrar. No sabia que se podía crear un Arraylist de tipo Arraylist y dentro de ellos tener mas listas. Aunque acostumbro a trabajar con LinkedList.

Seria lo mismo
Código
  1. LinkedList<LinkedList> containerContainer = new LinkedList<>();
  2.        LinkedList<Integer> ai = new LinkedList<>();
  3.        ai.add(2);
  4.        ai.add(3);
  5.        ai.add(4);
  6.        ai.add(5);
  7.        containerContainer.add(ai);
  8.        System.out.println(containerContainer);

de hecho la salida es:
Código:
[[2, 3, 4, 5]]

Ni modo, con lo que me dices es lo unico que se me ocurre
77  Programación / Java / Re: Contenedores anidados. (Arraylist) en: 18 Mayo 2017, 04:24
¿Contenedores? Lo mas cercando seria la clase Container de awt o los Wrappes ... pero si dices que es un array list, ok.  :xD (que extraña forma de decirles).

Quizas se refiera a hacer un arrayList de arrayList o algo asi  ;D

Código
  1.        ArrayList<ArrayList> containerContainer = new ArrayList<>();
  2.  
  3.        ArrayList<Integer> ai = new ArrayList<>();
  4.        ai.add(2);
  5.        ai.add(3);
  6.        ai.add(4);
  7.        ai.add(5);
  8.  
  9.        containerContainer.add(ai);
  10.  
  11.        for(ArrayList<Integer> arr : containerContainer) {
  12.            for(Integer i : arr) {
  13.                System.out.println(i);
  14.            }
  15.        }
  16.  
  17.  



Sera eso?

Esto de inventar nombres  :xD :xD
78  Programación / Desarrollo Web / Re: Duda sobre creacion de pagina web en: 17 Mayo 2017, 17:46
Eso que dices se llama scraping y es exactamente lo mixmo que hace Google u otros buscadores.

Te falta un lenguaje que corra por servidor como PHP, y otro que te permita hacer el scraping (lo puedes hacer con PHP tambien, u otro, pero recomendaria Python).

Y quizas seria pertinente javascript para la pagina en front end. Como sea, este tipo de cosas las han preguntado muchisimo. Intenta ocuar el buscador la proxima vez.



Casi se me olvida, necesitas una base de datos tambien, te recomendaria alguna que haga sinergia con el lenguaje de programacion que utilices en servidor.

PHP -> MySQL
Java -> Oracle (por dar un ejemplo)
Node.js -> MongoDB

Ni idea... como quieras, existen muchos lenguajes. (Aun así, usa el buscador)  :xD
79  Foros Generales / Foro Libre / Re: Parece que Corea del Norte está detrás de WannaCry en: 17 Mayo 2017, 15:56
Quien diria que habia una mejor forma de hacer lo mismo que algunos creen que se intento hacer con las torres gemelas pero sin matar a nadie....  :xD

La verdad es que no confio mucho en entidades como esta. Para cuando se publican los estudios de los especialistas de ingenieria inversa o analisis de malware de elhacker.net?  :silbar:



Ya enserio. Si fuera corea del norte el culpable le vendria como anillo al dedo a algunos paises. Ayer cuando fui a trabajar vi a dos pequeños negocios cerrados por "ataque informatico".
80  Programación / Java / Re: Hace tres dias que no encuentro el error, caso de uso en: 16 Mayo 2017, 05:13
La mayoria de las veces los errores son ese tipo de "estupideces", es normal.  :xD

Si quieres saber mas sobre las expresiones regulares te recomiendo estudiar Automatas.

Suerte con tus estudios!
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 49
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines