1. 课前回顾:
  2. 1.Object类中的方法:
  3. toString():输出地址值,如果想输出对象名不是地址值,就要重写toString
  4. equals():比较地址值,如果想比较内容,重写equals方法
  5. getClass():获取类对象
  6. native方法:本地方法,可以作为java的扩展方法
  7. 2.System类中方法
  8. gc()
  9. 垃圾回收器,会回收堆中没有引用的对象
  10. IO流对象,Socket对象,数据库连接对象GC是回收不了的,需要我们手动的关闭
  11. finalize() : 用于回收对象 不是GC调用,而是GC通知对象调用
  12. 3.String:
  13. a.概述:代表的是字符串
  14. b.特点:
  15. 凡是带""都是String的对象
  16. 字符串创建之后无法改变
  17. 可以共享
  18. c.底层实现原理:final char[] value
  19. d.构造:
  20. String()
  21. String(String s)
  22. String(char[] char)
  23. String(byte[] bytes)
  24. String(char[] char,int offset,int count)->将char数组的一部分转成String对象
  25. String(byte[] bytes,int offset,int count)->将byte数组的一部分转成String对象
  26. 简化:String 变量名 = ""
  27. e.面试题:
  28. String s = new String("abc")->创建了几个对象->1个或两个
  29. f.方法
  30. 比较方法:
  31. equals(String s)->比较内容
  32. equalsIgnoreCase(String s)->比较内容,忽略大小写
  33. 获取方法:
  34. length()->获取字符串长度
  35. charAt(int index)->根据索引获取对应的字符
  36. subString(int beginIndex)->截取字符串,从beginIndex开始截取到最后
  37. subString(int beginInext,int endIndex)->截取字符串,含头不含尾
  38. concat(String s)->拼接字符串
  39. indexOf(String s)获取指定字符串在原串儿中第一次出现的索引位置
  40. 转换方法:
  41. getBytes()->将字符串转成byte数组
  42. toCharArray()->将字符串转成char数组
  43. replace(String s,String s1)->将s替换成s1
  44. 分割方法:
  45. split(String regex)->按照指定的规则分割字符串
  46. 扩展方法:
  47. trim()->去掉两端空格
  48. startsWith(String s)->判断字符串是否以s开头
  49. endsWith(String s)->判断字符串是否以s结尾
  50. toLowerCase()->将字符串转成小写
  51. toUpperCase()->将字符串转成大写
  52. contains(String s)->判断字符串是否包含s
  53. 4.StringBuilder
  54. a.作用:拼接字符串提高效率
  55. b.特点:
  56. 底层自带缓冲区(char数组),默认长度为16
  57. 超过16自动扩容,2倍+2
  58. 如何扩容:Arrays.copyOf->利用的是数组赋值
  59. c.方法:
  60. append(任意类型)->字符串拼接,返回的是StringBuilder自己
  61. toString()->将StringBuilder转成String
  62. reverse()->字符串翻转
  63. 今日内容:
  64. 1.会使用Math类的方法做数学计算
  65. 2.会使用大类型,进行计算(加减乘除)
  66. 3.会使用Date,SimpleDateFormat,Calendar操作时间
  67. 4.会使用System类中的arrayCopy完成数组复制
  68. 5.会使用Arrays数组工具类
  69. 6.每一个基本类型对应的包装类是啥

第一章.Math类

1.Math类介绍

  1. 1.概述:数学工具类,专门用于数学运算
  2. 2.特点:
  3. a.构造被私有化了,所以,我们不能用构造new对象
  4. b.方法为静态方法
  5. 3.使用:
  6. 类名直接调用

2.Math类方法

  1. public static int abs(int a) ->求参数的绝对值
  2. public static double ceil(double a)向上取整
  3. public static double floor(double a)向下取整
  4. public static int round(float a)按照四舍五入返回最接近参数的int
  5. static int max(int a, int b) ->求两个参数中较大的值
  6. static int min(int a, int b) ->求两个参数中较小的值
  1. public class Test01 {
  2. public static void main(String[] args) {
  3. // public static int abs(int a) ->求参数的绝对值
  4. System.out.println(Math.abs(-1));
  5. // public static double ceil(double a)向上取整
  6. System.out.println(Math.ceil(2.3));
  7. System.out.println(Math.ceil(-2.3));
  8. // public static double floor(double a)向下取整
  9. System.out.println(Math.floor(-2.1));
  10. // public static int round(float a)按照四舍五入返回最接近参数的int
  11. System.out.println(Math.round(2.5));
  12. // static int max(int a, int b) ->求两个参数中较大的值
  13. System.out.println(Math.max(10,20));
  14. // static int min(int a, int b) ->求两个参数中较小的值
  15. System.out.println(Math.min(10,20));
  16. }
  17. }

