*包装类: 将基本类型封装成类,其中包含属性和方法以方便对象操作。
*byte---->Byte
*short--->Short
*long--->Long
*float--->Float
*double--->Double
*boolean--->Boolean
*int--->Integer
*char---->Character
* 装箱:将基本数据类型转换成包装类型。
* 拆箱:将包装类型转换成基本数据类型。
* 从JDK1.5之后支持自动装箱和拆箱。

  1. public class Test {
  2. public static void main(String[] args) {
  3. Integer i = new Integer();//装箱
  4. int i2 = i.intValue();//拆箱
  5. Integer i3 = ;//自动装箱
  6. int i4=i;//自动拆箱
  7. System.out.println("Integer的最大值:"+Integer.MAX_VALUE);
  8. System.out.println("Integer的最小值:"+Integer.MIN_VALUE);
  9. System.out.println("123对应的二进制为:"+Integer.toBinaryString());
  10. System.out.println("123对应的八进制为:"+Integer.toOctalString());
  11. System.out.println("123对应的十六进制为:"+Integer.toHexString());
  12. Integer i5 = Integer.valueOf("");//将一个字符串转换成Integer
  13. int i6 = Integer.parseInt("");
  14. }
  15. }

==和equals在包装中的比较:

  1. public class TestString {
  2. public static void main(String[] args) {
  3. String str1 = "zzsxt";
  4. String str2 = "zzsxt";
  5. String str3 = new String("zzsxt");
  6. String str4 = new String("zzsxt");
  7. System.out.println(str1==str2);//true
  8. System.out.println(str1.equals(str2));//true
  9. System.out.println(str3==str4);//false
  10. System.out.println(str3.equals(str4));//true
         System.out.println(str1.equals(str3)); //true
         System.out.println(str1==str3); //false
  11.  
  12. }
  13. }
  1. public class Test {
  2. public static void main(String[] args) {
  3. Integer i=new Integer();
  4. Integer i2=new Integer();
  5. int i3=;
  6. int i4=;
  7. System.out.println(i==i2);//false
  8. System.out.println(i==i3);//true
  9. System.out.println(i3==i4);//true
  10. System.out.println(i.equals(i2));//true
  11. System.out.println(i.equals(i3));//true
  12.  
  13. }
  14. }

*java.lang.String:不可变的字符序列。
*常用的构造方法
*String(String original)
*String()
*String(char[] value)
*常用的方法:
*length():获取字符串的长度
*charAt(int index):查看指定下标的字符,字符串的下标从零开始
*toUpperCase():转大写
*toLowerCase():转小写
*equals(String s):比较字符串的内容是否相等
*equalsIgnoreCase(String s):忽略大小写比较内容是否相等
*indexOf(String s):索引指定字符串s在当前字符串的出现的下标位置,如果查找不到返回-1,如果存在多个将返回第一个字符串的下标位置
*lastIndexOf(String s):索引指定字符串s在当前字符串的最后出现的下标位置
*substring(int begin):字符串截取从begin开始截取到最后。
*substring(int begin,end):字符截取从begin开始,到end-1结束。不包含end位置
*trim():去掉前后空格,中间空格无法去除。
*startsWith(String s):测试此字符串是否以指定的前缀开始
*endsWith(String s):测试此字符串是否以指定的后缀结束

  1. public class TestString2 {
  2. public static void main(String[] args) {
  3. String str=new String(" hello, zzsxt! ");
  4. String str2=new String("Hello,zzsxt!");
  5. System.out.println("字符串长度:"+str.length());
  6. System.out.println("下标为3的字符:"+str.charAt());
  7. System.out.println("将字符串转大写:"+str.toUpperCase());
  8. System.out.println("将字符串转小写:"+str.toLowerCase());
  9. System.out.println("比较字符串的内容是否相等:"+str.equals(str2));
  10. System.out.println("忽略大小写比较字符串的内容是否相等:"+str.equalsIgnoreCase(str2));
  11. System.out.println("索引字符串中的指定字符的第一次出现的位置:"+str.indexOf("a"));//
  12. System.out.println("索引字符串中的指定字符的最后一次出现的位置:"+str.lastIndexOf("l"));//
  13. System.out.println("字符串的截取,从指定位置开始截取到最后:"+str.substring());//
  14. System.out.println("字符串的截取,从begin位置开始截取到end-1:"+str.substring(,));//
  15. System.out.println("去掉字符串的前后空格:"+str.trim());//
  16. System.out.println("测试此字符串是否以指定的前缀开始:"+str2.startsWith("Hel"));//
  17. System.out.println("测试此字符串是否以指定的后缀结束:"+str2.endsWith("!"));//
  18.  
  19. }
  20. }
  1. public class TestString3 {
  2. public static void main(String[] args) {
  3. String str="hello,bjsxt!";
  4. str=str.replace('!', '.'); // '!' 替换 '.'
  5. str = str.replace("bjsxt", "zzsxt");
  6. System.out.println(str);

  7.      String str2="java,html,oralce,mysql";
  8. String[] strs = str2.split(","); //以,号为标准前后转换为数组元素
  9. for (String string : strs) {
  10. System.out.println(string);
  11. }
  12. // String str3 = str.concat(str2);//连接字符串
  13. String str3 = str+str2; //同连接字符串
  14. System.out.println(str3);
  15. }
  16. }

