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

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

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

public class TestString {
public static void main(String[] args) {
String str1 = "zzsxt";
String str2 = "zzsxt";
String str3 = new String("zzsxt");
String str4 = new String("zzsxt");
System.out.println(str1==str2);//true
System.out.println(str1.equals(str2));//true
System.out.println(str3==str4);//false
System.out.println(str3.equals(str4));//true
     System.out.println(str1.equals(str3)); //true
     System.out.println(str1==str3); //false }
}
public class Test {
public static void main(String[] args) {
Integer i=new Integer();
Integer i2=new Integer();
int i3=;
int i4=;
System.out.println(i==i2);//false
System.out.println(i==i3);//true
System.out.println(i3==i4);//true
System.out.println(i.equals(i2));//true
System.out.println(i.equals(i3));//true }
}

*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):测试此字符串是否以指定的后缀结束

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

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

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

insert:

import java.util.Scanner;

public class StringB {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入字符串");
String s=input.next();
StringBuffer ss=new StringBuffer(s);
for(int x=s.length()-;x>;x-=){
ss.insert(x, ",");
}
System.out.println(ss);
}
}

Builder:

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

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:秒

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date; public class TestDate {
public static void main(String[] args) {
Date date = new Date();
// System.out.println(date);
// int year = date.getYear();//获取年份
// int month = date.getMonth();//获取月份
// int day = date.getDate();//获取日期
// int hour = date.getHours();//获取小时
// int min = date.getMinutes();//获取分钟
// int sec = date.getSeconds();//获取秒
// String str = year+"-"+month+"-"+day+" "+hour+":"+min+":"+sec;
// System.out.println(str);
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = dateFormat.format(date);
System.out.println(str);
}
}

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

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class TestDate21 {
public static void main(String[] args) {
Date date=new Date();
DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s=dateFormat.format(date);
System.out.println(s); //日期转字符串输出 String s2="2018-11-11"; //字符串转为日期
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd"); try {
Date date2=simpleDateFormat.parse(s2);
System.out.println(date.after(date2));//测试date是否在date2之后 false } catch (ParseException e) { e.printStackTrace();
} }
}

日历题:

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

public class TestVisualCalendar {
public static void main(String[] args) {
//1.获取用户输入的日期字符串
System.out.println("请输入日期:格式(yyyy-MM-dd)");
Scanner input = new Scanner(System.in);
String dateStr = input.next();
//2.将日期字符串转换为日期
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = dateFormat.parse(dateStr);
//将日期转换为日历
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int day = calendar.get(Calendar.DATE);//获取当前日期
//3.获取当前月的第一天是周几
calendar.set(Calendar.DATE, );//将日期设置为1号
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);//获取1号是星期几
//4.获取当前月份总共有多少天
int dayOfMonth = calendar.getActualMaximum(Calendar.DATE);//获取当前月份的最大天数(当前月总共有多少天)
//5.输出
System.out.println("日\t一\t二\t三\t四\t五\t六");
//输出1号之前的空格
for(int i=;i<dayOfWeek;i++){
System.out.print("\t");
}
//输出日期
for(int i=;i<=dayOfMonth;i++){
//标示当前日期
if(i==day){
System.out.print("*");
}
//输出日期
System.out.print(i+"\t");
int w = calendar.get(Calendar.DAY_OF_WEEK);//当前是星期几
if(w==Calendar.SATURDAY){//周六换行
System.out.println();
}
calendar.add(Calendar.DATE, );//更改当前日期
}
} catch (ParseException e) {
e.printStackTrace();
} }
}

Calendar:

import java.util.Calendar;

