(主要作用:用户交互)
package com.wr.oyc; import java.util.Scanner; public class System { public static void main(String[] args) { Scanner scanner = new Scanner(java.lang.System.in); java.lang.System.out.print("请输入您的年龄:"); int num = scanner.nextInt(); if(num < 18 ){ java.lang.System.err.println("禁止未成年上网!!!"); }else{ java.lang.System.out.println("去网吧耍吧"); } } }
类图:
定义:自动装箱和拆箱就是将基本数据类型就是和包装类自动转换
自动装箱:
自动拆箱:
原因在valueof方法中 a、如果传入的数在缓存的区间就返回原来的数字(也就是同一个对象) 如果传入的数不在缓存区间就返回新的对象,那么就算两个数字相同 但是对象不同那么内存地址也就不同,使用==比较的就内存地址
对于"hello" + "java“ 和 "hellojava"是同一对象,由于字符串常量池 但是str3+str4 是不等于str5 因为在编译期间编译器是不知道str3 + str4是什么的 什么 str4 不等于 (str3 + str4)
不要用String去拼接字符串,每一次拼接都是创建一个对象,占用空间
package com.wr.oyc.date; import java.util.Date; public class Demo1 { public static void main(String[] args) { Date date = new Date(100000000000003032L); System.out.println(date); System.out.println(date.getTime()); Date date1 = new Date(-21L*365*24*3600*1000); System.out.println(date1); } }
菜鸟教程中的时间类
菜鸟教程中Math类
package wr.oyc; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class CopyCopyFileAndDirectory { public static void main(String[] args) { copyAll(new File("C:\\Users") , new File("E:\\")); } // 复制整个文件夹的方法 public static void copyAll(File source, File start) { if (!start.exists()) {// 目的地是否有bourn的文件或者目录 start.mkdir();// 没有就创建一个 File[] listFiles = source.listFiles();// 获取源文件当前目录下第一层的所有文件信息 for (File file : listFiles) {// 循环遍历 if (file.isFile()) {// 当前的元素时文件么 如果是 则直接进行拷贝 copyFile(new File(source + "\\" + file.getName()), new File(start+ "\\" + file.getName())); } else {// 如果不是 则是目录 递归调用自己的方法 实现多层级复制 copyAll(new File(source + "\\" + file.getName()), new File(start+ "\\" + file.getName())); } } } } // 复制一个文件的方法 public static void copyFile(File src, File newplace) { BufferedInputStream bis = null;// 创建输入输出缓存字节流 提高数据流通的性能 BufferedOutputStream bos = null; try { bis = new BufferedInputStream(new FileInputStream(src));// 把字节流和字节缓存流连接在一起,形成通路 bos = new BufferedOutputStream(new FileOutputStream(newplace)); byte[] b = new byte[1024];// 创建byte数组的中转站,缓存为1024byte int len = 0;// 接受读取时read方法的返回值 while ((len = bis.read(b)) != -1) {// 返回值为-1则读完了 停止读取和写入 bos.write(b);// 写出byte数组的数据 bos.flush();// 手动刷新输出的缓冲区 } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (bos == null) { try { bos.close();// 反向关闭高层流 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (bis == null) { try { bis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
关于Scanner类的输出、包装类的装箱和拆箱、字符串String和可变字符序列StringBuffer、StringBuilder
再到Math类和Random类、枚举类、文件类、再到时间类Date SimpleDateFormat 字符串转时间 时间转字符串 Calender类 ,一起加油,每日一记