JAVA知识点总结(五)(常用类)
2024-09-01 10:46:01
第十八章:常用类
一、main方法解读:
public static void main(String[] args)
//当点击运行时,JVM会自动调用main方法
//public: 被JVM调用的方法,他的权限要足够大
//static: 被JVM调用的方法,不需要创建对象,直接通过类名调用
//void: 被JVM调用的方法,不需要返回值
//main: 方法的名称,只能这样写,不然jvm识别不了
//String [] args:以前指的是键盘的录入
二、Scanner类:
Scanner sc = new Scanner(System.in);
//等待从键盘录入一个int类型的数,
int i = sc.nextInt();
System.out.println(i);
三、System类:
1、Arraycopy
public static void main(String[] args) {
// src - 源数组。
//srcPos - 源数组中的起始位置。
//dest - 目标数组。
//destPos - 目标数据中的起始位置。
//length - 要复制的数组元素的数量。
int [] src = {1,2,3,4,5,6};
int [] desc = new int[10];
System.arraycopy(src, 3, desc, 3, 3);
System.out.println(Arrays.toString(src));
System.out.println(Arrays.toString(desc));
//结果:
// [1, 2, 3, 4, 5, 6]
// [0, 0, 0, 4, 5, 6, 0, 0, 0, 0]
2、System.currentTimeMillis() ; 计算代码耗时
public static void main(String[] args) {
//获取当前时间的毫秒值 1s等于1000毫秒
//从197----现在的时间
long time1 = System.currentTimeMillis();
for(int i=0;i<10000;i++){
System.out.println(i);
}
long time2 = System.currentTimeMillis();
long time3 = time2-time1;
System.out.println("总耗时:"+time3);
3、退出程序:System.exit(0);
//终止当前正在运行的 Java 虚拟机。
System.exit(0);
4、启动自动立即回收机制:
new SystemMethod();
new SystemMethod();//匿名对象,匿名对象只运行一次, 之后就等大gc回收。
//立即运行垃圾回收器。
System.gc();
四、Math类:
1、求两个数的最大值:
//求两个数的最大值,最小值用min同理
int res = Math.max(10,20);
System.out.println(res);
2、开平方根:
//求4的平方根
double res = Math.sqrt(4);
System.out.println(res);
3、Math.random();
//返回[0 1) 之间的一个随机数
Math.random();
4、大精度小数BigDecimal:
//float double 只能表示小数,不能表示精确的小数
public static void main(String[] args) {
//表示金钱都用BigDecimal
BigDecimal big1 = new BigDecimal("0.01");
BigDecimal big2 = new BigDecimal("0.09");
BigDecimal big3 = big1.add(big2);
System.out.println(big3);
}
五、字符串:
1、什么是字符串?
把多个字符串起来。
2、字符串创建:
String str = "myxq";//直接创建
String str = new String("myxq");//通过构造器创建
3、字符串分类:
1.不可变字符串:String 效率低, 定义好之后就不能改变(内存地址)
2.可变字符串:StringBuilder/StringBuffer 效率高,StirngBuilder更高,但是StringBuffer安全,定义好之后还能进行修改地址
4、字符串为空的两种形式:
String str = null;
String str = "";
5、比较两个字符串是否相等:
//方法一
if(str == str2){
System.out.println("是相等的");
}else{
System.out.println("其实不相等");
}
//方法二
if(str.equals(str2)){
System.out.println("是相等的");
}else{
System.out.println("其实不相等");
}
6、字符串内存分析:
String str1 = "ABCD";
String str2 = "ABCD";
String str3 = "abc"; String str4 = new String("ABCD");
String str5 = new String("myxq");
7、char 数组转换成字符串:
//把一个char数组转换成字符串
char[] c1 = new char[]{'A','b','c'};
String str1 = new String(c1);
System.out.println(str1);
8、字符串转换为char数组:
String str1 = "abc";
char[] c2 = str1.toCharArray();
System.out.println(c2);
9、获取字符串当中指定位置的字符:
//获取字符串当中的信息
String str2 = "myxq";
System.out.println(str2.charAt(2));
10、获取字符串的长度:
//获取字符串当中的信息
String str2 = "myxq";
//返回字符串长度
System.out.println(str2.length());
11、返回一个子字符串在另一个字符串中第一次出现的位置:
//返回一个字符串在另一个字符串当中出现的第一个位置
String str3 = "ABCDEFGCDOOL";
String str4 = "CD";
System.out.println(str3.indexOf(str4));
12、返回一个子字符串在另一个字符串中最后一次出现的位置:
String str3 = "ABCDEFGCDOOL";
String str4 = "CD";
//返回一个字符串在另一个字符串当中出现的最后一个位置
System.out.println(str3.lastIndexOf(str4));
13、把所有字母变成大写:
System.out.println(str3.toUpperCase());//小写的话方法名变为toLowerCase
14、忽略大小写比较两个字符串是否相等:
System.out.println(str4.equalsIgnoreCase(str5));
15、用一个字符可以对字符串做一个分割,返回的是一个数组:
String fileNames = "abc.java;hello.java;hello.txt;hello.java.txt";
String[] res = fileNames.split(";");
System.out.println(Arrays.toString(res));
16、是否以指定的字符串开头:
String str = "myxq123";
boolean res = str.startsWith("my");
System.out.println(res);
17、获取从指定位置开始,到指定位置结束之间的字符
String str = "myxq123";
String res = str.substrign(1,4);
System.out.println(res);
18、去掉字符串两端的空格:
String str = " my xqqq ";
str = str.trim();
19、使用一个新字符替换字符串中的老字符:
String str = " my xqqq ";
String newStr = str.replace("d","q");// 用新的字符代替旧的字符
六、UUID
//UUID 通用唯一识别符
//在一台机器上,生成的数字
//根据当前的时间,,电脑的网卡,生成的一段字符
String uuid = UUID.randomUUID().toString();
System.out.println(uuid);
最新文章
- thinkphp 3.2.3 动态修改conf配置文件
- MyBatis之代理开发模式
- ontouchstart
- 一个糟糕的Erlang练习题
- SQL Server Native Client 安装方法
- linux命令每日一练习-ls
- C语言面向对象风格编程
- Remote Desktop manager 连接后无法自动登录
- [改善Java代码]适当设置阻塞队列长度
- android软键盘的用法总结
- isKindOfClass、isMemberOfClass的区别
- 自定义view组件
- Eclipse字体颜色的设置方法
- matlab判断文件或文件夹是否存在
- 连接到github
- 关于IE浏览器 ajax 请求返回数据不对的问题
- 一种基于NTC的控温电路及软件实现
- bzoj 1812
- SIEVE 线性筛
- 基数排序模板[luogu 1177]