第二章.BigInteger

1.BigInteger介绍

  1. 1.作用:处理大的整数
  2. 2.为什么要学这个类:
  3. 现实中有没有可能出现比long型还大的数?有
  4. 那么在java中,比long型还大的数我们就不用称之为数,我们就称之为对象了
  5. 3.使用:
  6. 构造:
  7. BigInteger(String val)
  8. String表示是我们要处理的数字,参数必须要符合数字格式

2.BigInteger使用

  1. 构造:
  2. BigInteger(String val) ->根据传入的符合数字形式的字符串,创建BigInteger对象
  3. 方法:
  4. add(BigInteger value)加
  5. subtract(BigInteger value)减
  6. multiply(BigInteger value)乘
  7. divide(BigInteger value)除
  1. public class Demo01BigInteger {
  2. public static void main(String[] args) {
  3. BigInteger b1 = new BigInteger("12121212121212121212121");
  4. BigInteger b2 = new BigInteger("12121212121212121212121");
  5. //add(BigInteger value)加
  6. BigInteger add = b1.add(b2);
  7. System.out.println(add);
  8. //subtract(BigInteger value)减
  9. BigInteger subtract = b1.subtract(b2);
  10. System.out.println(subtract);
  11. //multiply(BigInteger value)乘
  12. BigInteger multiply = b1.multiply(b2);
  13. System.out.println(multiply);
  14. //divide(BigInteger value)除
  15. BigInteger divide = b1.divide(b2);
  16. System.out.println(divide);
  17. }
  18. }

第三章.BigDecimal类

1.BigDecimal介绍

  1. 1.作用:专门处理小数(解决floatdouble型的小数直接做运算可能出现精度损失的问题)

2.BigDecimal使用

  1. 1.构造:
  2. BigDecimal(String s)->s必须要是 数字形式
  3. 2.方法:
  4. add(BigDecimal value)加
  5. subtract(BigDecimal value)减
  6. multiply(BigDecimal value)乘
  7. divide(BigDecimal value)除
  8. 如果除不尽,会报错:ArithmeticException
  9. BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)
  10. - divesor:此 BigDecimal 要除以的值。
  11. - scale:保留的位数
  12. - roundingMode:舍入方式
  13. 舍入方式:BigDecimal类提供静态的成员变量来表示舍入的方式
  14. - BigDecimal.ROUND_UP 向上加1
  15. - BigDecimal.ROUND_DOWN 直接舍去。
  16. - BigDecimal.ROUND_HALF_UP 四舍五入。
  1. public class Demo02BigDecimal {
  2. public static void main(String[] args) {
  3. BigDecimal b1 = new BigDecimal("3.55");
  4. BigDecimal b2 = new BigDecimal("2.12");
  5. //add(BigDecimal value)加
  6. BigDecimal add = b1.add(b2);
  7. System.out.println(add);
  8. //subtract(BigDecimal value)减
  9. BigDecimal subtract = b1.subtract(b2);
  10. System.out.println(subtract);
  11. //multiply(BigDecimal value)乘
  12. BigDecimal multiply = b1.multiply(b2);
  13. System.out.println(multiply);
  14. //divide(BigDecimal value)除
  15. BigDecimal divide = b1.divide(b2);//因为两个数除不尽,导致报错了
  16. System.out.println(divide);
  17. }
  18. }
  1. public class Demo03BigDecimal {
  2. public static void main(String[] args) {
  3. BigDecimal b1 = new BigDecimal("3.55");
  4. BigDecimal b2 = new BigDecimal("2.12");
  5. BigDecimal divide = b1.divide(b2, 3, BigDecimal.ROUND_UP);
  6. System.out.println(divide);
  7. }
  8. }

第四章.Date日期类

1.Date类的介绍

  1. 1.概述:类 Date 表示特定的瞬间,精确到毫秒
  2. 2.毫秒:时间单位
  3. 1 = 1000毫秒
  4. 毫秒都是用long型表示
  5. 3.时间原点:197011000
  6. 4.地理知识:
  7. 我们所在的地区:东8区,比时间原点所在时区多8个小时
  8. 一个时区差一个小时
  9. 0度经线:本初子午线
  10. 划分南北半球:赤道

