实用类总结

枚举:

枚举指由一组固定的常量组成的类型

[Modifier] enum enumName{

enumContantName1

[,enumConstantName…[;]]

// [field, method]

}

enum:定义枚举的关键字

enumName:枚举的名字

底下的大括号里面是枚举里定义的常量

枚举里也可以有属性和方法

例如:

public enum Genders{     【性别枚举】

Male, Female

public class Student{

public Genders sex;      【Genders是枚举类型的变量】

再给sex赋值时只能赋Male或者Female:

Student stu=new Student();

stu.sex=Genders.Male;   【一点就只能点出Male或者Female】

stu.sex=“你好”;         【赋值“你好”就是错误的】

Java API:

常用Java APl:

java.Iang   【太常用所以系统默认导入,除了long之外的包全都必须要手动导入】

Enum、包装类、Math、String、StringBuffer、System……

java.util     【Java工具包:Scanner,集合,】

java.io      【文件输出流】

java.sql     【数据库】

………

学习方法:帮助文档

包装类:

包装类把基本类型数据(包装一下)转换为对象

【每个基本类型在java.lang包中都有一个相应的包装类】

包装类有何作用:

提供了一系列实用的方法
集合不允许存放基本数据类型数据,存放数字时,要用包装类型

小写变大写就可以变成包装类

特别记忆:

char —》 Character

int —》 Integer

(知道就可以)

方法一:包装类的构造方法((1)把基本数据类型变成包装类;(2)把字符串变成包装类):

所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例
【public Type (type value )】如:Integer i = new Integer(1);

int i = 9;

Integer i1 = new Integer(i);

Double i2 = new Double(9.8);

Boolean i3 = new Boolean(true);

Character i4 = new Character(‘a’);

除Character类外,其他包装类可将一个字符串作为参数构造它们的实例
【public Type (String value)】如:Integer i = new Integer(“123”);

Integer j1 = new Integer(“4”);

Double j2 = new Double(“9.8”);

Boolean j3 = new Boolean(“true”);

注意:

Number类型的包装类,当用字符串作为包装类时,这个字符串不能是null,而且必须可以变成数字才可以继续进行,否则编译会通过,但是运行就会报出NumberFormatException异常。
当用字符串做Boolean类型的参数赋值作为包装类时只要是TRUE这四个字母(不论大小写)最后返回的就是true,但是一旦是别的字符,就会返回false。

方法二:包装类转换成基本类型【XXXValue()】

Integer i =new Integer(25);

int j=i.intValue();

方法三:基本类型转换成字符串【(1)toString;(2)+ ””】:

toString()以字符串形式返回包装对象表示的基本类型数据【基本类型->字符串】

String sex=Character.toString(‘男’);

String id=Integer.toString(25);

或者:

String sex = ‘男’+ “”;

String id = 25 + “”;

方法四:字符串变回成基本类型【parseXXX();Character除外】(重点记忆)

parseXXX():把字符串转换为相应的基本数据类型(Character除外)【字符串->基本类型】

int num = Integer.parselnt(“36”);

boolean bool = Boolean.parseBoolean(“false”);

parseXXX():【public static type parseType (String type)】

方法五:(1)把基本数据类型变成包装类;(2)把字符串变成包装类【XXX.valueOf()】

所有包装类都有如下方法(基本类型->包装类)
【public static Type valueOf(type value)】如:Integer intValue = Integer.valueOf(21);

除Character类外,其他包装类都有如下方法(字符串->包装类)
【public static Type valueOf(String s)】如:Integer intValue = Integer.valueOf(“21”);

总结:

包装类:Integer,Double,Float,Byte,Character,Long,Short
构造方法和XXX.valueOf()都可以把基本数据类型变成包装类或者把字符串变成包装类(但是把字符串变成包装类时都必须在Character除外的情况下进行)
XXXValue()可以把包装类转换成基本类型
parseXXX()方法Character除外可以把字符串变回成基本类型
toString方法和+“”方法可以把基本类型转换成字符串

装箱和拆箱:

基本类型和包装类的自动转换

Integer intObject= 5;

int intValue = intObject;

装箱:基本类型转换为包装类的对象

拆箱:包装类对象转换为基本类型的值

包装类的特点:

所有的包装类都是final类型的
JDK1.5后,允许基本数据类型和包装类型进行混合数学运算
包装类并不是用来取代基本数据类型的【在基本数据类型需要用对象表示时使用,比如集合】

Math类:

java.lang.Math类提供了常用的数学运算方法和两个

静态常量E (自然对数的底数)和PI (圆周率)

Math.abs(-3.5);    //返回3.5

abs 求绝对值

Math.max(2.5, 90.5);  //返回90.5

Max取最大值

int random = (int) (Math.random() *10); //生成一个0-9之 间的随机数

Random类:

java.util.Random类

Random rand=new Random();     //创建一个Random对象

for(int i=0;i<20;++){             //随机生成20个随机整数,并显示

int num=rand.nextInt(10);         //返回下一个伪随机数,整型的(带参不带参都可以)

System.out.println(“第” +(i+1)+"个随机数是: "+num);

注意:

用同一个种子值来初始化两个Random对象,然后用每个对象调用相同的方法,得到的随机数也是相同的.

String类:

使用String对象存储字符串【字符串存在字符串池里,因为字符串太常用了所以所有一样的字符串都会调用同样的字符串,所以在字符串池中的字符串对象都是一样的】

String s = “Hello World”;

String s = new String();

String s = new String(“Hello World”);

String类位于java.lang包中,具有丰富的方法

计算字符串的长度、比较字符串、连接字符串、提取字符串

length()方法:

String类提供了length()方法,确定字符串的长度,返回字符串中的字符数

注意其与数组的length【属性】的区别

pwd.length()<6

equals()方法:

String类提供了equals( )方法,比较存储在两个字符串对象的内容是否一致

userName.equals(“Tom”)

equals()方法比较原理:

equals(): 检查组成字符串内容的字符是否完全一致(每一个字符串的每一个字符逐次比较,全部完全一样才返回true)。

==:判断两个字符串在内存中的地址,即判断是否是同一个字符串对象。

创建了几个对象的问题:

String str1 = “hello”;

String str2 = new String(“Hello”);

System.out.println(str1.equals(str2));  //false

System.out.println(str1 == str2);     //false

创建了3个对象字符串池里创建了2个对象,堆里创建了1个对象

String str1 = “hello”;

String str2 = new String(“hello”);

System.out.println(str1.equals(str2));  // true

System.out.println(str1 == str2);     //false

创建了2个对象字符串池里创建了1个对象,堆里创建了1个对象

String s1 = “hello”;

String s2 = “hello”;

System.out.println(s1.equals(s2));  //true

System.out.println(s1 == s2);     //true

只在字符串池里创建了1个对象

String str1 = new String(“Hello”);

String str2 = new String(“Hello”);

System.out.println(str1.equals(str2));  // true

System.out.println(str1 == str2);     //false

创建了3个对象堆里创建了2个对象,字符串池里创建了1个对象

字符串比较的其他方法:

(只是生成新的字符串,并不改变原来的字符串,只有赋值时才会改变)

使用equalsIgnoreCase()方法【忽略大小写进行比较】

使用toLowerCase()方法    【全变成小写】

使用toUpperCase()方法    【全变成大写】

使用trim()方法            【去掉字符串两边的空格】

字符串连接方法:

方法1:使用“+”

方法2:使用String类的concat()方法

字符串常用提取方法:

方法名

说明

public int indexOf(int ch)

搜索第一个出现的字符ch

(或字符串value),如果没有找到,返回-1

public int indexOf(String value)

public int lastIndexOf(int ch)

搜索最后一个出现的字符ch

(或字符串value),如果没有找到,返回-1

public int lastlndexOf(String value)

public String substring(int index)

提取从位置索引开始到最后的字符串部分

public String substring

(int beginindex, int endindex)

提取beginindex和endindex

之间的字符串部分

public String trim()

返回一个前后不含任何空格的调用字符串的副本

重点记忆:

indexOf【搜索第一个出现的字符】;

lastlndexOf【搜索最后一个出现的字符】(空格也算一个位置,多少个空格算多少个位置!!!)

substring【截取字符串】(从第几个位置开始截取包含起始的这个位置)

substring(int beginindex, int endindex)【截取字符串段】(截取时,包含起始位置,但是不包含结束位置【起始位置----结束位置-1】)

注意:

想要输出双引号一定要在引号的前面加\转义一下   如:”\””+name+”\””   这样才可以

split()方法:

将这个字符按照给定的方法分割

String words = “长亭外 古道边 啦啦啦啦啦 啦啦 啦 啦”;

String[] printWords = new String[20];

System.out.println(“原歌词”);

System.out.println(words);

printWords = words.split(" ");

System.out.println(“拆分后”);

for(String info : printWords)

{System.out.println(info);}

startsWith(String prefix)方法:

测试此字符串是否以指定的前缀开头。

String stest=“helloabcworldabcjamabcmaryabcend”;

System.out.println(stest.startsWith(“h”));    //true

valueOf()方法:

除Character类外,其他包装类都有如下方法(字符串->包装类)

Integer intValue = Integer.valueOf(“21”);

toString()方法:

以字符串形式返回包装对象表示的基本类型数据【基本类型->字符串】

String sex=Character.toString(‘男’);

String id=Integer.toString(25);

或者:

String sex = ‘男’+ “”;

String id = 25 + “”;

StringBuffer类:

对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序执行效率

StringBuffer声明:

StringBuffer strb = new StringBuffer();

StringBuffer strb = new StringBuffer(“aaa”);

StringBuffer的使用:

sb.toString();         【转化为String类型】

sb.append("**");      【追加字符串】

sb.insert (1, “**”);      【插入字符串】

例如:

StringBuffer s1 = new StringBuffer(“hello”);

s1.append(“world!”);

System.out.println(s1);

s1.insert(1,",");

System.out.println(s1);

String s = s1.toString();

System.out.println(s);

String类和StringBuffer类的区别

String是不可变对象【经常改变内容的字符串最好不要使用String】
StringBuffer是可变的字符串【字符串经常改变的情况可使用StringBuffer,更高效】
JDK5.0后提供了StringBuilder,等价于StringBuffer

操作日期时间:

如何获取当前日期?

java.util.Date类:表示日期和时间

【提供操作日期和时间各组成部分的方法】

java.text.SimpleDateFormat类:

【用于定制日期时间的格式】

//创建日期对象

Date date = new Date();

//定制日期格式

SimpleDateFormat formater = new SimpleDateFormat(“yyyy - MM - dd HH:mm:ss”);

String now = formater.format(date);

System.out.println(now);
————————————————
版权声明:本文为CSDN博主「妖精小狗」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baidu_29343517/article/details/81321524

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值