23 Clase de enumeración y cadena

1. Enumeración

(1) Formato de definición: use enum en lugar de class
(2) Escriba el valor constante directamente en la clase
(3) Las clases modificadas enum son todas constantes estáticas
(4) El nuevo objeto no puede asignarse directamente, debe asignarse directamente

2. Embalaje

(1) Cada tipo de datos básico corresponde a una clase de empaquetado
(2) La clase de empaquetado int es un número entero, la clase de empaquetado char es carácter y las
demás están en mayúscula
(3) Método de construcción: cada clase de empaquetado se proporciona a sí misma Tipo de datos y cadena correspondientes (la cadena debe poder analizarse en el tipo correspondiente) como método de construcción de parámetros. (
Excepto por el tipo char , solo admite el método de construcción del símbolo como parámetro)
(4) *** El valor convierte el tipo de datos de referencia en el tipo de datos básico, el prefijo es el nombre del tipo de datos básico
( 5) el método toString, que convierte el tipo de empaquetado correspondiente una cadena
(6) parse *** convierte una cadena a los tipos de datos básicos correspondientes, la cadena debe resolverse verdaderamente para convertir el caso de un valor numérico puede, de lo contrario, informó Numere la
excepción FormatException, uso anormal de conversión digital: cadena a = "12345"; int b =
Integer.parseInt (a); System.out.println (b + 1); Resultado: 12346
(7) valueOf
convierte los tipos de datos básicos en referencia tipos de datos
(8) desempaquetado y empaquetado automático Las cajas, a partir de jdk1.5, admiten operaciones mixtas de clases de empaquetado y tipos de datos básicos. En la actualidad, es conveniente para nosotros escribir
① asignar directamente los tipos de datos básicos a los objetos y encuadrar automáticamente ② asignar directamente tipos de datos de referencia a tipos de datos básicos y desensamblar automáticamente Box Integer aaInteger =
Integer.valueOf (29); // Box Integer aaInteger = 29 || integer aaInteger =
nuevo entero (29); int v = aaInteger.intValue (); // 拆箱 int v = aaInteger;

3. Clase de matemáticas
(1) Clase de matemáticas, que nos proporciona algunas fórmulas matemáticas, dos constantes estáticas, PI E
(2) El método de obtención de números aleatorios Math.Random () obtiene un doble tipo 0. * decimal.

double random = Math.random();
		System.out.println((int)(random*10));

Nota: debe incluirse aleatorio * 10, de lo contrario int random convertirá el 0. * decimal de random a 0 para que no se obtenga ningún número aleatorio

Preguntas de entrevista:

Math.ceil () redondear
Math.floor
() redondear hacia abajo Math.round () redondear hacia arriba

4. Clase aleatoria

获取随机数
Random random = new Random();
System.out.println(random.nextInt(10));
System.out.println((int)(ran1.nextDouble()*10));//0-1的double数
System.out.println(ran1.nextFloat());//0-1的float数
System.out.println(ran1.nextBoolean());//true

5. String class // Después de la modificación, se crea un nuevo objeto y el objeto original no se cambiará a menos que se use StringBuffer

length() 获取字符串长度
equals() 比较字符串内容,重写与Object类
indexOf(String str ) 查找某个字符串第一次出现的位置
indexOf(int num) 根据ascii码表或者unicode码表查找对应数值所对应的字符串在
源字符串中的位置
lastIndexOf(String str) 跟indexOf一样,但是是查找的最后一个字符串
lastIndexOf(int num) 跟indexOf一样,但是是查找的最后一个字符串
subString(int beginIndex)表示从指定位置截取到字符串末尾
subString(int beginIndex , endIndex)表示从开始截取到指定结束位置,包前不包后
trim()去除字符串首位的空格
split(String str)根据指定的内容分割字符串,返回值是一个字符串数组,str不输出
contains(String str)查看源字符串是否包含某一个字符串,是返回true,否返回false
endsWith(Strinig str)判断字符串是否已str结尾
startsWith(String str)判断字符串是否已str开头
replace(String oldStr,String newStr)将oldStr替换为newStr
replaceAll(String regx,String newStr)根据正则表达式将匹配到的内容替换为newStr
concat(String str)将源字符串与str拼接,与 + 号拼接字符串效果一样
toLowerCase()将字符串转为小写
toUpperCase()将字符串转为大写
equalsIgnoreCase() 忽略大小写比较字符串内容
toCharArray()将字符串转换为char数组
charAt(int index)返回index下标对应的字符,char
getBytes()将字符串转换为byte数组

