JDK7前时间相关类
Date时间类
Simpledateformat
Format 格式化
Parse 解析
默认格式
指定格式
EE:表示周几
Parse:把字符串时间转成date对象
注意:创建对象的格式要和字符串的格式一样
Calendar日历类
不能创建对象
Getinstance 获取当前对象
Getinstance
Get
Set add增加 若是减少就写一个负数
JDK8新增的时间相关类
Zoneid 时区
静态方法,不需要创建对象 直接ZoneId. 调用
Instance时间戳
Minus plus
不会改变原有的时间对象,会创建一个新的instance
Zonedatetime
不会改变原调用者
Datetimeformatter
JDK8 中的Calendar 日历类
LocalDate、LocalTime、LocalDateTime 三个类
获取月的方法
计算时间间隔
Chronounit 最常用
包装类
把基本数据类型变成一个对象
\
integer用的最多
重要:
自动装箱
自动拆箱(JDK5开始)
直接=数字,直接赋值
Integer方法
转成其他进制的数
字符串转整数
不只是整数,boolean,double都有这个方法
以后键盘录入都用nextline,得到字符串后再转成想要的数据类型
算法练习
package exercise;
import java.util.ArrayList;
import java.util.Scanner;
public class exercise1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<Integer> arrayList = new ArrayList<>();
int sum = 0;
while (sum <= 200) {
System.out.println("输入整数");
String s = sc.nextLine();
int i = Integer.parseInt(s);
if (i < 1 || i > 100) {
System.out.println("数字不在1~100");
continue;
}
sum += i;
arrayList.add(i);
}
System.out.println("sum = " + sum);
for (Integer i : arrayList) {
System.out.print(i + ", ");
}
}
}
package exercise;
import java.util.Scanner;
public class exercise2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入一个数");
String s = sc.nextLine();
if (!s.matches("[1-9]\\d{0,9}")) {
System.out.println("错误输入");
return;
}
int result = 0;
for (char c : s.toCharArray()) {
int i = c - '0';
result = result * 10 + i;
}
System.out.println(result);
System.out.println(result + 1);
}
}
package exercise;
public class exercise3 {
public static void main(String[] args) {
System.out.println(toBinaryString(10));
}
public static String toBinaryString(int num){
StringBuilder sb = new StringBuilder();
while (num != 0) {
int remainder = num % 2;
// sb.append(remainder);
sb.insert(0,remainder);
num /= 2;
}
return sb.toString();
}
}
或者jdk8一个方法就搞定