* String:不可变的字符序列
* StringBuffer可变的字符序列,线程安全,在多线程中使用,效率较低。
* StringBuilder:可变的字符序列,非线程安全的,效率较高。
*
* 线程安全:在多线程中使用,类似于信号灯。

insert:

  1. import java.util.Scanner;
  2.  
  3. public class StringB {
  4. public static void main(String[] args) {
  5. Scanner input=new Scanner(System.in);
  6. System.out.println("请输入字符串");
  7. String s=input.next();
  8. StringBuffer ss=new StringBuffer(s);
  9. for(int x=s.length()-;x>;x-=){
  10. ss.insert(x, ",");
  11. }
  12. System.out.println(ss);
  13. }
  14. }

Builder:

  1. public class TestStringBuilder {
  2. public static void main(String[] args) {
  3. StringBuilder sb=new StringBuilder();
  4. long start = System.currentTimeMillis();
  5. for (int i = ; i <; i++) {
  6. sb.append(i);
  7. }
  8. long end = System.currentTimeMillis();
  9. System.out.println("总耗时:"+(end-start)+"毫秒");
  10. StringBuffer sb2 = new StringBuffer("hello");
  11. // sb2=sb2.delete(2, 4);
  12. sb2=sb2.reverse();//反转
  13. System.out.println(sb2);
  14. }
  15. }

java.util.Date:
*常用的构造方法:
* Date()
* Date(int year, int month, int date) 已过时
* Date(long date)
*常用的方法:
*getYear()返回一个值,此值是从包含或开始于此 Date 对象表示的瞬间的年份减去 1900 的结果
*getMonth()返回表示月份的数字,返回的值在 0 和 11 之间,值 0 表示 1 月。
*getDate():返回此 Date 对象表示的月份中的某一天。
*
*java.text.DateFormat:格式化日期,抽象类
*java.text.SimpleDateFormat继承DateFormat.
* SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类
* yyyy:年,MM:月 dd:日 hh:小时(12进制) HH:小时(24进制) mm:分钟 ss:秒

  1. import java.text.DateFormat;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4.  
  5. public class TestDate {
  6. public static void main(String[] args) {
  7. Date date = new Date();
  8. // System.out.println(date);
  9. // int year = date.getYear();//获取年份
  10. // int month = date.getMonth();//获取月份
  11. // int day = date.getDate();//获取日期
  12. // int hour = date.getHours();//获取小时
  13. // int min = date.getMinutes();//获取分钟
  14. // int sec = date.getSeconds();//获取秒
  15. // String str = year+"-"+month+"-"+day+" "+hour+":"+min+":"+sec;
  16. // System.out.println(str);
  17. DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  18. String str = dateFormat.format(date);
  19. System.out.println(str);
  20. }
  21. }

日期转字符串与字符串转日期:

  1. import java.text.DateFormat;
  2. import java.text.ParseException;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5.  
  6. public class TestDate21 {
  7. public static void main(String[] args) {
  8. Date date=new Date();
  9. DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  10. String s=dateFormat.format(date);
  11. System.out.println(s); //日期转字符串输出
  12.  
  13. String s2="2018-11-11"; //字符串转为日期
  14. SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
  15.  
  16. try {
  17. Date date2=simpleDateFormat.parse(s2);
  18. System.out.println(date.after(date2));//测试date是否在date2之后 false
  19.  
  20. } catch (ParseException e) {
  21.  
  22. e.printStackTrace();
  23. }
  24.  
  25. }
  26. }

日历题:

* 可视化日历
* 实现思路:
* 1.获取用户输入的日期字符串,并将其转换为日期
* 2.将日期转为日历
* 3.获取当前月份第一天是星期几?
* 4.获取当前月份总共有多少天
* 5.输出日期
* 当前日期前加*标示,星期六换行。

  1. public class TestVisualCalendar {
  2. public static void main(String[] args) {
  3. //1.获取用户输入的日期字符串
  4. System.out.println("请输入日期:格式(yyyy-MM-dd)");
  5. Scanner input = new Scanner(System.in);
  6. String dateStr = input.next();
  7. //2.将日期字符串转换为日期
  8. DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
  9. try {
  10. Date date = dateFormat.parse(dateStr);
  11. //将日期转换为日历
  12. Calendar calendar = Calendar.getInstance();
  13. calendar.setTime(date);
  14. int day = calendar.get(Calendar.DATE);//获取当前日期
  15. //3.获取当前月的第一天是周几
  16. calendar.set(Calendar.DATE, );//将日期设置为1号
  17. int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);//获取1号是星期几
  18. //4.获取当前月份总共有多少天
  19. int dayOfMonth = calendar.getActualMaximum(Calendar.DATE);//获取当前月份的最大天数(当前月总共有多少天)
  20. //5.输出
  21. System.out.println("日\t一\t二\t三\t四\t五\t六");
  22. //输出1号之前的空格
  23. for(int i=;i<dayOfWeek;i++){
  24. System.out.print("\t");
  25. }
  26. //输出日期
  27. for(int i=;i<=dayOfMonth;i++){
  28. //标示当前日期
  29. if(i==day){
  30. System.out.print("*");
  31. }
  32. //输出日期
  33. System.out.print(i+"\t");
  34. int w = calendar.get(Calendar.DAY_OF_WEEK);//当前是星期几
  35. if(w==Calendar.SATURDAY){//周六换行
  36. System.out.println();
  37. }
  38. calendar.add(Calendar.DATE, );//更改当前日期
  39. }
  40. } catch (ParseException e) {
  41. e.printStackTrace();
  42. }
  43.  
  44. }
  45. }

Calendar:

  1. import java.util.Calendar;
  2.  
  3. /**
  4. *java.util.Calendar类:Calendar 类是一个抽象类,可以设置或获取日期中的指定部分。
  5. *get(int field):返回给定日历字段的值。
  6. *set(int field, int value) 将给定的日历字段设置为给定值。
  7. *add(int field, int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量。
  8. *getActualMaximum(int field):返回指定日历字段可能拥有的最大值
  9. */
  10. public class TestCalendar {
  11. public static void main(String[] args) {
  12. Calendar calendar = Calendar.getInstance();
  13. calendar.set(Calendar.YEAR, );
  14. calendar.set(Calendar.MONTH, );//3月,月份的取值范围为0~11
  15. calendar.set(Calendar.DATE, );
  16. calendar.add(Calendar.YEAR, );
  17. int year = calendar.get(Calendar.YEAR);//获取年份
  18. int month = calendar.get(Calendar.MONTH);//获取月份 0~11
  19. int date = calendar.get(Calendar.DATE);//获取日期
  20. int hour = calendar.get(Calendar.HOUR);//小时
  21. int min = calendar.get(Calendar.MINUTE);//分钟
  22. int second = calendar.get(Calendar.SECOND);//秒
  23. System.out.println(year+"-"+(month+)+"-"+date+" "+hour+":"+min+":"+second);
  24. int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);//一年的第多少天
  25. System.out.println("今天是一年中的第"+dayOfYear+"天");
  26. int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);//一年中第几周
  27. System.out.println("本周是一年第"+weekOfYear+"周");
  28. int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);//一周的第几天,星期天为一周第一天
  29. System.out.println("今天是一周的第"+dayOfWeek+"天");
  30.  
  31. int max = calendar.getActualMaximum(Calendar.DATE);
  32. System.out.println(max);
  33. }
  34. }

Math:

* java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
* 常用的属性:PI圆周率
* abs(xxx a):返回 xxx值的绝对值。
* floor(double a) 返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。
* round(double a) 返回最接近参数的 long。四舍五入
* max(int a, int b) 返回两个 int 值中较大的一个。
pow(double a, double b) 返回第一个参数的第二个参数次幂的值。
sqrt(double a) 返回正确舍入的 double 值的正平方根。
random() 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。

  1. public class TestMath {
  2. public static void main(String[] args) {
  3. System.out.println(Math.abs(-));
  4. System.out.println(Math.abs(-10.0));
  5. System.out.println(Math.floor(12.9));
  6. System.out.println(Math.round(12.4));
  7. System.out.println(Math.max(, ));
  8. System.out.println(Math.min(, ));
  9. System.out.println(Math.pow(,));
  10. System.out.println(Math.sqrt());
  11. System.out.println(Math.random());
  12. }
  13. }

Random类:

* java.util.Random类:此类的实例用于生成伪随机数流.
* 常用的构造方法
* Random() 创建一个新的随机数生成器。
*常用的方法:
*nextInt():返回一个int类型的随机数
*nextInt(int n);返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值

  1. public class TestRandom {
  2. public static void main(String[] args) {
  3. Random random = new Random();
  4. for(int i=;i<;i++){
  5. // int r = random.nextInt();
  6. int r=random.nextInt();
  7. System.out.println(r);
  8. }
  9.  
  10. }
  11. }

