tipos y operadores de datos - basado en Java

Java tipos de lenguaje soportado se dividen en dos categorías: 基本数据类型(tipo primitivo) y 引用类型(tipo de referencia).

tipos de datos básicos

tipos numéricos

tipo entero

byte

Un bytetipo de rango de 8 bits (1 byte) en la memoria-128(-2^7) ~ 127(2^7 -1)

corto

Un shorttipo representó el 16 bits (2 bytes) en el intervalo de memoria-32768(-2^15) ~ 32767(2^15-1)

En t

Un inttipo de memoria representó el 32 bits (4 bytes) de rango-2147483648(-2^31) ~ 2147483647(2^31-1)

largo

Un longtipo de contabilidad para 64 bits (8 byte) cubre en la memoria-2^63 ~ 2^63-1

Si directamente a un número entero más pequeño (en byteo shortasignadas dentro de un tipo de rango) byteo shortvariables, el sistema establece automáticamente el valor como un entero byteo un shorttipo de manejar.
Si un número entero grande (tipo INT fuera de rango cuándo), Java lo hace automáticamente, siempre y tipo entero de manejar. Si desea que el sistema a un valor como mucho tipo entero de manejar, debe añadirse después de que el valor entero lo Lsufijo.

tipo de punto flotante

tipos de coma flotante de Java son fijos, independientemente del número de rango de la tabla y la longitud del campo, la longitud del campo y rango de números de la mesa de la máquina, Java sigue el tipo de punto flotante IEEE estándar, una notación binaria científica para representar.

flotador

Una cuenta de flotador en la memoria de 4 bytes, 32 bits, el bit 1 es el bit de signo, el siguiente índice de 8 bits representado en los 23 bits siguientes representan.

doble

En representación de un tipo de doble en la memoria de 8 bytes, 64 bits, 1 bit representa el bit de signo, los siguientes 11 bits representan el exponente, en la siguiente 52 mantisa.

Debido a que Java es un número de coma flotante binario en notación científica para los números de punto flotante, y por lo tanto puede no ser una representación exacta de un número de coma flotante. Por ejemplo, para 5.12345fasignar un floattipo de variable, esta variable para ver si el siguiente valor de la variable de salida ha cambiado. Si necesita una precisión de punto flotante, que puede ser utilizado BigDecimalclase.
El valor por defecto es de coma flotante tipo doublesi quieres Javaescribir un valor de punto flotante como floatpara hacer frente a, que debe ser seguido por un tipo de punto flotante en la parte posterior de este valor fo F.
Java también ofrece valores de punto flotante de tres especiales: infinito positivo, infinito negativo Japón y Africa utilizan para indicar desbordamiento o error. 0 flotación positiva dividido por (los enteros 0 Java y calcula automáticamente el proceso de flotación de punto flotante 0.0) para dar un infinito positivo (POSITIVE_INFINITY Doble / clase Float) utilizando división de punto flotante por cero para obtener un infinito negativo negativo ( NEGATIVE_INFINITY clase doble / Float)
FIG. 0,0 / 0,0 habrá un no número NaN.
Todo infinito positivo y el infinito negativo sobre todo igual, no igual a todos los no-número.
100_000_000_000 valores de _fácil lectura. Ningún significado real.

tipos de datos básicos de Java

carácter

carbonizarse

Hay tres representación de caracteres

  • Directamente especificada valor de carácter, por ejemplo, por un solo carácter 'A', '9'y '0'similares.
  • Mediante la transferencia de un valor especial carácter de identificación de caracteres, por ejemplo '\n','\t'
  • uso directo Unicodevalores que representan los valores de caracteres en el formato '\uXXXX', lo que XXXXrepresenta un número entero en hexadecimal.

lenguaje Java utiliza comúnmente en la transferencia de caracteres

tipo de caracteres puede también ser usado para representar códigos hexadecimales, la gama de '\u0000'~'\uFFFF'total puede representar 65535caracteres, el primero 256 ( '\u0000'~'\u00FF'), y los caracteres en caracteres ASCII completo solapamiento.
Cuando el personaje de almacenamiento de ordenador subyacente, el carácter se almacena en el número correspondiente, por lo que charel valor puede ser utilizado directamente como el tipo de plástico, que corresponde a una de 16 bits número entero sin signo en el intervalo de la tabla 0~65535.
Si el rango de 0 a 65535 uno intdesde un entero charvariable de tipo, el sistema automáticamente intentero como un chartipo de tratamiento

Boole

booleano

Se utiliza para representar lógico o , booleanel valor de tipo puede ser trueo falseno puede ser usado 0o 非0está representado, otros tipos de datos de base no se pueden convertir en booleantipo.

especificación Java no especifica las variables de memoria de tipo booleano ocupadas. Dado que la mayoría de ordenador permite que la unidad de asignación de memoria es un byte de memoria mínima (8 bits), y por lo tanto la mayor parte del tiempo efectivamente ocupada bit 8.
Especificación de Java Virtual Machine menciona en el libro:

  • Ningún valor específico para las instrucciones de código de bytes booleanas en la máquina virtual de Java, Java expresiones del lenguaje operación
    booleana, el tipo de datos int utiliza la máquina virtual de Java después de la compilación en su lugar.
  • máquina virtual Java soporta directamente los tipos booleanos de matrices, instrucciones de máquina virtual Navarra véase el Capítulo 6, Sección newArray puede crear una matriz tal. El acceso y la modificación de la baload común de tipo matriz de bytes y la instrucción booleano tipo de matriz bastore.
    Debido virtual digamos Especificación de la Máquina, valores booleanos se utilizan después de compilar datos de tipo int máquina virtual Java en su lugar y int es de cuatro bytes, entonces el valor booleano es de 4 bytes.
  • El acceso y la modificación de la matriz de bytes tipo común y bastore baload tipo de instrucción booleano de la matriz, ya que tanto el común sólo los mismos dos bytes a modo general, la matriz de bytes en un byte es un byte, entonces la matriz booleana booleana es 1 byte.

