API:
System:System也是一个工具类,提供了一些与系统相关的方法
public static void exit(int status)
终止当前运行的 Java虚拟机
public static long currentTimeMillis() (以1970.1.1.00.00为时间原点)
返回当前系统的时间毫秒值形式
public static void arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数)
数组拷贝
currentTimeMillis:可以用于记录程序运行的时间
public static void time() {
long start = System.currentTimeMillis();
for (int i = 0; i < 1000; i++) {
System.out.println("1");
}
long end = System.currentTimeMillis();
System.out.println(end-start);
}
7毫秒
arraycopy :复制数组
public static void copy(){
int [] arr1=new int[]{1,2,3,4,5,6,7,8,9,10};
int [] arr2 = new int[10];
//参数1,要复制的是谁,2:从哪个位置开始复制,3:复制到哪个数组,4:复制到的起始位置,5:复制几个
System.arraycopy(arr1,0,arr2,0,10);
for (int i = 0; i < 10; i++) {
System.out.print(arr2[i]+" ");
}
}
运行结果:
exit:正常或异常终止程
public static void exit() {
//方法的形参:
//状态码:
//0:表示当前虚拟机是正常停止
//非0:表示当前虚拟机异常停止
System.exit(0);
System.out.println("看我执行了吗");
}
程序没有任何输出:
stringbuilder :
stringBuilder概述:
StringBuilder可以看作是一个容器,创建之后里面的内容是可变的(string不能变化)
作用:提高字符串的操作效率
使用stringBuilder的场景:
1.字符串的拼接
2.字符串的反转
StringBuilder构造方法:
方法名: 说明:
public StringBuilder() 创建一个空白可变字符串对象,不含有任何内容
public StringBuilder(String str) 根据字符串的内容,来创建可变字符串对象
方法名: 说明:
public StringBuilder append(任意类型) 添加数据,并返回对象本身
public StringBuilder reverse() 反转容器中的内容
public int length 返回长度
public String toString() 通过toString()就可以实现把StringBuilder转换成String
//1.创建对象
StringBuilder sb = new StringBuilder();
//2.添加字符串
sb.append(1);
sb.append(1.3);
sb.append("avb");
//3.翻转字符串
sb.reverse();
//4.再把StringBuilder变回字符串
String str=sb.toString();
输出结果:
stringjoiner:
StringJoiner构造方法:
方法名: 说明:
public StringJoiner(间隔符号) 创建一个StringJoiner对象,指定拼接时的间隔符号
public StringJoiner(间隔符号,开始符号,结束符号) 创建一个StringJoiner对象,指定拼接时的间隔符号,开始,结束符号
方法名: 说明:
public StringJoiner add(添加的内容) 添加数据,并返回对象本身
public int length() 返回长度
//public String toString() 返回一个字符串(该字符串就是拼接之后的结果)
StringJoiner sj =new StringJoiner("---");
sj.add("abc").add("bbb").add("ccc");
System.out.println(sj);
StringJoiner sj2=new StringJoiner(",","[","]");
sj2.add("1").add("2").add("3");
String s = sj2.toString();
System.out.println(s);
每日一题
题解:
画图就可以看出操作时间和冷却时间,如果冷却时间大于操作时间,那么就需要判断奇偶数来判断需要的最短时间(图中黄色为操作时间,绿色为冷却时间)这样看的化就很明显了。
ac:
#include "iostream"
using namespace std;
int t;
long long a, b, n, temp;
int main() {
cin >> t;
while (t--) {
temp = 0;
cin >> a >> b >> n;
if (a <= b)
cout << n * b << endl;
else {
if ((n % 2)) {
cout << b + 2 *(n/2)*(a + b)<<endl;
}
else {
cout << b * 2 + (n - 2) * (a + b) << endl;
}
}
}
}