JAVA

HISTORIA DE JAVA 
Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada the Green Project en Sun Microsystems en el año 1991. El equipo (Green Team), compuesto por trece personas y dirigido por James Gosling, trabajó durante 18 meses en Sand Hill Road, en Menlo Park, en su desarrollo.
El lenguaje se denominó inicialmente Oak (por un roble que había fuera de la oficina de Gosling), luego pasó a denominarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas gráficas, y finalmente se renombró como Java.
Es frecuentada por algunos de los miembros del equipo. Pero no está claro si es un acrónimo o no, aunque algunas fuentes señalan que podría tratarse de las iniciales de sus diseñadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el siguiente acrónimo, Just Another Vague Acronym ("sólo otro acrónimo ambiguo más"). La hipótesis que más fuerza tiene es la de que Java debe su nombre a un tipo de café disponible en la cafetería cercana; de ahí que el icono de Java sea una taza de café caliente. Un pequeño signo que da fuerza a esta teoría es que los cuatro primeros bytes (el número mágico) de los archivos.class que genera el compilador, son en hexadecimal, 0xCAFEBABE. A pesar de todas estas teorías, el nombre fue sacado al parecer de una lista aleatoria de palabras.
La primera característica, orientado a objetos  (“OO”), se refiere a un método de programación y al diseño del lenguaje. Aunque hay muchas interpretaciones para OO, una primera idea es diseñar el software de forma que los distintos tipos de datos que usen estén unidos a sus operaciones. Así, los datos y el código (funciones o métodos) se combinan en entidades llamadas objetos. Un objeto puede verse como un paquete que contiene el “comportamiento” (el código) y el “estado” (datos). El principio es separar aquello que cambia de las cosas que permanecen inalterables. Frecuentemente, cambiar una estructura de datos implica un cambio en el código que opera sobre los mismos, o viceversa. Esta separación en objetos coherentes e independientes ofrece una base más estable para el diseño de un sistema software. El objetivo es hacer que grandes proyectos sean fáciles de gestionar y manejar, mejorando como consecuencia su calidad y reduciendo el número de proyectos fallidos.

La segunda característica, la independencia de la plataforma, significa que programas escritos en el lenguaje Java pueden ejecutarse igualmente en cualquier tipo de hardware. Este es el significado de ser capaz de escribir un programa una vez y que pueda ejecutarse en cualquier dispositivo, tal como reza el axioma de Java, "write once, run anywhere".
Para ello, se compila el código fuente escrito en lenguaje Java, para generar un código conocido como “bytecode” (específicamente Java bytecode), instrucciones máquina simplificadas específicas de la plataforma Java. Esta pieza está “a medio camino” entre el código fuente y el código máquina que entiende el dispositivo destino.El bytecode es ejecutado entonces en la máquina virtual (JVM), un programa escrito en código nativo de la plataforma destino (que es el que entiende su hardware), que interpreta y ejecuta el código. Además, se suministran bibliotecas adicionales para acceder a las características de cada dispositivo (como los gráficos, ejecución mediante hebras o threads, la interfaz de red) de forma unificada. Se debe tener presente que, aunque hay una etapa explícita de compilación, el bytecode generado es interpretado o convertido a instrucciones máquina del código nativo por el compilador JIT (Just In Time).


ESTRUCTURA LÓGICA DE JAVA


CICLOS EN JAVA 

CICLO FOR : Los ciclos for (o ciclos para) son una estructuras de control cíclica, nos permiten ejecutar una o varias líneas de código de forma iterativa (o repetitiva), pero teniendo cierto control y conocimiento sobre las iteraciones. En el ciclo for, es necesario tener un valor inicial y un valor final, y opcionalmente podemos hacer uso del tamaño del "paso" entre cada "giro" o iteración del ciclo.
for(int i = valor inicial; i <= valor final; i = i + paso)
{
                Bloque de Instrucciones
}
 EJEMPLO:

public class CicloFor{
                public static void main(String args[]){
                               for(int i=500;i<=1000;i+=2){
                                               System.out.println(i);
                               }
                }


CICLO WHILE: presenta ciertas similitudes y ciertas diferencias con el bucle for. La repetición en este caso se produce no un número predeterminado de veces, sino mientras se cumpla una condición.

 while (condición) { instrucciones a ejecutarse } 
public int leerNumero() {
    Scanner sc = new Scanner(System.in);
    int numero = -1;

    while (numero <= 0) {
        System.out.println("Introduce un numero positivo: ");
        numero = sc.nextInt();
    }

    sc.close();

    return numero;
}   


CICLO DO WHILE: es muy similar al ciclo while. La diferencia radica en cuándo se evalúa la condición de salida del ciclo. En el ciclo while esta evaluación se realiza antes de entrar al ciclo, lo que significa que el ciclo puede no llegar ejecutarse. En cambio, en un ciclo  do while, la evaluación se hace después de la primera ejecución del ciclo, lo que significa que el bucle obligatoriamente se ejecuta al menos en una ocasión.


do {
    ...
} while (condicion)
public void numeroPar(int numero) {
    System.out.println("Numero par menor que: " + numero);
    int n;
    do {
        n = (int) (Math.random() * numero);
        System.out.println(n);
    } while (n % 2 != 0);
    System.out.println("Y el numero par elegido es: " + n);
}
CONDICIONAL If

Se evalúa una condición y en caso de que se cumpla se ejecuta el contenido entre las llaves {} o en caso de que se omitan se ejecuta el código hasta el primer “;” por lo tanto si no se usan los {} la condición aplica solo a la siguiente instrucción al if.

import java.util.Scanner;
 public class PositivoNegativo{
  public static void main(String[]args){
Scanner sc=new Scanner(System.in);
int num;
System.out.print("digite un numero");
num=sc.nextInt();
if(num==0){
System.out.print("neutro");
}
else{
if(num>0){
System.out.print("el numero es positivo");
}
else{
System.out.print("el numero es negativo");
}


}

}
}
VECTORES EN JAVA 

Los vectores se utilizan para almacenar información de una manera más ordenada y de esta forma será mas fácil y rápido de acceder a la información cuando la necesitemos.
Un vector es una estructura estática, que se maneja por índices, cada uno de estos índices es un espacio donde se puede almacenar un valor. Si visualizamos un vector en una imagen sería así:
tipo de variable;nombrevec[ ];


import java.util.Scanner;
       public class Notas{
            public static void main(String[]arg){
            Scanner mt=new Scanner(System.in);
              Double[][] notas;
              System.out.println ("Digite dimencion de la Matriz");
              System.out.println("Filas");
              int f=mt.nextInt();
              System.out.println("Columnas");
              int c=mt.nextInt();
              
              notas=new Double[f][c];
              for(int i=0; i<notas.length;i++){
                 
                  for(int j=0; j<notas[i].length;j++){
                     System.out.println ("DIgite notas");
                     notas[i][j]=mt.nextDouble();
                     
                  }
                  
              }
               for(int i=0; i<notas.length;i++){
                 
                  for(int j=0; j<notas[i].length;j++){
                     System.out.print ("|"+notas[i][j]+"|");
                     
                     
                  }
                 System.out.println(); 
              }
          
            }
       }
             



VECTORES EN PSeInt

un vector es una variable,espacio de memoria que agrupa información del mismo tipo para luego referirse a los mismos utilizando uno o más subíndices.
Para crear un arreglo en PSeInt se utiliza la palabra clave Dimensión, seguido del nombre del arreglo (identificador) y su tamaño (numero de subíndices) entre corchetes [].

Acontinuación se presentan algunos ejemplos de vectores en PSeInt:

vector que nos imprime si el numero digitado es positivo o negativo
vector que nos imprime los números digitados de manera inversa 
en este ejercicio se presenta una suma de vectores  

En este ejercicio se puede apreciar la creación de un menú y la realización de diferentes operaciones