Resumen: matriz booleana en el caso de 1-byte, 4 de un solo byte booleano.

tipos de datos de referencia

categoría

interfaz

colección

operadores

Los operadores aritméticos

  • +: Operador de adición (también como operador de concatenación de cadenas)
  • -: Operador de substracción
  • *: Operador de multiplicación
  • /: Operador División
    si ambos operandos son números enteros de tipo división, el resultado del cálculo es un número entero, es el resultado natural de la división redondeado tomado. Si la división dos operandos son de tipo enteros, el divisor no es 0, de lo contrario, dará lugar a la división por cero excepción. Si uno o ambos operandos son de punto flotante, número de coma flotante se calcula el resultado es, el resultado es un resultado natural de la división, y en este momento permite que el divisor es 0 o 0.0, el resultado se infinito positivo agitando infinito negativo.
  • %: El resto operador
  • ++: Desde Canadá.
    1. Puesto que la adición es los operadores unitarios, que operan sólo un número.
    2. Desde plus operador puede operar un solo número (conformación, de punto flotante) variable, constante o inoperable expresión.
    3. Si ++ a la izquierda, el primer operando incrementa en uno, y sólo entonces los operandos en la expresión aritmética. Si ++ a la derecha, el primer operando en la expresión aritmética, y sólo entonces añadir el operando 1
  • --: Decremento. operador unitario. Y ++similares, excepto que el operando -1

Los operadores bit a bit

  • &: AND bit a bit. Cuando los dos regresaron mientras que sólo el 1 a 1.
  • |: OR bit a bit. Mientras hay un retorno de 1 a 1.
  • ~: Non-bit. operadores unitarios, cada bit de operando (incluyendo el bit de signo) están negados.
  • ^: XOR bit a bit. Volver a 0 cuando los dos son lo mismo, al mismo tiempo, no devuelve 1.
  • <<: Operador de desplazamiento a la izquierda.
  • >>: Operador de desplazamiento a la derecha.
  • >>>: Sin firmar operador de desplazamiento a la derecha.

Los operadores bit a bit algoritmo

Los operadores lógicos

  • &&: Con dos operandos deben tanto antes como después de trueque sea devuelto true, de lo contrario después de una comida false.
  • &: No provoque un cortocircuito y, con &&el mismo efecto, pero no lo hará corto circuito.
  • ||: O, siempre y cuando uno de los dos operandos truees devuelto true, de lo contrariofalse
  • |: No provoque un cortocircuito o la función de la ||misma, pero no en circuito corto.
  • !: No invertida.
  • ^: Cuando tanto el número de operación XOR no vuelve al mismo tiempo. true, Simultáneamente con el regresofalse

operador ternario

  • ?: Ternaria operador sólo una sintaxis es(expression) ? if-true-statement : if-false-statement

NOTA:
Dado que sólo suma y la resta para la auto sienten variable de vergüenza, operando los valores no se pueden utilizar directamente la cantidad, constante o expresión.

Operadores de asignación

  • =

El operador de asignación extendida

  • +=: Para x+=y, es decir, correspondiente ax = x + y
  • -=: Para x-=y, es decir, correspondiente ax = x - y
  • *=: Para x*=y, es decir, correspondiente ax = x * y
  • /=: Para x/=y, es decir, correspondiente ax = x / y
  • %=: Para x%=y, es decir, correspondiente ax = x % y
  • |=: Para x|=y, es decir, correspondiente ax = x | y
  • ^=: Para x^=y, es decir, correspondiente ax = x ^ y
  • <<=: Para x<<=y, es decir, correspondiente ax = x << y
  • >>=: Para x>>=y, es decir, correspondiente ax = x >> y
  • >>>=: Para x>>>=y, es decir, correspondiente ax = x >>> y

Los operadores de comparación

  • >: Más de aproximadamente varios lados única operación de apoyo es un tipo numérico.
  • >=: No menos, el número de los lados izquierdo y derecho del soporte operación sólo un tipo numérico.
  • <: Menor que, el número de soporte derecha e izquierda única operación es de tipo numérico.
  • <=: Menos de o igual, sólo admite lados izquierdo y derecho del número de operación es un tipo numérico.
  • ==: Igual a, si la comparación de dos operandos son de tipo numérico, a pesar de dos tipos diferentes de operandos, siempre que sus valores son iguales, los rendimientos truesi los dos operandos es un tipo de referencia, a continuación, la comparación de los dos operandos. una referencia a la dirección.
  • !=: No es igual para comparar el tipo de datos, sin importar el tipo, sólo el valor de comparación para la comparación de referencia dirección de referencia de tipo.

La precedencia de operadores

La precedencia de operadores

  • No escriba una expresión demasiado compleja si una expresión compleja, que debe dividirse en pasos para realizar
  • No se exceda en depender de un operador para controlar el orden de prioridad de ejecución de expresión, tanto como sea posible por ()controlar

Supongo que te gusta

Origin www.cnblogs.com/41uLove/p/12555477.html
Recomendado
Clasificación