封装类
所有基本类型都有其对应的类类型,这些类称为封装类。
基本类型 | 封装类 |
---|---|
int | Integer |
char | Character |
byte | Byte |
float | Float |
double | Double |
short | Short |
long | Long |
boolean | Boolean |
其中Byte,Integer,Double,Short,Float,Long都是抽象类Number的子类。
基本类型与封装类的转换
基本类型——>封装类
int i = 5;
Integer it = new Integer(i);
封装类——>基本类型
Integer it = new Integer(i);
int i = it.intValue();
通过=
符号可以自动装箱和拆箱
int i = 5;
Integer it1 = i;
int i2 = it1;
- int的最大值可以通过其对应的封装类Integer.MAX_VALUE获取
- int的最小值可以通过其对应的封装类Integer.MIN_VALUE获取
- 其他数据类型同理
数字与字符串转换
数字——>字符串
//方法1
String str = String.valueOf(i);
//方法2
Integer it = i;
String str2 = it.toString();
字符串——>数字
String str = "999";
int i= Integer.parseInt(str);
Math类
四舍五入
float f1=5.4f;
Math.round(f1);
0到1间的随机浮点数
double d1=Math.random();
0-10间的随机整数
int i1=(int)(Math.random()*10);
2的4次方
Math.pow(2,4);
开平方
Math.sqrt(16);
pi
Math.PI;
e
Math.E;
格式化输出
public static void main(String[] args) {
String name ="盖伦";
int kill = 8;
String title="超神";
String sentenceFormat ="%s 在进行了连续 %d 次击杀后,获得了 %s 的称号%n";
//使用printf格式化输出
System.out.printf(sentenceFormat,name,kill,title);
//使用format格式化输出
System.out.format(sentenceFormat,name,kill,title);
int year = 2020;
//直接打印数字
System.out.format("%d%n",year);
//总长度是8,默认右对齐
System.out.format("%8d%n",year);
//总长度是8,左对齐
System.out.format("%-8d%n",year);
//总长度是8,不够补0
System.out.format("%08d%n",year);
//千位分隔符
System.out.format("%,8d%n",year*10000);
//小数点位数
System.out.format("%.2f%n",Math.PI);
//不同国家的千位分隔符
System.out.format(Locale.FRANCE,"%,.2f%n",Math.PI*10000);
System.out.format(Locale.US,"%,.2f%n",Math.PI*10000);
System.out.format(Locale.UK,"%,.2f%n",Math.PI*10000);
Character封装类
常见方法
System.out.println(Character.isLetter('a'));//判断是否为字母
System.out.println(Character.isDigit('a')); //判断是否为数字
System.out.println(Character.isWhitespace(' ')); //是否是空白
System.out.println(Character.isUpperCase('a')); //是否是大写
System.out.println(Character.isLowerCase('a')); //是否是小写
System.out.println(Character.toUpperCase('a')); //转换为大写
System.out.println(Character.toLowerCase('A')); //转换为小写
String a = 'a'; //**不能**直接把一个字符转换成字符串
String a2 = Character.toString('a'); //转换为字符串
String类
- String类可以由字面值直接构造,也可以由字符数组构造,还可以由
+
构造 - String类无法被继承
- 字符串都是常量,不可改变
常用String方法
方法 | 说明 | 参数 |
---|---|---|
charAt(int i) | 获取字符 | 字符串位置 |
toCharArray() | 获取对应的字符数组 | |
subString(int i,int j) | 截取子字符串 | 从i开始,到j-1 |
split(String s) | 根据s分隔 | |
trim() | 去掉首尾所有空格 | |
toLowerCase() toUpperCase() | 转换大小写 | |
indexOf(String s) lastIndexOf(String s) contains(String s) | 定位 | 子串第一次出现位置 子串最后出现位置 是否包含子串 |
replaceAll(String s1,String s2) replaceFirst(String s1,String s2) | 替换 | 将所有s1替换为s2 将第一个s1替换为s2 |