23列挙型と文字列クラス

1.列挙

(1)定義形式:クラスの代わりに列挙型を使用します
(2)クラスに定数値を直接書き込みます
(3)列挙型の変更されたクラスはすべて静的定数です
(4)新しいオブジェクトを直接割り当てることはできません。直接割り当てる必要があります

2.パッケージング

(1)各基本データ型はパッケージングクラスに対応します
(2)intパッケージングクラスは整数、charパッケージングクラスは文字、
その他は大文字になります
(3)構築方法:各パッケージングクラスは対応するデータ型と文字列を提供します(文字列は対応する型に解析可能である必要があります)パラメータ構築方法として。(char
型を除き、パラメータとしてシンボルの構築方法のみをサポートします)
(4)***値は参照データ型を基本データ型に変換し、プレフィックスは基本データ型の名前です
( 5)対応するパッケージタイプを文字列に変換するtoStringメソッド
(6)parse ***文字列を対応する基本データ型に変換します。数値の場合を変換するには、文字列を真に解決する必要があります。
FormatExceptionに番号を付け、デジタル変換の異常な使用法:string a = "12345"; int b =
Integer.parseInt(a); System.out.println(b + 1);結果:12346
(7)valueOfは、
基本的なデータ型を参照に変換しますデータ型
(8)ボックスの自動ボックス化解除とパッキングjdk1.5以降、パッケージングクラスと基本データ型の混合操作をサポートしています。現在、
①基本データ型をオブジェクトに直接割り当て、自動的にボックス化するのが便利です。②参照データ型を基本データ型に直接割り当て、Box Integer aaInteger =
Integer.valueOf(29); // Box Integer aaInteger = 29 || integer aaInteger =
new Integer(29); int v = aaInteger.intValue(); //拆箱intv = aaInteger;

3.数学クラス
(1)いくつかの数式、2つの静的定数、PI E
(2)を提供する数学クラスMath.Random()は、double型0. * decimalを取得します。

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

注:random * 10を囲む必要があります。そうしないと、intrandomはrandomの0. * 10進数を0に変換して、乱数が取得されないようにします。

面接の質問:

Math.ceil()切り上げ
Math.floor
()切り下げMath.round()切り上げ

4.ランダムクラス

获取随机数
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.文字列クラス//変更後、新しいオブジェクトが作成され、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.コンスタントプール

整数パッケージングクラスと文字パッケージングクラスの値はバイト単位で新しいオブジェクトを生成しないため、比較がtrueの場合、それは比較アドレスでもあります。文字列
タイプは、オブジェクトを初めて作成するために直接割り当てられ、文字列の内容は定数プールに格納されます。2番目の同じ内容の文字列を作成します。時間は新しいオブジェクトを生成しないので
直接割り当てられ、同じ内容の2つの文字列を比較します。これも当てはまります。

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

7.StringBuffer&StringBuilder

Stringクラスは不変オブジェクトであるため、文字列の内容を頻繁に変更する必要がある場合は、StringBufferまたはStringBuilderを使用することをお勧めします。

インタビューの質問:StringBufferとStringBuilderの違いは何
ですか?

前者はJDK1.0以降、スレッドセーフで低効率であり、後者はスレッドセーフで効率的であり、後者は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.ランタイム

// 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.java.util.Dateクラス

Dateクラスは、時間関連の情報を取得するためのいくつかのメソッドを提供しますが、そのほとんどは非推奨であり、推奨されていません。次を使用できます。

  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クラス//クラスの使用方法は非常に簡単で、personクラスなどの新しいクラスに直接名前を付けます。

     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.カレンダークラス(カレンダー)

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

// 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));

おすすめ

転載: blog.csdn.net/zyf_fly66/article/details/114091747