JAVA 3:33
JAVA SCRIP
Memoiseison///optimizacion
Diffchecker//compara códigos
Visualgo//linked list
Playcode///verificar
Tipos de datos
SIEMPRE AL PRINCIPIO DEL HTML
Las funciones son objetos especiales.
Los datos primitivos se pasan por valor, son inmutables; se comparan x su valor.
Los objetos se pasan por referencia, no dan una igualdad apuntan diferente parte de
memoria.
Números repetidos
/*function encontrarFrecuentes(datos){
if(!Array.isArray(datos)){
throw TypeError("El argumento debe ser un arreglo");
}
let conteo = {};
for (const e of datos){
if (conteo[e]){
conteo[e] += 1;
}
else{
conteo[e] = 1;
}
}
//let datos = [1,2,5,4,5,2,4,1,1,1,1,1,8];
let mayorConteo = 0;
let dato = null;
let llaves = Object.keys(conteo);
for(let i = 0; i < llaves.length; i++){
if(conteo[llaves[i]] > mayorConteo){
dato = llaves[i];
mayorConteo = conteo[llaves[i]];
}
}
return(dato);
let datos = [1,2,5,4,5,2,4,8,8,8,8];
try {
console.log(encontrarFrecuentes(datos));
}
catch (e) {
console.log("Error: ${e.message}");
}
*/
let array = [1,2,5,4,5,2,4,8,8,8,8];
function masRepetido(array){
let aux = [];
for(var i = 0; i < array.length; i++){
if(array.indexOf(array[i]) !== i && !aux.include(array[i]))
{
aux.push(array[i]);
}
}
return aux;
}
Ejercicio:
Ejercicios:
Creado por James Gosling en Microsistema Inc. En el año 1995, “Java” (taza café
caliente), surgió su nombre de la reunión de programadores.
Es un lenguaje de programación de propósito general y como tal es valido para realizar
todo tipo de aplicaciones profesionales. Aquí los programas son independientes y
portables, permites escribir programas que se insertan en una página HTML (applets),
aplicaciones para interfaces, aplicaciones cliente/servidor y aplicaciones distribuidas en
redes locales y en internet.
Las sintaxis son parecidas a C++ y todo termina con punto y coma (;).
Public static void main(string[] args) {: librería principal.
System.out.println(“”);: para mostrar o imprimir.
Sout + tab : copias la línea superior.
Ln: salto de línea.
//: comentarios una línea.
/*,*/: Comentarios múltiples líneas.
Import java.util.scanner; : librería para pedir entrada de datos, hay que importar esto
Scanner entrada = new scanner (system.in); : clase para entrada de datos.
X++: incrementa 1, X = Y++: asigna el valor de y a x y después incrementa,
X = ++Y: incrementa x y asigna el valor de y a x. va de izquierda a derecha.
Console.log(algo a resolver o mostrar), ( ‘ Hola, ${variable}’) = Hola, variable
Math.: clase matemática de JAVA.
isNaN(num)//si es un numero devuelve true.
.Pow(base,exponente): Exponencial con su base. math.pow(2,2)//4
.Round(num): Redondea el numero al entero más cerca. (6.5)//7,(6.45)//6.
. Floor(num): redondea al numero entero hacia abajo. (6.99)//6.
.Ceil(num): redondea al numero entero hacia arriba. (6.001)//7
.Randon(num): numero aleatorio.
.max.apply(null,nombre);busca el numero mator.
Ejemplo random:
**Fuction aleatorio(num){
Var ale = (Math.random() * num);
Return ale; } ///aleatorio al hasta el num que asignes.
**Fuction aleatorio(max, min){
Var ale = (Math.random() * (max – min + 1) + min;
Return ale; } ///aleatorio dando max y min.
Ejemplo:
import java.util.Scanner; //importamos java.util
public class EntradaVarios {
public static void main(String[] args) { //librería principal
Scanner entrada = new Scanner (System.in); //clase para entradas
int num; //declaramos variable
System.out.print("DIGITE UN NUMERO: "); //pedimos al usuario
num = entrada.nextInt(); //guardamos en la variable
System.out.println("EL NUMERO ES: " + num); //imprimimos el numero
CADENAS STRING
Son boques de texto, siempre deben de ir encerrados entre comillas.
Var nombreGato = ‘felix’;
.length(cantidad de caracteres de la cadena)
Ejemplo:
.toUpperCase()//para mayúsculas….nombre.toUpperCase
.toLowerCase()//minúsculas.
.includes()//encontrar una palabra
.trim()//quita espacios en blanco,delante y ultimo
Console.log(nombreGato.length);//5
.tostring()//convierte valores numéricos a caracteres
Ejemplo:
Var numstr = n.toString()//conviente ‘n’(que es un numero) a string(para compararlo)
.next(): guarda cadenas sin espacio.
.split()//agrega espacios o lo que quieras
.nextline(): Guarda cadenas con espacio.
.Char: Declaramos una letra.
.charat(0): Guarda la primer carácter.
Esta función es para pedir o enviar información dentro de un mini formulario y solo
manda información carácter, hay que transformarla si es necesario:
. JOptionPane.showMessageDialog(null,"HOLA")); solo mensaje HOLA.
num = Integer.parseInt(JOptionPane.showInputDialog("DIGITE UN NUMERO:")); guarda
una variable entera pedida al usuario.
showMessageDialog(null,"SU CADENA ES " + cadena); muestra mensaje con variable.
.indexOf()//desde donde empieza la palabra a buscar
VARIABLES PRIMITIVAS
VARIABLES ENTERAS:
VARIABLES FLOTANTES:
Las variables tipo float deben terminar con una f y son las más usadas, cada una de sus
variables tiene su tamaño.
VARIABLES CARÁCTER, BOOLEANO:
Char, Estas son encerradas en comillas simples.
Boolean: false o true.
DATOS NO PRIMITIVOS
Estos datos tienen métodos o acciones, estos os usamos dirigidos a objetos-
String: Almacena cadenas de caracteres encerrados en comillas dobles.
Integer: Alamacena valores enteros y null.
Null: Dato vasios.
CONSTANTES
El valor de estas no cambia a diferencias de las variables, se declaran con:
Final int num = 15;
CONDICIONALES MULTIPLES
for (clave in objeto){
if (clave === propiedad){
return true;
}
else{
return false;
}
}
For para objetos, si tiene la misma propiedad true.
if (usuario['email']){
return true;
}
else{
return false;
}
En este caso, si tiene un valor email, automáticamente es true.
FOR
Numero primo
function esPrimo(numero){
if (numero === 2){
return true;
}
else if(numero < 2){
return false;
}
for (var i = 2; i < numero; i++){
if (numero % i === 0){
return false;
} Lista[9,1,2,lol];
}
Return
var stringInvertida = "";
for (var i = this.length -1; i--){
stringInvertida += this.[i];
}
return stringInvertida
}
For para reversa
Foreach()….toma cada una de los elementos del arreglo.
SWITCH
Switch (dato){
Case (instrucciones):
Break;
Default; caso contrario;
Break;
}
function colors(color) {
switch(color){
case ('blue'):
return('This is blue');
case ('red'):
return('This is red');
case ('green'):
return('This is green');
case ('orange'):
return('This is orange');
default:
return('Color no found')
}
}
doWhile{}
function doWhile(numero) {
//Implementar una función tal que vaya aumentando el valor recibido en 5 hasta un
límite de 8 veces
//Retornar el valor final.
//Usar el bucle do ... while.
var contador = 8;
var resultado = 0;
do{
contador -= 1;
resultado += 5;
}while(contador !== 0)
return numero + resultado;
}
OPERADOR TERNARIO
Ejemplo si el numero es par o impar:
canner entrada = new Scanner (System.in);
Int num;
String = mensaje;
System.out.print(“DIGITAR UN NUMERO: ”);
num = entrada.nextInt();
Mensaje = (num % 2 == 0) ? “ES PAR”: “ES IMPAR”;
System.out.print(“mensaje”);
FUNCIONES
Son parte muy importante de un lenguaje de programación, dentro de ellas podemos
calcular, cambiar y programar lo que necesitemos dentro de ellas y usarlas en cualquier
momento para ahorrar código.
Function miFuncion() {};
Var otraFuncion = function () {};
Var yOtra = () => {};
Siempre debe llevar un nombre que se parezca a la acción que va a ejecutar, dentro de los
paréntesis deben de ir sus argumentos, las variables que están dentro de la función no se
pueden utilizar fuera de ellas y la llamaremos solo con el nombre. También le podemos
agregar otros argumentos o agregarles variables a los argumentos:
Function saludo(nom) {
Console.log(‘HOLA ’+ nom);
}
saludo(‘JAIR’); //HOLA JAIR ó
Var nombre = JAIR’´;
Saludo(nombre); //HOLA JAIR.
ARROW FUNCTION
Podemos remplazar la palabra función por =>(flecha),si tiene solo una línea de código;
podemos omitir los corchetes y si le pasamos un parámetro; podemos quitar los
paréntesis. Ejemplo:
Let saludar = function() {
Console.log(“Hola”);
}
Saludar()/////////Hola
Let saludar= () => {
Console.log(“Hola”);
}
Saludar()//////////Hola
Let saludar = () => console.log(‘Hola’);
Saludar()//////////Hola
Let saludar = nombre => console.log(‘Hola ${nombre}’);
Saludar(‘EGLIS’);/////////////Hola EGLIS
OTRO:
Let suma = (x,y) => x + y;
Conlole.log(suma(9,9));/////18
RETURN
Lo usamos para devolver el código dentro de la función, sin utilizar console.log().
ARREGLOS O ARRAYS
son tipos de datos en donde guardamos información, lista de datos en donde guardamos y
organizamos elementos, estos van dentro de corchetes y sus elementos pueden ser
cualquier tipo de datos. Dentro de los cuales tenemos Elementos e Indices;
Paradigmas en la programación es una forma de abordarla siguiendo algunas ideas
fundamentales. Paradigmas funcionales: Con estos aplicamos funciones para transformar
sus elementos sin modificar los originales, se llama asi; por el peso y protagonismo de las
funciones.
Funciones de orden superior o puras:
MAP() o tranformadora
La utilizamos cuando tenemos un array y queremos tener un nuevo array, transforma los
elementos del array, para hacer otro. Ejemplo:
Doblar los elementos del array números; hacemos un nuevo array (doble) lo igualamos
con el vector a doblar con la función transformadora que se invoca x cada elemento del
array, esta recibe elemento a transformar y su posición (si la necesitas)
function map(array, cb) {
// Crea un nuevo array
// Itera sobre cada valor en "array", pásalo a `cb` y luego ubicar
el valor devuelto por `cb` en un nuevo array
// El nuevo array debe tener la misma longitud que el array del
argumento
//Tu código:
var arrayNuevo = array.map(function(ele){
return cb(ele)
})
return arrayNuevo;
}
FILTER()
Filtra los elementos de un array y los copia a un nuevo vector, cumpliendo ciertas
condiciones; ejemplo:
Var num = [1,2,3,4,1];
Var numUnicos = num.filter((numero, posicion, num) => {return posicion ===
numeros.indexof(numero);
})
*colocar elementos que cominsen en a
var nuevoArray = arry.filter(function(str){
return str [0] === "a";
})
}
REDUCE()
Funciona como un ciclo for. Ejemplo: sumar los elementos de un vector.
function acomula(){
var sumaReduce = numeros.reduce((ac,ele,) => ac + ele )
return sumaReduce;
}
La flecha: Remplaza la palabra function.
Tenemos la opción de llamar no solo al acumulador y elemento si no también a la posición
y al mismo vector.(ind,scr)
Remplazamos el return quitando los corchetes
Si no necesitamos que el acumulador comience diferente de cero, no colocamos nada, si
no, hay que colocarlo después de la operación.
FUNCIONES PUSH, POP, UNSHIFT
.Push(): coloca el elemento en la última posición del arreglo.
Lista[1,2,lol]
Lista.push(15);//adicionamos 15
Lista[1,2,lol,15];
.Pop(): saca el ultimo elemento del arreglo.
Lista[1,2,lol,15];
Var ele = lista.pop();guardamos 15 en ele.
ele = 15
lista [1,2,lol]//15 se elimina de la lista.
.Unshift(): ingresa un elemento en la primera posición del arreglo.
Lista[1,2,lol]
Lista.unshift(9);//adicionamos 9
.shift()///saca un elemento del array
.ForEach()recorre un array
Let números = [1,2];
Números.forEach((ele,index) => console.log(‘${ele} esta en la posición ${index}’));
////////1 esta en la posición 0, 2 esta en la posición 1
New……..nuevo metodo.
Typeof()
tuUpperCasr()…….convierte a mayúsculas.
Slice(parámetros donde empesar)…..divide una string. Ejemplo primera letra mayuscula
nombre[0].toUpperCase() + nombre.slice(1)
.split(‘ ‘)[0];…..divide la frase desde el espacio y toma la primera palabra
callback()… es una función que invoca unu función como argumento
setTimeout(function(){ ****
callback(array)
},3000)….haga la acción después de 3 segundos
Recorriendo un arreglo:
Lista[1,2,3,4,5];
For (i = 0; i < lista.legth; i++) {
Console.log(lista[i]);
}
Ultimo elemento de un arreglo
var tal = [4,7,8,5,6,9,5,2,1];
tal[tal.length -1]
.arguments()hace relacion a los elementos de la lista(sin nombre)
function multiplicarArgumentos() {
// Usa la palabra clave `arguments` para multiplicar todos los
argumentos y devolver el producto
// Si no se pasan argumentos devuelve 0. Si se pasa un argumento,
simplemente devuélvelo
// Escribe tu código aquí:
var mul = 1;
if (arguments.length === 0){
return 0;
}
else if(arguments.length === 1){
return arguments[0];
}
else{
for (var i = 0; i < arguments.length; i++ ){
mul *= arguments[i];
}
}
console.log(mul);
}
function todosIguales(arreglo) {
//Escriba la función todosIguales, que indique si todos los elementos de un arreglo son
iguales:
//retornar true, caso contrario retornar false.
//Escribe tu código aquí
for (var i = 0; i < arreglo.length ; i++){
if (arreglo[i] !== arreglo[i + 1]){
return false;
}
return true;
}
}
POO (Programación Orientada a Objetos)
CLASES = Modelo a seguir.
OBJETOS = Instancia de una clase.
ATRIBUTOS = Característica o propiedad del objeto, (variables dentro de este).
METODOS = Acciones que un objeto puede realizar, (funciones dentro de este).
OBJETOS
Dentro de la objeto hay funciones(método)
Es una colección de propiedades o metodos, una propiedad es una asociación entre un
nombre (clave) y valor, con las comillas buscamos el argumento especificado (`lina`),si
buscas el metoso seria:[nombre]. Ejemplo:
Var persona { objeto
……nombre: ‘lina’,
……apellido: ‘ramirez’, >
……edad: 10, >metodos
……saludar: saludar() >
}
Dentro de los objetos no hay orden porque los valores se acceden por el nombre(clave)
Persona[‘nombre’]; ‘lina’ bracket notation. Con ‘ ‘, si conocemos su
valor.
persona.nombre; lina dot notation. Sin ‘ ‘.
Delete: elimina valor///borra metodo persona.nombre……elinima lina.
Propiedades o keybors
Delete: elimina valores.
hasOwnPropety(metodo): comprueba el método si esta en la propiedad.
indexof: muestra la posición de dicho elemento.
FOR para objetos
For(var clave in nombre objeto){}
CLASES
una plantilla para la creación de objetos, representan los sustantivos en el lenguaje.
Todas las funciones construcciones de clases siempre comienza en mayúsculas, a
diferencias de los objetos: Persona(){}
new.//se utiliza para crear funciones constructoras. Llama y crea un objeto
This.// llama el valor de un objeto y se puede llamar desde cualquier función.
CREANDO CLASES CONSTRUCTORAS
Le podemos agregar propiedades:
Operador por defecto con Or ||:
PROTOTYPO
RECORTAR CODIGO
ORDENAR ARRAY NUMEROS
EJERCICIOS DE TRAGOS
EJERCICIOS ENTREGA DE PEDIDOS
EJERCICIO MENU
RECURCION
Es una función que se llama así misma, para poder hacer recursión hay que crear una
cláusula que rompe el ciclo infinito.
CLOSURE
Son funciones anidadas que recuerdan el conjunto de variables a las que podrían acceder,
por más que se les invoquen desde otro lugar.
ENTORNO LEXICO
Es un objeto que tienen los contextos de ejecución donde se almacenan los nombres de
las variables que existen dentro de una función y los valores actuales que tienen.
API
Es la interfaz que tiene un objeto para interactuar con el mismo, que métodos invocar y
propiedades internas nos permite acceder.
LISTAS ENLASADAS
Consta de nodos interconectados, estos contienen un valor y una referencia al siguiente
nodo; tiene un inicio(HEAD), este tiene una referencia o puntero (NEXT) a un nodo y un
valor(VALUE), cada nodo tiene también un valor y un puntero. Para terminar en NULL.
DOM
DOM/ Document objet model// documento modelo de un objeto. Lista de objetos con sus
propiedades.
DOM/Element selector// métodos del API con los cuales seleccionamos los elementos del
nodo.
DOM Events /todas las interacciones o movimientos del usuario con la pagina.
Document.//es para escoger el global
.getElementId//selecciona un elemento por su id
.getElementByTipeName//trae elementos por su nombre o pocision// var miParrafo =
document.getElementByTagName(“p”)[2];//trae el párrafo de la posición 2 delarray
CSS
Investigar FLEX y sus reglas.
Media query breackpoints// para buscar las actualizaciones de medidas de pantallas de
dispositivos.
Flex-direction: column y @media
Utilizaremos BOOTSTRASP y su documentación oficial: es el mas sencillo y completo
framework en CSS, para trabajar.
Siempre tendremos que copiar un archivo que es el principal para poder manipular los
otros elementos del Bootstrap; link css:
De hay en adelante podemos copiar botones, dropdrown y navbar, todas las clases y id
PREPROCESADOR: lo utilizaremos para buscar y transformar unas simples líneas a el
código correcto en CSS.
Usaremos LESS, lesscss.org, playgroum,less preview
MIXIN: especie de funciones.
Contruir dos botones con mixxin con parámetros
ARROW FUNCTION
THIS
CLASS
FILTER SIN ARROW FUNCTION
FILTER CON ARROW FUNCTION
OBJETO LITERAL
HERENCIA: Class, Constructor, extends, super:
OTRAS COMILLAS: Backticks; alt 96, para impermental el $
DESTRUCTURIN EN ARRAY: Solo en array pequeños y que conozcamos sus posicionas
DESTRUCTURIN EN OBJETOS
SPRED: Los elementos de …///…objetos. Podemos remplazar elementos(edad)
SPREAD: Los elementos de …/////…Array
AJAX
CREAR UNA LISTA DE AMIGOS
Todos los nombres deben de ser de la forma más descriptiva posible, cuando son
constantes constantes, se colocan en mayúsculas.
guardamos la url donde se encuentra la base de datos, en una constante.
Creamos la función click, identificándola con el ‘id del botón.
Creamos una constante y le adicionamos el ‘id’ de la lista que creamos; desde
document.querySelector o desde $.
Limpiamos la lista con empty();
$.get///llamamos la variable de la url completa a utilizar(amigos) y creamos la funcion;
Users.foreach// recorremos el array.
Dentro del foreach, creamos las ‘li’ ; y a cada ‘li’, le insertamos el nombre del usuario: con
appendChild.
BUSCAR UN AMIGO
Creamos la función click, identificándola con el ‘id del botón’.
Creamos una variable, le guardamos el valor dentro del ‘id de la entrada(input).
$.get///llamamos la variable de la url completa a utilizar + (id) y creamos la función.
Llamamos al elemento del objeto.
BORRAR AMIGOS
Creamos la función click, identificándola con el ‘id del botón’.
Creamos una variable, le guardamos el valor dentro del ‘id de la entrada(input).
$.ajax///método Ajax; tiene su sintaxis obligatoria.
BLUNDLERS (agrupadores, paquetes)
Se trata de importar y exportar funciones, variables objetos, etc. Desde un archivo a otro,
de un módulo a otro.
Module.exports, y lo importas con require.
Mas descriptivo es export e import, es casi individual.