6. Fondo constante

Los valores de la clase de empaquetado de enteros y de la clase de empaquetado de caracteres no generarán nuevos objetos en bytes, por lo que usamosSi la comparación es verdadera, también es la dirección de comparación. El
tipo de cadena se asigna directamente para crear un objeto por primera vez, y el contenido de la cadena se almacenará en el grupo constante. Crear una cadena con el mismo contenido para la segunda el tiempo no generará un nuevo objeto, así que
usa
Compare dos cadenas que están asignadas directamente y tienen el mismo contenido, lo cual también es cierto

byte(-128~127)
    Character ch3 = 128;
		Character ch4 = 128;
		System.out.println(ch3 == ch4);

7.StringBuffer y StringBuilder

La clase String es un objeto inmutable, por lo que cuando necesitamos modificar con frecuencia el contenido de la cadena, se recomienda utilizar StringBuffer o StringBuilder

Pregunta de la entrevista: ¿Cuál es la
diferencia entre StringBuffer y StringBuilder?

El primero es seguro para subprocesos y de baja eficiencia desde JDK1.0, el último es seguro para subprocesos y eficiente, y más tarde JDK1.5

StringBuffer sb1 = new StringBuffer();
		System.out.println("逻辑容量" + sb1.capacity());
		System.out.println("实际长度" + sb1.length());
		sb1.append(false);//添加内容
		sb1.append("abcd");
		sb1.append(20);
		sb1.append(20.0);
		System.out.println("改变内容以后的sb1" + sb1);
逻辑容量16
实际长度0
改变内容以后的sb1falseabcd2020.0
8.System类
1.System.err.println("打印出来的是红色的字体")2.System.currentTimeMillis();//获取系统时间毫秒数
3.System.gc();//垃圾回收机制
4.System.exit(0);//0表示正常退出,非零表示非正常退出

9.Tiempo de ejecución

// Runtime 运行时
// 此类提供了一些关于程序运行过程中信息获取的方法
// 比如 内存大小等 
System.out.println("JVM最大内存" + Runtime.getRuntime().maxMemory() / 1024 / 1024 );
		
System.out.println("JVM空闲内存" + Runtime.getRuntime().freeMemory() / 1024 / 1024);
		
System.out.println("JVM总内存" + Runtime.getRuntime().totalMemory() / 1024 / 1024);

10. clase java.util.Date

La clase Date proporciona algunos métodos para obtener información relacionada con el tiempo, la mayoría de los cuales han quedado obsoletos y no se recomiendan.

  Date date = new Date();
		System.out.println(date);
输出结果:Mon Aug 24 15:38:03 CST 2020
System.out.println("一个月中的第几天" + date3.getDate());
		System.out.println("一周中的第几天" + date3.getDay());
		System.out.println("月份,要加1" + date3.getMonth());
		System.out.println("小时" + date3.getHours());
		System.out.println("分钟" + date3.getMinutes());
		System.out.println("秒钟" + date3.getSeconds());

11.SimpleDateFormat class // El método de uso de la clase es muy simple, nombre directamente la nueva clase, como la clase de persona

     person person = new person()
本类可以将日期格式化
Date date = new Date();
SimpleDateFormat   sdf  = new SimleDateFormat("yyyy/MM/dd  HH:mm:ss");
System.out.println(sdf.format(date));

12.Clase de calendario (calendario)

本类也可以获取时间的相关信息,本类不能直接实例化

// Calendar 日历
		Calendar cal = Calendar.getInstance();
		System.out.println("一个月中的第几天" + cal.get(Calendar.DATE));
		System.out.println("一周中的第几天" + cal.get(Calendar.DAY_OF_WEEK));
		System.out.println("第几个周几" + cal.get(Calendar.DAY_OF_WEEK_IN_MONTH));
		System.out.println("月份" + cal.get(Calendar.MONTH));
		System.out.println("小时" + cal.get(Calendar.HOUR));
		System.out.println("分钟" + cal.get(Calendar.MINUTE));
		System.out.println("秒钟" + cal.get(Calendar.SECOND));

Supongo que te gusta

Origin blog.csdn.net/zyf_fly66/article/details/114091747
Recomendado
Clasificación