2.Date类的使用

  1. 1.构造:
  2. Date()->获取的是当前系统时间
  3. Date(long time)->相当于设置时间,从时间原点开始算
  1. public class Test01 {
  2. public static void main(String[] args) {
  3. Date date = new Date();
  4. System.out.println(date);
  5. System.out.println("=====================");
  6. Date date1 = new Date(1000L);
  7. System.out.println(date1);
  8. }
  9. }

3.Date类的常用方法

  1. long getTime() ->获取当前系统时间的毫秒值
  2. void setTime(long time)->为时间赋值,传递毫秒值,从时间原点开始往后推算
  1. public class Test02 {
  2. public static void main(String[] args) {
  3. Date date = new Date();
  4. long time = date.getTime();
  5. System.out.println(time);
  6. Date date1 = new Date(1623033586680L);
  7. System.out.println(date1);
  8. System.out.println("=======================");
  9. Date date2 = new Date();
  10. date2.setTime(2000L);
  11. System.out.println(date2);
  12. }
  13. }

经验值:

将一段代码快速封装到一个方法中:选中要封装的代码,按ctrl+alt+M

第五章.Calendar日历类

1.Calendar介绍

  1. 1.概述:日历类,是一个抽象类
  2. 2.获取:
  3. static Calendar getInstance()
  4. 3.方法:
  5. - public int get(int field):返回给定日历字段的值。
  6. - public void set(int field, int value):将给定的日历字段设置为给定值。
  7. - public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
  8. - public Date getTime():将Calendar转成Date对象
  9. 日历字段: Calendar中的字段(成员变量),都是静态的

day12[常用API] - 图1

  1. public class Test01 {
  2. public static void main(String[] args) {
  3. //获取Calendar对象
  4. Calendar calendar = Calendar.getInstance();
  5. //System.out.println(calendar);
  6. //- public int get(int field):返回给定日历字段的值。
  7. int year = calendar.get(Calendar.YEAR);
  8. System.out.println(year);
  9. //- public void set(int field, int value):将给定的日历字段设置为给定值。
  10. /* calendar.set(Calendar.YEAR,2022);
  11. int year1 = calendar.get(Calendar.YEAR);
  12. System.out.println(year1);*/
  13. //- public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
  14. /* calendar.add(Calendar.YEAR,-1);
  15. int year2 = calendar.get(Calendar.YEAR);
  16. System.out.println(year2);*/
  17. //- public Date getTime():将Calendar转成Date对象
  18. Date time = calendar.getTime();
  19. System.out.println(time);
  20. System.out.println("===============");
  21. //void set(int year, int month, int date) 设置年月日
  22. calendar.set(2021,2,1);
  23. System.out.println(calendar.get(Calendar.YEAR));
  24. System.out.println(calendar.get(Calendar.MONTH));
  25. }
  26. }

第六章.SimpleDateFormat日期格式化类

1.DateFormat介绍

  1. 1.概述:DateFormat日期格式化类,抽象类
  2. 2.使用:用子类->SimpleDateFormat
  3. 3.怎么使用:
  4. a.构造:
  5. SimpleDateFormat(String pattern)
  6. pattern:代表的是指定的日期格式
  7. yyyy-MM-dd HH:mm:ss
  8. 中间连接符可以变,但是字母不能变

day12[常用API] - 图2

2.DateFormat常用方法

  1. 1.String format(Date date) -> Date对象表示的时间按照指定的格式去格式化,返回的是String
  2. 2.Date parse(String source) -> 将符合规则的字符串时间表示形式转成Date对象
  1. public class Test {
  2. public static void main(String[] args) throws ParseException {
  3. format();
  4. parse();
  5. }
  6. private static void parse() throws ParseException {
  7. //创建SimpleDateFormat
  8. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  9. String time = "2021-1-1 00:00:00";
  10. Date date = sdf.parse(time);
  11. System.out.println(date);
  12. }
  13. private static void format() {
  14. //创建SimpleDateFormat
  15. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  16. Date date = new Date();
  17. String format = sdf.format(date);
  18. System.out.println(format);
  19. }
  20. }

第七章.JDK8新日期类

1. LocalDate 本地日期

1.1.获取LocalDate对象

  1. 1.static LocalDate now()
  2. 2.static LocalDate of(int year, Month month, int dayOfMonth)
  1. public class Test01 {
  2. public static void main(String[] args) {
  3. // 1.static LocalDate now()
  4. LocalDate localDate = LocalDate.now();
  5. System.out.println(localDate);
  6. // 2.static LocalDate of(int year, Month month, int dayOfMonth)
  7. LocalDate localDate1 = LocalDate.of(2020, 1, 1);
  8. System.out.println(localDate1);
  9. }
  10. }

