Java desde la entrada hasta la serie abandonada

He aprendido Java durante casi cuatro meses, tengo que conservar algo, de lo contrario siento que nunca lo he aprendido. Por lo tanto, escribo este artículo especialmente para resumir los avances en el proceso de aprendizaje y compartirlo con amigos que están aprendiendo Java. Espero que pueda ser de ayuda para ti.

1. Instalación de JDK y configuración de variables de entorno Java

Dos, introducción a la herramienta

1. JCreator
ha sido una herramienta de desarrollo durante mucho tiempo y todavía está disponible. Para los principiantes que recién están comenzando, esto no está mal. Simple y fácil de usar, pero no lo suficientemente potente.
Para obtener detalles sobre el proceso de instalación, consulte aquí: https://blog.csdn.net/Bertil/article/details/107385842

2.
La mayoría de las personas utilizan la herramienta de desarrollo eclipse , después de todo, la función también es muy poderosa y puede instalar la versión original de forma gratuita.
Para obtener detalles sobre el proceso de instalación, consulte aquí: https://blog.csdn.net/qq_38566465/article/details/79484286

3. IDEA es
muy nb. Además de las funciones básicas de las dos primeras, también puede hacer diseño web front-end, etc. Las funciones son muy poderosas y son amadas por la mayoría de los desarrolladores back-end. Por supuesto, cuanto más potente sea la función, más memoria estará ocupada, por lo que la premisa de usarla es asegurar que la CPU de tu computadora pueda soportarla. Además, la activación de IDEA también estará restringida. Los estudiantes con buzones de correo corporativos del campus pueden activar directamente la versión original. No tengo muy claro otras situaciones. Busco en Internet para más detalles.
Para obtener detalles sobre el proceso de instalación, consulte aquí: https://blog.csdn.net/weixin_43184774/article/details/100578786

La herramienta es solo una ayuda, la habilidad es la clave. Mi profesor de Java se encontró una vez con un estudiante que podía escribir directamente un código largo con un cuaderno. Este es el reino de los fuertes. Pero la premisa es instalar el JDK y configurar las variables de entorno antes de poder compilar y ejecutar el programa en el terminal de caracteres; en segundo lugar, la base debe ser muy sólida, después de todo, no hay una función de asistencia de código.

3. Acerca de las instrucciones de uso y descarga de documentos de la API

1. Descarga
Para obtener detalles sobre el proceso de descarga, consulte aquí: https://blog.csdn.net/Bertil/article/details/107335554

2. Cómo usarlo
es difícil de explicar esta vez, directamente encima de la imagen (Fuente: Guía experimental de la sexta edición de Java Programming Basics)
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Cuatro, conocimientos básicos de Java

(1) Tipos de
datos Los tipos de datos se dividen en dos tipos: tipos de datos básicos y tipos de datos de referencia (también llamados tipos de datos compuestos)
1. Tipos de datos básicos
Tipo entero: byte corto int
tipo de punto flotante largo : flotante doble
tipo lógico:
carácter booleano type : Char
2. Tipos de datos de referencia,
incluidas clases, matrices, interfaces, etc.

Para la introducción de tipos de datos, consulte aquí: https://blog.csdn.net/Bertil/article/details/107386628

(2) Palabras clave e identificadores
1. Palabras clave
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
2. Identificadores y reglas de nomenclatura
Identificadores: la secuencia de caracteres válida utilizada para representar nombres de variables, nombres de clases, nombres de métodos, nombres de matrices y nombres de archivos.

Reglas de nomenclatura:
(1) Puede estar compuesto por letras, números, guiones bajos (-) y signos de dólar ($).
(2) Debe comenzar con una letra, un guión bajo o un signo de dólar, no con un número.
(3) Las palabras clave no se pueden utilizar como identificadores.
(4) Es sensible a mayúsculas y minúsculas.

Hábitos de codificación: la primera letra del nombre de la clase está en mayúscula y la primera letra de la variable, método y objeto está en minúscula.

(3) La conversión de tipo de datos
generalmente se divide en conversión automática y conversión forzada.

