01, Java gramática básica (constantes, conversión binaria, el original / es / complemento, variables y tipos de datos)

1, Constant

2, la conversión binaria

3, el código original, y el complemento inverso

4, el tipo de datos de la variable y

1, Constant

Constantes: durante la ejecución del programa cuyo valor no cambia.

Java constantes de la clasificación:

  • Los literales;
  • constante de encargo; (orientado a objetos a explicar, static final)

Los literales de la clasificación:

  • Las constantes de cadena; (doble contenido comillas, "HelloWorld")
  • constante Integer; (todos los números enteros, 12, 23)
  • Las constantes de caracteres; (single contenido comillas, 'A', '1', 'medio')
  • constante decimal; (Todos los decimales, 3.14)
  • constantes booleanas; (solamente verdaderos y falsos)
  • constante null; (sección array se analizan)

Caso presentación ConstantDemo.java, la declaración de salida constante de salida.

class ConstantDemo {
    public static void main(String[] args) 	{
	System.out.println("Hello World!");
	//输出字符串常量
	System.out.println(100);
	//输出整数常量
	System.out.println(3.14);
	//输出小数常量
	System.out.println('A');
	//输出字符常量
	System.out.println(true);
	//输出布尔常量,关键字 true/false
	//System.out.println(null);
	//null空常量不能输出,关键字 null
    }
}

salida normal

Cuando se utiliza en un cuaderno para escribir Java EditPlus se guarda codificación UTF-8, la codificación por defecto para la ventana cmd GBK, por lo que la ventana de cmd ejecutar la necesidad compilador para especificar la codificación, de lo contrario no será ilegible.

javac -encoding utf-8 ConstantDemo.java

Uso ANSI / JDS método de codificación directamente si los programas Java escritura EditPlus, a continuación, compilar y tiempo de ejecución con una ventana, no es necesario especificar la codificación.

Cuando la salida de los documentos de liberación constante nulo nulo, se compilará errores.

de error de salida nula

No podemos determinar el valor pasado es parte de una serie de caracteres de la cadena uno o varios objetos.

println ()

En general, debe especificar explícitamente el valor del objeto entrante clase pertenece;

Designado como objeto:

System.out.println((Object)null);
//null

Pista Fuente:

public void println(Object x) {
    String s = String.valueOf(x);
    synchronized (this) {
        print(s);
        newLine();
    }
}

public static String valueOf(Object obj) {
    return (obj == null) ? "null" : obj.toString();
}

Designado como una cadena:

System.out.println((String)null);
//null

Pista Fuente:

public void println(String x) {
    synchronized (this) {
        print(x);
        newLine();
    }
}

public void print(String s) {
    if (s == null) {
        s = "null";
    }
    write(s);
}

Designado como un char []:

System.out.println((char[])null);

Pista Fuente:

public void println(@NotNull char x[]) {
    synchronized (this) {
        print(x);
        newLine();
    }
}

char [] parámetro de tipo no es nulo, cuando el tipo char designado [], realice se informó de una excepción de puntero nulo.

2, la conversión binaria

Java proporciona cuatro formas de constantes enteras:

  • binario
  • octal
  • decimal
  • maleficio

octal binaria: de derecha a izquierda, un grupo de tres cada uno, no tres lleno de 0;

Binaria Hex: de derecha a izquierda, cada grupo de cuatro bits, cuatro bits no se rellena con ceros;

Con el fin de distinguir los diferentes datos binarios anteponiendo

  • Binario: 0B prefijo 0b
  • Octal: prefijo 0
  • Decimales: no añada
  • Hex: prefijo 0x 0X

Presentación del caso: diferente representación binaria de salida de enteros

class JinZhi {
    public static void main(String[] args) {
	System.out.println(0b1010);
	//输出二进制数据:10
	System.out.println(0100);
	//输出八进制:64
	System.out.println(12);
	//输出十进制:12
	System.out.println(0x12);
	//输出十六进制:18
    }
}

Configuración EditPlus lograr compilar y ejecutar programas Java en el Bloc de notas.

configuración EditPlus

Después de configurar, guardar el archivo después de la codificación predeterminada es ANSI.

Entre la base para la conversión:

Cualquier hex a la conversión decimal: coeficiente de expansión peso bit método * = ^ base derecha

  • Binario: 2 ^ 0 * x + 2 ^ 1 * y + ... +
  • Octal: 8 ^ 0 * x + 8 ^ 1 * y + ... +
  • Hex: 16 ^ 0 * x + 16 ^ 1 * y + ... +

Decimal Hex a cualquiera de: grupo I, excepto tomada hasta que el cociente es cero, el resto negada.

3, el código original, y el complemento inverso

Código original: notación de punto fijo binario, es decir, el bit más significativo es el bit de signo, "0" indica positivo y "1" indica negativo, el tamaño de los bits restantes representan un número;
invertida: Sobre la base del código original en, además del bit de signo, los bits de valor inversión;
complemento: sobre la base de la invertida, + 1.

A: código original Conocido se complementa
conocido de un número X del código original es 0B10110100, Donde el complemento de X e invertida.

Anti-Código: 11001011
Complemento: 11001100
métodos de prueba: código original - (32 + 16 + 4) = - 52, a continuación, ver el complemento calculadora calc -52.

B: complemento Conocido búsqueda de código original
conocida complemento de un número de X 0B11101110, de nuevo buscando el código original.
Anti-Código: 11101101
código original: 10010010
métodos probados: código original - (16 + 2) = - 18

4, el tipo de datos de la variable y

Variables: durante la ejecución del programa, su valor puede cambiar se produce en una cantidad dentro de un cierto intervalo;

Variable es en realidad un área pequeña en la memoria.

definición de variables Formato: valor de la variable name = tipo de datos;

tipos de datos Java de la clasificación:

  • tipos de datos básicos
  • tipos de datos de referencia (se explica más adelante aprendido, arrays, clases, interfaces)

tipos de datos básicos

  1. 1B rango de valores de ocupación byte: [--128, 127]
  2. 2B rango de valores de ocupación corto: [- 2 ^ 15, 2 ^ 15 a -1]
  3. rango de valores int ocupada 4B: [- 2 ^ 31, 2 ^ 31 a -1]
  4. 8B rango de valores larga ocupación: [- 2 ^ 63, 2 ^ 63 a -1]
  5. flotador ocupada 4B
  6. doble 8B ocupación
  7. 2B gama de ocupación de datos char: [0, 2 ^ 16 a -1]
  8. booleano ocupada 1B

El valor predeterminado es de tipo int número entero, por defecto decimal es doble.

Caso: los datos básicos que definen diferentes tipos de variables y salidas

class VariableDemo {
    public static void main(String[] args) {
        byte number = 127;
        //一个字节的取值范围[-128,127]
        byte number2 = -128;
        short number3 = 1000;
        int number4 = 10000;
        long number5 = 120000L;
        //定义long类型的变量,后面需要加上l或者L,以表示这是一个long类型变量
        float f = 3.14f;
        //定义float类型的变量,后面需要加上f或者F,以表示这是一个float类型变量
        double d = 10.18;
        //浮点数默认为double类型
        boolean bool = true;
        //定义布尔类型,只有两个值,true/false
        boolean bool1 = false;
        char c = 'a';
        //定义字符类型,单引号引起来的单个字符
        char ch = '妍';

        //根据变量名来输出
        System.out.println("number = " + number);
        System.out.println("number2 = " + number2);
        System.out.println("number3 = " + number3);
        System.out.println("number4 = " + number4);
        System.out.println("number5 = " + number5);
        System.out.println("f = " + f);
        System.out.println("d = " + d);
        System.out.println("bool = " + bool);
	System.out.println("bool1 = " + bool1);
	System.out.println("c = " + c);
	System.out.println("ch = " + ch);
    }
}

Tenga en cuenta el uso de variables:

class VariableDemo2 {
    //定义变量的注意事项:
    public static void main(String[] args) {
    	//1、在同一个作用域内不能定义两个同名变量
	//作用域指一对{}的范围
	int a = 100;
	int b = 200;
 
	int c = 10;
	c = 20;
	//给c重新赋值

	int d,e;
	//2、在方法内部,如果没有给变量赋值,不能使用
	//System.out.println(d);
	d = e = 100;
	System.out.println(d);
    }
}

Supongo que te gusta

Origin www.cnblogs.com/shawnyue-08/p/12602283.html
Recomendado
Clasificación