/**
*java.util.Calendar类:Calendar 类是一个抽象类,可以设置或获取日期中的指定部分。
*get(int field):返回给定日历字段的值。
*set(int field, int value) 将给定的日历字段设置为给定值。
*add(int field, int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量。
*getActualMaximum(int field):返回指定日历字段可能拥有的最大值
*/
public class TestCalendar {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, );
calendar.set(Calendar.MONTH, );//3月,月份的取值范围为0~11
calendar.set(Calendar.DATE, );
calendar.add(Calendar.YEAR, );
int year = calendar.get(Calendar.YEAR);//获取年份
int month = calendar.get(Calendar.MONTH);//获取月份 0~11
int date = calendar.get(Calendar.DATE);//获取日期
int hour = calendar.get(Calendar.HOUR);//小时
int min = calendar.get(Calendar.MINUTE);//分钟
int second = calendar.get(Calendar.SECOND);//秒
System.out.println(year+"-"+(month+)+"-"+date+" "+hour+":"+min+":"+second);
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);//一年的第多少天
System.out.println("今天是一年中的第"+dayOfYear+"天");
int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);//一年中第几周
System.out.println("本周是一年第"+weekOfYear+"周");
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);//一周的第几天,星期天为一周第一天
System.out.println("今天是一周的第"+dayOfWeek+"天"); int max = calendar.getActualMaximum(Calendar.DATE);
System.out.println(max);
}
}

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。

public class TestMath {
public static void main(String[] args) {
System.out.println(Math.abs(-));
System.out.println(Math.abs(-10.0));
System.out.println(Math.floor(12.9));
System.out.println(Math.round(12.4));
System.out.println(Math.max(, ));
System.out.println(Math.min(, ));
System.out.println(Math.pow(,));
System.out.println(Math.sqrt());
System.out.println(Math.random());
}
}

Random类:

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

public class TestRandom {
public static void main(String[] args) {
Random random = new Random();
for(int i=;i<;i++){
// int r = random.nextInt();
int r=random.nextInt();
System.out.println(r);
} }
}

枚举:

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

public enum Sex {
男,女
}
public class Student {
private String name;
private Sex sex; public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Sex getSex() {
return sex;
}
public void setSex(Sex sex) {
this.sex = sex;
} public static void main(String[] args) {
Student student = new Student();
student.name="张三";
student.sex=Sex.男;
}
}

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. 转(static final 和final的区别)

    学习java的时候常常会被修饰符搞糊涂,这里总结下static final和final的区别. 1.static 强调只有一份,final 说明是一个常量,final定义的基本类型的值是不可改变的,但 ...

  2. yield from语法

    yield from 是在Python3.3才出现的语法.所以这个特性在Python2中是没有的. yield from 后面需要加的是可迭代对象,它可以是普通的可迭代对象,也可以是迭代器,甚至是生成 ...

  3. 19.8.12 记录Scaffold(脚手架)的常见属性及使用

    Scaffold   有利于我们快速的构建页面,使用也是十分的方便. 下面记录一下其简单的使用方法 Scaffold( appBar: AppBar( title: Text('课程'), ), bo ...

  4. 一个微信小程序跳转到另一个微信小程序

    简单来说分两步走: 1.配置项目根目录的 app.json 文件中的 navigateToMiniProgramAppIdList { "pages": [ "pages ...

  5. cmd命令行显示中文乱码

    cmd命令行显示中文乱码多数是由于字符编码不匹配导致. 1.查看cmd编码方式 方法一.打开cmd,输入chcp命令回车(显示默认编码:活动代码页:936指GBK) 方法二.打开cmd在标题栏单击鼠标 ...

  6. P1879 [USACO06NOV]玉米田Corn Fields[轮廓线DP]

    状压暴力显然可做.但是数据出的再大一点就要稳T了.理论$O(n4^m)$,只不过实际跑不满. 考虑用轮廓线DP,设$f(i,j,S)$为处理到$(i,j)$时候(这格还不确定)的轮廓线为$S$的情况( ...

  7. 使用SpringAOP实现事务(声明式事务管理、零配置)

    前言: 声明式事务管理建立在AOP之上的.其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务.声明式事务最大的优点就是不需要通过编 ...

  8. C++之++操作符重载

    ++ 运算符,还可分为前缀 ++ 和后缀 ++ 运算符. 重载前缀++运算符 C++ 允许重载前缀运算符,以使表达式 ++b 能递增 b 的长度值,并返回结果对象.该运算符可以作为成员函数来重载,这使 ...

  9. grunt-css-sprite css 代码中的切片合并

    安装插件:npm install grunt-css-sprite --save-dev grunt-css-sprite主要功能:1.对 css 文件进行处理,收集切片序列,生成雪碧图2.在原css ...

  10. 什么是IoC和DI?DI是如何实现的?

    IoC叫控制反转,是Inversion of Control的缩写,控制反转是把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理.所谓的"控制反转" ...