1. Conversión automática de tipos
① El tipo de datos antes de la conversión es compatible con el tipo después de la conversión.
② El rango de visualización del tipo de datos convertido es mayor que antes de la conversión.
La condición ② indica que cuando se realizan operaciones en diferentes tipos de datos, primero se deben convertir al mismo tipo y luego se deben realizar las operaciones. La relación de prioridad de conversión de "corto" a "largo" es:
byte → corto → char → int → largo → flotante → doble
2. Conversión de tipo coercitivo
Si desea convertir datos más largos en datos más cortos (inseguros), es necesario para forzar la conversión de tipo. El formato de conversión de tipo forzada es el siguiente:
Inserte la descripción de la imagen aquí
Para obtener detalles sobre la conversión de tipo de datos, consulte aquí: https://blog.csdn.net/Bertil/article/details/108176556

(4) Operación de entrada de teclado
Scanner es una clase dedicada a las operaciones de entrada, y puede usar esta clase para ingresar un objeto.

例如:
Scanner reader = new Scanner(System.in);
int a = reader.nextInt();

El objeto lector creado puede llamar al método nextInt () para leer los datos de tipo int ingresados ​​por el usuario desde el teclado, o usar el objeto lector para llamar a los siguientes métodos para leer el tipo correspondiente de datos ingresados ​​por el usuario en el teclado:
nextByte ()
nextDouble ()
nextFloat ()
nextInt ()
nextLong ()
nextShort ()
next ()
nextLine ()
Además, el objeto lector también puede llamar nextByte (), nextFloat (), nextDouble (), nextInt () y así en.

Después de que se llama a next ××× (), espera a que el usuario ingrese datos en la línea de comando y presione Enter (o barra espaciadora, tecla Tab) para confirmar.
Los métodos next () y nextLine () esperan a que el usuario ingrese una línea de texto en el teclado y luego devuelven un tipo de datos String.

La diferencia entre next () y nextLine ():
next (): Debe leer los caracteres válidos antes de poder finalizar la entrada. Para los caracteres finales como la barra espaciadora, la tecla Tab o la tecla Intro antes de ingresar el carácter válido, automáticamente Si se elimina, solo después de que se ingresen caracteres válidos, el método tratará estos símbolos ingresados ​​más tarde como separadores.
nextLine (): El carácter final es la tecla Enter, es decir, se devuelven todos los caracteres antes de Enter.

(5) Operadores y expresiones
Inserte la descripción de la imagen aquí
Para obtener detalles sobre operadores y expresiones, consulte aquí: https://blog.csdn.net/Bertil/article/details/108297472

(6) Tres métodos de anotación
Inserte la descripción de la imagen aquí

(VII) Control del proceso
1. Tres estructuras de secuencia, rama y bucle
Para obtener detalles de las tres estructuras, consulte aquí: https://blog.csdn.net/Bertil/article/details/108308128

2. Sentencia de salto en la
sentencia de ruptura de bucle : haga que el flujo del programa salte de un bloque de instrucciones (conmutador o estructura de bucle).
Continuar declaración: termina la ronda actual (tiempo) del bucle e ingresa la siguiente ronda (tiempo) del bucle.
declaración de retorno: se utiliza para hacer que el programa regrese del método (función) y devuelva un valor.

Cinco, clases y objetos Java

(1) Definición de orientado a objetos y clase
1. La clase y el objeto son los conceptos centrales en los métodos de programación orientados a objetos.

La clase es la descripción (comunalidad) de un cierto tipo de cosas, que es una definición abstracta y conceptual; mientras que el objeto es un individuo concreto (personalidad) que realmente existe en ese tipo de cosas, por lo que también se le llama instancia. La clase describe las propiedades del objeto (características estáticas) y el comportamiento del objeto (características dinámicas). El Objeto es una instancia de la Clase, un individuo real.

Cuando un principiante solo está aprendiendo orientado a objetos, puede ser un poco abstracto de entender, pero puede hacer algunas preguntas básicas de diseño de clases para promover la comprensión. El enfoque del pensamiento de programación orientada a objetos es el diseño de clases, no el diseño de objetos.

(2) Características básicas de la orientación a objetos.

