¿En qué puntos debería centrarse al aprender Java se? ¿Cuáles son los puntos de conocimiento más difíciles de aprender?
Cirugía plástica:
Byte 1 Byte
Corto 2 Bytes
Int 4 Bytes
8 bytes de longitud
Carácter:
Carácter 2 bytes
Número de coma flotante:
Coma flotante 4 bytes
Doble 8 bytes
Booleano:
Booleano 1 byte
2.java 7 convierte enteros binarios para sumar.
Empieza con 0b o 0B.
Método de codificación Unicode de 3.java de 16 bits de caracteres chinos. El formato es '\uxxxxx', donde xxxx representa un número entero hexadecimal.
El infinito positivo, el infinito negativo y el cero se especifican en 4.java.
Infinito positivo = número positivo dividido por 0.
Infinito negativo = un número negativo dividido por cero.
Dividimos 0,0 entre 0,0 o sacamos la raíz de un número negativo para obtener un no número.
5. En Java, los tipos booleanos sólo pueden ser verdadero y falso.
6. No existe una matriz multidimensional en Java.
Parece que las matrices multidimensionales en lenguaje C no son matrices reales, como a[3][4], a[0] a[1] a[2] son reales, incluidas las direcciones, Es como una matriz asignada dinámicamente en lenguaje C.
int [][] b = new int[3][4]
7. El método de compilación del paquete en Java
Hello.java estará en el current Genera un árbol de directorios debajo del directorio.
El nombre del paquete Java en ejecución. Nombre de categoría
8. Los campos de los objetos en el polimorfismo de Java no son polimórficos, por ejemplo, objeto de clase principal = nueva subclase () y objeto. El campo pertenece a la clase principal que llama, incluso si una clase secundaria anula el campo.
9. Instancia del operador
Formato: se refiere al nombre de la variable instancia del nombre de la clase (o interfaz). Se utiliza para determinar si el objeto anterior es la clase, subclase e instancia de la clase de implementación del último objeto. Si es verdadero, devuelve falso.
10. Conversión entre tipos de datos básicos y clases de encapsulación correspondientes en Java
int a = 1
Integer A = new integer (A); p>
a = a . int value();
Lo mismo ocurre con otros tipos.
11. Ejemplo de clase Singleton
Copia el código de la siguiente manera:
Clase singleton
{
Privada instancia única estática;
Singleton privado(){}
getInstance singleton estático público()
{
if(instancia == null)
{
instancia = new Singleton();
}
Devolver instancia;
}
Public static void main(String[] args)
{
singleton s 1 = singleton .
singleton. S2 = singleton . getinstance();
sistema fuera . >12.Inicialización de variables miembro modificadas finales
Campos de clase: El valor inicial debe especificarse en un bloque de inicialización estático o al declarar el campo.
Campos de instancia: Debes especificar un valor inicial, ya sea declarándolo en el constructor en un bloque de inicialización no estático, o al declarar el campo.
13. Las variables finales deben inicializarse explícitamente y el sistema no inicializará las variables finales implícitamente.
14.java usará el grupo de constantes para administrar las constantes directas de cadena usadas, por ejemplo: String a = "El sistema Java almacena la cadena constante "java" en el grupo de constantes. Ejecute String b = nuevamente " java"; A == b es verdadero.
15. Los métodos finales no se pueden anular y las clases finales no se pueden heredar.
Si el método privado es el mismo que el privado final. < /p >
Si aparece en una subclase a través del método de decoración final, la subclase la define recientemente y no tiene nada que ver con la clase principal.
16. esta clase es inmutable después de la creación. Java proporciona ocho clases de empaquetado de variables básicas y la cadena es una clase inmutable
17.
Memoria caché de categoría
{
privada estática int MAX _ TAMAÑO = 10;
Caché estática privada inmutable[]cache = nueva caché inmutable[MAX_SIZE];
private static int pos = 0;
Nombre de cadena final privado;
Private CacheImmutale(nombre de cadena)
p >{
Esto. nombre = nombre;
}
Cadena pública getName()
{
p>
Nombre de retorno;
}
Valor único de caché estática pública de (nombre de cadena)
{
for (int I = 0;i<MAX_SIZE++i)
{
if(cache[i]!= null && cache[i].getName() .
igual a (nombre))
Devolver caché[I];
}
if (pos == MAX_SIZE)
{< / p>
cache[0] = nuevo caché inmutable(nombre);
pos = 1
}
Otros
<; p>{caché[pos++]= nuevo caché inmutable(nombre);
}
Devolver caché[pos-1];
}
Booleano público es igual a (objeto objeto)
{
Si (this == obj)
devuelve verdadero p>
if(obj!= null & amp& ampobj . getclass()= = caché inmutable . clase)
{
cacheimmutable ci =(cacheimmutable)obj; p>
p>
devuelve nombre igual a(ci . getname());
}
Devuelve falso
}
public int hashCode()
{
Nombre de retorno .
}
}
Clase pública CacheImmuteTest
{
Public static void main(String[] args)
{
cacheimmutable c 1 = valor cacheimmutable de (" Hola ");
cacheimmutable C2 = valor cacheimmutable de(" Hola ");
system out . ;
}
}
El uso de instancias en caché depende de la frecuencia del objeto. Si se reutiliza, las ventajas superan a las desventajas. Si no se usa con regularidad, puede hacer más daño que bien.
Además, el java.lang.Integer proporcionado por Java utiliza el mecanismo de almacenamiento en caché para crear números con valores entre -128-127.
entero in2 = valor entero de(6);
entero in3 = valor entero de(6);
in2 == in3 es verdadero;
18. Los métodos estáticos y abstractos no se pueden modificar al mismo tiempo y no existen métodos abstractos de clase.
19. Una clase puede ser otra clase padre y puede implementar múltiples interfaces. Los campos de la interfaz son públicos, estáticos y finales, y los métodos son abstracciones públicas.
20. Cuando el método de una clase interna no estática accede a una variable, el orden de búsqueda es: primero dentro del método de la clase interna ->; Si se encuentra en la clase A externa, se producirá un error de compilación.
Copia el código de la siguiente manera:
Importar Java . util *
Variable de clase pública
{
Private string prop = "Variable de instancia de la clase externa";
Aula Privada
{
Private string prop = "Variable de instancia de la clase interna" " ";
Información de anulación pública()
{
String prop = "variable local";
System.out.println ( "Valor de campo de la clase externa:"+variable discriminatoria . this . prop);
System.out.println("Valor de campo de la clase interna: "+this . prop);
System.out.println("Valor de la variable local:"+prop);
}
}
Prueba pública no válida()
{
en clase en = nuevo en clase();
en info();
}
Public static void main(String[] args)
{
Nueva variable reconocida (). test();
}
}
21. Las clases internas no estáticas no pueden tener métodos estáticos, campos estáticos y bloques de inicialización estáticos.
22. Acceder a la clase interna fuera de la clase externa.
Acceder a clases internas no estáticas: outclass. incolassvarname = newoutclass(). new in class();
Acceder a la clase interna estática: outclass. inclassvarname = nuevaclasefuera. inclass();
Copia el código de la siguiente manera:
Importar Java . util *;
Se acabó la salida de clase
Clase en...
{
Público en ()
{
Sistema. out.println(" Constructor de clase interna no estática");
}
}
}
La clase pública crea una instancia
{
Public static void main(String[] args)
{
Salir. Entrada entrada = nueva Salida(). Nueva función en ();
/*
El código anterior se puede escribir por separado:
Salir. Entrada;
Salida Salida = nueva Salida();
Entrada = nueva Entrada();
*/
}
}
Las subclases de clase se extienden hacia afuera. En...
{
//Muestra el constructor que define la subclase.
Subclase pública (Out out)
{
//Muestra el constructor llamado a través del objeto transferido.
out . super();
}
}
Copia el código de la siguiente manera:
Importar Java .util .*;
Salida estática de clase
{
clase estática estática
{
Pública static ()
{
System.out.println("constructor de clase interna estática");
}
} p>
}
Clase pública CreatStaticInnerInstance
{
Vacío estático público principal (String[] args)
{
Salida estática. entrada estática = nueva salida estática. static in();
/*
El código anterior se puede escribir por separado:
Salida estática. StaticIn;
in = nuevo StaticOut. static in();
*/
}
}
la subclase de clase extiende StaticOut. Estático
{
//No es necesario crear instancias de clases internas.
}