1.2.获取日期字段的方法 : 名字是get开头

  1. - int getYear() 获取年份
  2. - int getDayOfMonth()返回月中的天数
  3. - int getMonthValue() 返回月份
  1. public class Test02 {
  2. public static void main(String[] args) {
  3. // 2.static LocalDate of(int year, Month month, int dayOfMonth)
  4. LocalDate localDate1 = LocalDate.of(2020, 1, 1);
  5. //- int getYear() 获取年份
  6. System.out.println(localDate1.getYear());
  7. //- int getMonthValue() 返回月份
  8. System.out.println(localDate1.getMonthValue());
  9. //- int getDayOfMonth()返回月中的天数
  10. System.out.println(localDate1.getDayOfMonth());
  11. }
  12. }

1.3.设置日期字段的方法 : 名字是with开头

  1. - LocalDate withYear(int year)设置年份
  2. - LocalDate withMonth(int month)设置月份
  3. - LocalDate withDayOfMonth(int day)设置月中的天数
  1. public class Test03 {
  2. public static void main(String[] args) {
  3. LocalDate localDate = LocalDate.now();
  4. //- LocalDate withYear(int year)设置年份
  5. LocalDate localDate1 = localDate.withYear(2020);
  6. //- LocalDate withMonth(int month)设置月份
  7. LocalDate localDate2 = localDate1.withMonth(1);
  8. //- LocalDate withDayOfMonth(int day)设置月中的天数
  9. LocalDate localDate3 = localDate2.withDayOfMonth(1);
  10. System.out.println(localDate3);
  11. }
  12. }

1.4.日期字段偏移

  1. - 设置日期字段的偏移量, 方法名plus开头,向后偏移
  2. - 设置日期字段的偏移量, 方法名minus开头,向前偏移
  1. public class Test04 {
  2. public static void main(String[] args) {
  3. //plus();
  4. minus();
  5. }
  6. /*
  7. 日期偏移,向前
  8. 方法l:
  9. minusXXX()
  10. xxx代表具体的字段:年 月 日
  11. */
  12. private static void minus() {
  13. LocalDate localDate = LocalDate.now();
  14. LocalDate localDate1 = localDate.minusMonths(1);
  15. System.out.println(localDate1.getMonthValue());
  16. }
  17. /*
  18. 日期偏移,向后
  19. 方法:
  20. plusxxx()
  21. xxx代表具体字段
  22. */
  23. private static void plus() {
  24. LocalDate localDate = LocalDate.now();
  25. LocalDate localDate1 = localDate.plusMonths(10);
  26. System.out.println(localDate1.getMonthValue());
  27. }
  28. }

2.Period和Duration类

2.1 Period 计算日期之间的偏差

  1. - static Period between(LocalDate d1,LocalDate d2)计算两个日期之间的差值.
  2. - getYears()->获取相差的年
  3. - getMonths()->获取相差的月
  4. - getDays()->获取相差的天
  1. public class Test05 {
  2. public static void main(String[] args) {
  3. LocalDate localDate1 = LocalDate.of(2021, 2, 2);
  4. LocalDate localDate2 = LocalDate.of(2020, 1, 1);
  5. //- static Period between(LocalDate d1,LocalDate d2)计算两个日期之间的差值.
  6. Period period = Period.between(localDate2, localDate1);
  7. System.out.println(period);
  8. //- getYears()->获取相差的年
  9. System.out.println("相差的年:"+period.getYears());
  10. //- getMonths()->获取相差的月
  11. System.out.println("相差的月:"+period.getMonths());
  12. //- getDays()->获取相差的天
  13. System.out.println("相差的天:"+period.getDays());
  14. }
  15. }