1. Encapsulación : utilice tipos de datos abstractos para encapsular datos y operaciones basadas en datos, proteger datos y ocultar detalles específicos, y conservar solo interfaces limitadas para conectarse con el mundo exterior.
2. Herencia : el objeto de la clase especial (subclase) tiene todos los atributos y métodos de la clase general (clase padre), y puede agregar sus propios atributos y métodos.
3. Polimorfismo : Coexistencia de múltiples métodos diferentes con el mismo nombre en un programa. Sobrecarga y cobertura de uso común.

(3) La gramática
Inserte la descripción de la imagen aquí
de la definición de la clase El símbolo de control de acceso de la clase es solo público; abstracto y final se oponen mutuamente y no pueden usarse en la definición de una clase al mismo tiempo.

Veamos un ejemplo: la definición de la clase de cilindro.

class Cylinder   //定义圆柱体类Cylinder
{
    
    
    double radius;     //声明成员变量radius
    int height;        //声明成员变量height
    double pi=3.14;   //声明数据成员pi并赋初值
    void area( )   //定义成员方法area(),用来计算底面积
      {
    
    
          System.out.println("圆柱底面积="+ pi*radius* radius);
      }
     void volume( )   //定义成员方法volume (),用来计算体积
      {
    
    
         System.out.println("圆柱体体积="+((pi*radius* radius)*height);
      }
}

(4) La diferencia entre variables locales y variables miembro

1. Desde la forma gramatical de vista, pertenece a las variables miembro de la clase y las variables locales son las variables o parámetros del método definido en el método; el miembro variable puede ser público, privado y otras modificaciones estáticas, y las variables locales no pueden , pueden ser ambas modificaciones finales.
2. Desde la perspectiva de cómo se almacenan las variables en la memoria , las variables miembro son parte del objeto, el objeto se almacena en la memoria del montón y la variable local se almacena en la pila.
3. En el aspecto de las variables de tiempo de supervivencia en la memoria , las variables miembro son parte del objeto, creando un objeto tal como existe, las variables locales con la llamada al método se generan, y el final de la llamada al método desaparece.
4. Si a una variable miembro no se le asigna un valor inicial, se inicializará automáticamente a 0 por defecto (las variables miembro modificadas con final pero no modificadas por estática deben asignarse explícitamente); las variables locales no se asignarán automáticamente y deben ser asignado explícitamente.

(E) Creación y uso de objetos
1. Pasos
para crear un objeto
Declare la variable apuntando al "objeto creado por la clase", use new para crear un nuevo objeto y asígnelo a la variable declarada previamente.

2. El uso de
objetos El formato para hacer referencia a miembros de objeto a través de objetos es el siguiente:
nombre de objeto. Miembro de objeto Por
ejemplo, volu.radius = 2.8; volu.height = 5;
si la referencia es un método de miembro, siempre que el El nombre del método miembro está entre paréntesis Simplemente proporcione los parámetros requeridos, si el método no requiere parámetros, use paréntesis vacíos. Tales como: vlu.area ()

Para varios objetos de una clase, sus variables miembro se asignan en una memoria diferente, por lo que cuando las variables miembro de un determinado objeto se modifican, las demás no se ven afectadas.

(6) Llamar a métodos en definiciones de clases En la definición de
la misma clase, un método puede llamar directamente a otros métodos de esta clase sin agregar nombres de objeto.
Para enfatizar que es un "miembro del objeto en sí", puede agregar esta palabra clave antes del nombre del miembro, es decir, "este. Nombre del miembro". En este momento, esto representa el objeto que llama a este miembro. Por ejemplo:
Inserte la descripción de la imagen aquí
(7) Método de transferencia de parámetros
1. Método de llamada con variable como parámetro
2. Llamado de método con matriz como parámetro o valor de retorno

Para obtener detalles sobre el paso de parámetros, consulte aquí: https://blog.csdn.net/Bertil/article/details/108308489

(8) Objeto anónimo
Cuando se crea un objeto, cuando se llama al método del objeto, no es necesario definir la variable de referencia del objeto, sino llamar directamente al método del objeto . Dicho objeto se denomina objeto anónimo .

例如,若将
      Cylinder volu=new Cylinder();
      volu.SetCylinder(2.5, 5,3.14);
     改写为:
      new Cylinder().SetCylinder(2.5, 5,3.14);Cylinder()就是匿名对象。

Para utilizar objetos anónimos, normalmente hay dos situaciones como sigue:
1. Si sólo se requiere una llamada a un método para un objeto.
2. Pase el objeto anónimo como argumento a una llamada a un método.

:一个程序中有一个getSomeOne()方法要接收一个MyClass类对象作为参数,方法的定义如下:
    public static void getSomeOne (MyClass c)
    {
    
    
        ……
     }
     可以用下面的语句调用这个方法。
                   getSomeOne(new MyClass( ) );

(9) Mecanismo de manejo de excepciones de Java
1. Conceptos básicos de manejo de excepciones
Inserte la descripción de la imagen aquí

2.Mecanismo de manejo de excepciones de Java
Inserte la descripción de la imagen aquí

Para obtener detalles sobre el manejo de excepciones de Java, consulte aquí: https://blog.csdn.net/Bertil/article/details/106402047

Seis, ejemplos clásicos de DO en la práctica

(1) Clasificación de objetos
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

import java.util.*;
public class Main {
    
    
    public static void main(String[] args) {
    
    
    	Scanner sin = new Scanner(System.in);
		int count,weight;
		String name;
		if(sin.hasNextInt())
			count = sin.nextInt();
		else 
		{
    
    
			System.out.println ("error input");
			return;
		}
		if(count <= 0)
		{
    
    
			System.out.println ("error input");
			return;
		}
		Cat[] catArray = new Cat[count];
		for (int i = 0; i<count; i++)
		{
    
    
			name = sin.next();
			if(sin.hasNextInt())
				weight = sin.nextInt();
			else 
			{
    
    
				System.out.println ("error input");
				return;
			}
			catArray[i] = new Cat(name,weight);
		}	
        Cat.printCats(catArray); 
        Arrays.sort(catArray, new CatNameComparator()); 
        Cat.printCats(catArray);
        Arrays.sort(catArray, new CatWeightComparator());   
        Cat.printCats(catArray);
    }
}
class Cat{
    
    
	String name;
	int Weight;
	public Cat(String name,int Weight){
    
    
		this.name = name;
		this.Weight = Weight;
	}
	public static void printCats(Cat[] catArray){
    
    
		for(int i = 0;i < catArray.length;i++){
    
    
			System.out.println ("name="+catArray[i].name+" "+"weight="+catArray[i].Weight);
			
		}
		System.out.println ();
			
	}
}
class CatNameComparator implements Comparator<Cat>{
    
    
	public int compare(Cat c1,Cat c2){
    
    
		return c2.name.compareTo(c1.name);
	}
}
class CatWeightComparator implements Comparator<Cat>{
    
    
	public int compare(Cat c1,Cat c2){
    
    
		return c2.Weight - c1.Weight;
	}	
}

(2) Métodos comunes en la clase String
Inserte la descripción de la imagen aquí

import java.util.*;
public class Main {
    
    
    public static void main(String[] args) {
    
    
        Scanner reader = new Scanner(System.in);
        String str1 = reader.next();
        String str2 = reader.next();
        if(str1.equals(str2))
        	System.out.println ("true");
        else
        	System.out.println ("false");
        int idx,count=0;
        idx=str1.indexOf(str2);
        while(idx>=0)
        {
    
    
        	idx=str1.indexOf(str2,idx+str2.length());
        	count++;
        }
        System.out.println (count);
        int lastIndex = str1.lastIndexOf(str2);
        System.out.println (lastIndex);
        String newstr1 = str1.toUpperCase();
        System.out.println (newstr1);
        String newstr2 = str2.toLowerCase();
        System.out.println (newstr2);
        int num1=0;
        for(int i=0;i<str1.length();i++)
        {
    
    
        	if(Character.isDigit(str1.charAt(i)))
        	num1++;
        }
        System.out.println (num1);
        int num2=0;
        for(int i=0;i<str2.length();i++)
        {
    
    
        	if(Character.isLetter(str2.charAt(i)))
        	num2++;
        }
        System.out.println (num2);
        System.out.println (str1.replace("abc","cde"));
    }
}

Supongo que te gusta

Origin blog.csdn.net/Bertil/article/details/107334869
Recomendado
Clasificación