枚举:

*定义枚举类型:从JDK1.5之后增加的新特性
*语法:
*修饰符 enum 枚举名称{
* 值1,值2...;
*}

  1. public enum Sex {
  2. 男,女
  3. }
  1. public class Student {
  2. private String name;
  3. private Sex sex;
  4.  
  5. public String getName() {
  6. return name;
  7. }
  8. public void setName(String name) {
  9. this.name = name;
  10. }
  11. public Sex getSex() {
  12. return sex;
  13. }
  14. public void setSex(Sex sex) {
  15. this.sex = sex;
  16. }
  17.  
  18. public static void main(String[] args) {
  19. Student student = new Student();
  20. student.name="张三";
  21. student.sex=Sex.男;
  22. }
  23. }

java:常用类(包装类,equals和==的比较,Date,java.lang.String中常用方法,枚举enum)的更多相关文章

  1. Java常用类:包装类,String,日期类,Math,File,枚举类

    Java常用类:包装类,String,日期类,Math,File,枚举类

  2. java常用类——包装类

    八种基本数据类型对应八种包装类和它们的继承关系 基本数据类型 对应的包装类 boolean Boolean byte Byte short Short int Integer long Long ch ...

  3. Java常用类-包装类

    包装类 ​ Java中的基本类型功能简单,不具备对象的特性,为了使基本类型具备对象的特性,所以出现了包装类,就可以像操作对象一样操作基本类型数据;包装类不是为了取代基本数据类型,而是在数据类型需要使用 ...

  4. Java常用类学习笔记总结

    Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String ...

  5. Java基础 —— Java常用类

    Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@&quo ...

  6. Java工具类—包装类

    Java工具类--包装类 我们都知道,JDK 其实给我们提供了很多很多 Java 开发者已经写好的现成的类,他们其实都可以理解成工具类,比如我们常见的集合类,日期相关的类,数学相关的类等等,有了这些工 ...

  7. Java 常用类总结(SE基础)

    本篇博客对java常用类相关知识进行了归纳总结,比较详细,适用于学习和复习. 1. 字符串相关的类 1.1 String String是一个final类,代表不可变的字符序列.不可被继承. Strin ...

  8. Java常用类的使用

    Java常用类 1. Optional 在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行 一 些防御式的检查,所以在代码中常常可见if( ...

  9. Java常用类之要点总结

    Java常用类之要点总结

随机推荐

  1. vue admin element

    vue.package.js    修改  publicPath: './',

  2. Mongodb中的js语法

    定义一个变量 > var len = 10; For循环 这里的db和data都可以作为对象 save是方法 接收一个临时定义的对象 > for(var i = 0; i < len ...

  3. mysql事务,视图,触发器,存储过程与备份

    .事务 通俗的说,事务指一组操作,要么都执行成功,要么都执行失败 思考: 我去银行给朋友汇款, 我卡上有1000元, 朋友卡上1000元, 我给朋友转账100元(无手续费), 如果,我的钱刚扣,而朋友 ...

  4. thinkphp5权限仿制

    权限列表 流程 thinkphp5封装好的权限模块 RBAC还有auth and then .......管理员表,可以依据auth.php搭建所有的权限表

  5. radio(单选框)/checkbox(复选框) 美化

    由于某种原因,可能需要对单选框(radio)或复选框(checkbox)进行美化,那么直接修改样式是行不通,要实现就需要添加js,以下js依赖于jquery radio.js: function ra ...

  6. C++关于构造函数 和 析构函数 能否抛出异常的讨论

    构造函数和析构函数分别管理对象的建立和释放,负责对象的诞生和死亡的过程.当一个对象诞生时,构造函数负责创建并初始化对象的内部环境,包括分配内存.创建内部对象和打开相关的外部资源,等等.而当对象死亡时, ...

  7. Spring MVC遭遇checkbox的问题解决方案

    转:http://lavasoft.blog.51cto.com/62575/1407213 Spring MVC遭遇checkbox的问题是:当checkbox全不选时候,则该checkbox域的变 ...

  8. react 中的路由 Link 和Route和NavLink

    route是配置,link是使用 https://blog.csdn.net/chern1992/article/details/77186118(copy) 嵌套路由一般使用Route,类似于vue ...

  9. week5 作业

    week5 作业 1.描述GPT是什么,应该怎么使用? 描述GPT之前要简单了解MBR分区,MBR(Main Boot Record)叫做主引导记录,其位于磁盘的最前端,由一段代码组成,共占用512个 ...

  10. Spring Boot教程(三十二)多数据源配置与使用

    之前在介绍使用JdbcTemplate和Spring-data-jpa时,都使用了单数据源.在单数据源的情况下,Spring Boot的配置非常简单,只需要在application.propertie ...