2.2 Duration计算时间之间的偏差

  1. static Duration between(Temporal d1,Temporal d2)计算两个日期之间的差值.
  2. 参数传递Temporal的子类->LocalDateTime
  3. toMinutes()->获取相差分钟
  4. toDays()->获取相差天数
  5. toMillis()->获取相差秒(毫秒为单位)
  6. toHours()->获取相差小时
  1. public class Test06 {
  2. public static void main(String[] args) {
  3. /*
  4. 创建LocalDateTime对象,可以操作年月日时分秒
  5. 创建:
  6. static LocalDateTime now()
  7. static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second)
  8. */
  9. LocalDateTime local1 = LocalDateTime.of(2020, 1, 1, 10, 10, 10);
  10. LocalDateTime local2 = LocalDateTime.of(2021, 2, 2, 20, 20, 20);
  11. /*
  12. LocalDateTime是Temporal实现类
  13. */
  14. //static Duration between(Temporal d1,Temporal d2)计算两个日期之间的差值.
  15. Duration duration = Duration.between(local1, local2);
  16. //toDays()->获取相差天数
  17. System.out.println("相差:"+duration.toDays()+"天");
  18. //toHours()->获取相差小时
  19. System.out.println("相差:"+duration.toHours()+"个小时");
  20. //toMinutes()->获取相差分钟
  21. System.out.println("相差:"+duration.toMinutes()+"分钟");
  22. //toMillis()->获取相差秒(毫秒为单位)
  23. System.out.println("相差:"+duration.toMillis()+"秒");
  24. }
  25. }

2.3 DateTimeFormatter

  1. 1.概述:日期格式化对象
  2. 2.方法:
  3. - static DateTimeFormatter ofPattern(String str)自定义的格式
  4. s:我们自己定义的格式
  5. TemporalAccessor:接口
  6. 实现类:
  7. LocalDate LocalDateTime
  8. - TemporalAccessor parse(String s)字符串解析为日期对象
  9. static LocalDateTime from(TemporalAccessor temporal)
  10. - String format(TemporalAccessor t)将日期按照格式转成String
  1. public class Test07 {
  2. public static void main(String[] args) {
  3. //parse();
  4. format();
  5. }
  6. private static void format() {
  7. //获取DateTimeFormatter对象
  8. DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  9. String format = dtf.format(LocalDateTime.now());
  10. System.out.println(format);
  11. }
  12. private static void parse() {
  13. //获取DateTimeFormatter对象
  14. DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  15. String time = "2020-01-01 00:00:00";
  16. TemporalAccessor parse = dtf.parse(time);
  17. System.out.println(parse);
  18. LocalDateTime from = LocalDateTime.from(parse);
  19. System.out.println(from);
  20. }
  21. }

第八章.System类

  1. 1.特点:
  2. 构造被私有了
  3. 不能new对象
  4. 方法是static
  5. 2.方法:
  6. static long currentTimeMillis() ->获取当前系统时间毫秒值
  7. static void exit(int status) -> 退出jvm
  8. static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)->数组复制
  9. src:源数组
  10. srcPos:代表的是从原数组的哪个索引开始复制
  11. dest:目标数组
  12. destPos:从目标数组的哪个索引开始粘贴
  13. length:复制多少个
  1. public class Test01 {
  2. public static void main(String[] args) {
  3. long start = System.currentTimeMillis();
  4. for (int i = 0; i < 100; i++) {
  5. //退出jvm
  6. System.exit(0);
  7. System.out.println("我爱大数据");
  8. }
  9. long end = System.currentTimeMillis();
  10. System.out.println(end-start);
  11. }
  12. }
  1. public class Test02 {
  2. public static void main(String[] args) {
  3. /*
  4. static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)->数组复制
  5. src:源数组
  6. srcPos:代表的是从原数组的哪个索引开始复制
  7. dest:目标数组
  8. destPos:从目标数组的哪个索引开始粘贴
  9. length:复制多少个
  10. */
  11. int[] arr1 = {1,2,3,4,5,6,7,8,9};
  12. int[] arr2 = new int[10];
  13. System.arraycopy(arr1,0,arr2,0,5);
  14. System.out.println(Arrays.toString(arr2));
  15. }
  16. }

第九章.Arrays数组工具类

  1. 1.概述:数组工具类
  2. 2.特点:
  3. a.构造私有化
  4. b.成员都是static
  5. c.类名直接调用
  6. 3.方法:
  7. static int binarySearch(int[] a, int key) ->二分查找
  8. static void sort(int[] a) ->对数组中的元素进行排序->升序
  9. static String toString(int[] a) ->按照指定格式打印
  10. static int[] copyOf(int[] original, int newLength) ->数组扩容
  1. public class Test03 {
  2. public static void main(String[] args) {
  3. //static int binarySearch(int[] a, int key) ->二分查找
  4. //binarySearch();
  5. //static void sort(int[] a) ->对数组中的元素进行排序->升序
  6. //sort();
  7. //static int[] copyOf(int[] original, int newLength) ->数组扩容
  8. copyOf();
  9. }
  10. private static void copyOf() {
  11. int[] arr = {1,2,3,4,5};
  12. /*
  13. copyOf->底层实现原理
  14. 先new了一个新数组
  15. 通过数组复制(System.arrayCopy)将老数组中的元素复制到新数组中
  16. 然后返回新数组
  17. */
  18. arr = Arrays.copyOf(arr, 10);
  19. System.out.println(Arrays.toString(arr));
  20. }
  21. private static void sort() {
  22. int[] arr = {5,3,6,4,4,6,8,5};
  23. Arrays.sort(arr);
  24. //static String toString(int[] a) ->按照指定格式打印
  25. System.out.println(Arrays.toString(arr));
  26. }
  27. private static void binarySearch() {
  28. int[] arr = {11,22,33,44,55,66};
  29. int index = Arrays.binarySearch(arr, 11);
  30. System.out.println(index);
  31. }
  32. }

第十章.包装类

1.基本数据类型对应的引用数据类型(包装类)

  1. 1.包装类:基本类型对应的引用类型
  2. 基本类型 包装类
  3. byte Byte
  4. short Short
  5. int Integer
  6. long Long
  7. float Float
  8. double Double
  9. char Character
  10. boolean Boolean
  11. 2.注意:
  12. 基本类型和对应的包装类之间自动转换
  13. 3.拆箱 装箱 -> 自动的
  14. 装箱:将基本类型转成对应的包装类
  15. 拆箱:将包装类转成对应的基本类型
  1. public class Test01 {
  2. public static void main(String[] args) {
  3. Integer i = 10;//装箱
  4. System.out.println(i+1);
  5. ArrayList<Integer> list = new ArrayList<>();
  6. list.add(1);//添加元素 -> 自动装箱
  7. //获取,根据索引获取
  8. //Integer integer = list.get(0);
  9. int element = list.get(0);//自动拆箱
  10. System.out.println(element);
  11. }
  12. }

2.Integer的介绍以及使用

  1. 1.概述:int对应的包装类
  2. 2.装箱:
  3. public Integer(int value)
  4. public Integer(String s)
  5. public static Integer valueOf(int i)
  6. public static Integer valueOf(String s)
  7. 3.注意:
  8. 我们传递的字符串必须是数字形式
  9. 4.拆箱:
  10. int intValue()
  1. public class Test02 {
  2. public static void main(String[] args) {
  3. //public Integer( int value)
  4. Integer integer = new Integer(1);
  5. System.out.println(integer+1);
  6. //public Integer(String s)
  7. Integer integer1 = new Integer("1");
  8. System.out.println(integer1+1);
  9. //public static Integer valueOf ( int i)
  10. Integer integer2 = Integer.valueOf(1);
  11. System.out.println(integer2+1);
  12. //public static Integer valueOf (String s)
  13. Integer integer3 = Integer.valueOf("1");
  14. System.out.println(integer3+1);
  15. System.out.println("==================");
  16. int i = integer3.intValue();
  17. System.out.println(i);
  18. }
  19. }

3.基本类型和String之间的转换

3.1 基本类型往String转换

  1. 1.直接拼接 用+
  2. 2.通过String类静态方法valueOf(int i)
  1. public class Test03 {
  2. public static void main(String[] args) {
  3. //1.直接拼接 用+
  4. int i = 1;
  5. System.out.println(i+"啊哈哈哈");
  6. //2.通过String类静态方法valueOf(int i)
  7. String s1 = String.valueOf(1);
  8. System.out.println(s1+"哈哈哈");
  9. }
  10. }

3.2 String转成基本类型

  1. 基本类型中有都静态方法parseXXX()->XXX代表具体转成什么基本类型
  2. - public static byte parseByte(String s):将字符串参数转换为对应的byte基本类型。
  3. - public static short parseShort(String s):将字符串参数转换为对应的short基本类型。
  4. - public static int parseInt(String s):将字符串参数转换为对应的int基本类型。
  5. - public static long parseLong(String s):将字符串参数转换为对应的long基本类型。
  6. - public static float parseFloat(String s):将字符串参数转换为对应的float基本类型。
  7. - public static double parseDouble(String s):将字符串参数转换为对应的double基本类型。
  8. - public static boolean parseBoolean(String s):将字符串参数转换为对应的boolean基本类型。
  9. 注意:String必须是数字形式
  1. public class Test04 {
  2. public static void main(String[] args) {
  3. int i = Integer.parseInt("111");
  4. System.out.println(i+1);
  5. }
  6. }