一、枚举

1.枚举的含义

枚举是由一组固定的常量组成的类型,枚举的类型关键字是enum

2.枚举的使用

定义枚举类

packageenumtdome;

//用enum关键字创建public enumGender {

//枚举类中直接放值 不需要数据类型

one,two,three,four,five,six,seven

}

枚举的运用

packageenumtdome;importjava.util.Scanner;public classtest {

//实例化枚举类

Gender ger;public static voidmain(String[] args) {

test test=newtest();

//将枚举类型填进去

test.name(Gender.one);

}public voidname(Gender day) {switch(day) {caseone:

System.out.println(1);break;casetwo:

System.out.println(2);break;casethree:

System.out.println(3);break;casefour:

System.out.println(4);break;casefive:

System.out.println(5);break;casesix:

System.out.println(6);break;caseseven:

System.out.println(7);break;

}

}

}

二、实体类和API

1.API

常用API包有:ava.lang (Enum、包装类、Math、String、StringBuffer、System)、java.util(工具类)
java.io(输入输出流) java.sql(数据库)

Api可以比喻成字典 根据类名 在文档内查找

2.包装类(实体类)

包装类把基本类型数据转换为对象:每个基本类型在Java.lang包里都有一个相应的包装类

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

2.所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例 public Type(type value) 如:
除Character类外,其他包装类可将一个字符串作为参数构造它们的实例 public Type(String value) 如:

3.注意事项

Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false
当Number包装类构造方法参数为String
类型时,字符串不能为null,且该字符串必须可解析为相应的基本数据类型的数据,否则编译不通过,运行时会抛出NumberFormatException异常

4.包装类的常用方法

(1)  XXXValue():包装类转换成基本类型 byteValue()、intValue() longValue()、shortValue()
doubleValue()、floatValue() charValue()、booleanValue()

(2)  toString():以字符串形式返回包装对象表示的基本类型数据(基本类型->字符串)或 
parseXXX():把字符串转换为相应的基本数据类型数据(Character除外)(字符串->基本类型)

(3)  XXX.valueof:将基本数据类型 和字符串转换成包装类

代码实现如下:

packageshitilei;importjava.util.ArrayList;importjava.util.List;importcom.sun.xml.internal.ws.api.streaming.XMLStreamReaderFactory.Zephyr;public
classTest {public static voidmain(String[] args) {//基本数据类型是"."不出内容的
可以将基本数据类型转换为对象//方法一

int i=9;

List list=newArrayList();

list.add(i);//本身集合中不能存放基本数据类型 但是在添加的时候有了jdk自动装箱的操作//所有的包装类都有的构造方法 对应的数据类型做参数

int j=9;

Integer j1=newInteger(j);

Double double1=new Double(9.8);//方法二//除Character之外的都有的构造方法 将字符串做参数

Integer j3=new Integer("9");//字符串必须符合定义的数据的格式否则会报错

Double double2=new Double("9.8");//Character caCharacter=new
Character("a");//编译报错//方法三//valueof()//(1)基本数据类型转包装类

Integer iiiInteger=Integer.valueOf(99);//(2)如何把字符串转成包装类

Integer
iinInteger=Integer.valueOf("99");//***************************************************************************//包装类转换基本类型

Integer aaInteger=new Integer(99);

System.out.println(aaInteger.intValue());//基本类型转字符串

int num=9;

String ing=Integer.toString(9);//其他的类似//字符串转基本数据类型

int num1=Integer.parseInt("99");

}

}

5.拆箱和装箱

概念:在jdk1.5版本后 基本数据类型和包装类自动转换换  装箱:基本类型转换为包装类的对象 拆箱:包装类对象转换为基本类型的值

特点:JDK1.5后,允许基本数据类型和包装类型进行混合数学运算 包装类并不是用来取代基本数据类型的 在基本数据类型需要用对象表示时使用

6.math类

java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数) 和PI(圆周率)

常用的方法:

packageshitilei;public classMathtest {public static voidmain(String[] args)
{//随机生成0-10的浮点数

System.out.println(Math.random()*10);//生成随机的整数 强制转换成int

System.out.println((int)Math.random()*10);//绝对值

System.out.println(Math.abs(-33));//最大值

System.out.println(Math.max(22, 5));

}

}

7.Random类

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

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

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

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

}

packageshitilei;importjava.util.Random;public classRodemtest {public static
voidmain(String[] args) {//不同的种子构造对象生成的随机数是不一样的

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

Random rand2=new Random(56);

System.out.println(( rand.nextInt(10)));

System.out.println( rand2.nextInt(10));

}

}

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

8.String类

String类位于java.lang包中,具有丰富的方法 计算字符串的长度、比较字符串、

packageshitilei;importjava.util.Scanner;public classStringTest {public static
voidmain(String[] args) {

String a=" admin ";

String p="123456";

Scanner input=newScanner(System.in);

System.out.println("请输入用户名");

String username=input.next();

System.out.println("请输入密码");

String pwd=input.next();//trim()去掉字符串两端的空格

a.trim();//lenght()判断字符串长度//String 从写了equels方法变成了比较两个字符串是否为同一对象

if (pwd.length()<6&&username.equals(a)) {//比较条件可以写成pwd.length()<6&&username==a
==是比较的地址

System.out.println("登录成功");

}else{

System.out.println("登录长度不足六位或用户名错误");

}//*************************************************************

String str1="BDQN";

String str2="bdqn";//区分大小写

System.out.println(str1.equals(str2));//不区分大小写

System.out.println(str1.equalsIgnoreCase(str2));//转换小写比较

System.out.println(str1.toLowerCase().equals(str2.toLowerCase()));//转换大写比较

System.out.println(str1.toUpperCase().equals(str2.toUpperCase()));

}

}

提取字符串

packageshitilei;importjava.util.Scanner;importsun.net.www.content.audio.wav;public
classStringjiequ {public static voidmain(String[] args) {

String shou="hello my name is wuxuewei";//查找某个字符出现的位置

System.out.println(shou.indexOf("w"));//查找最后一个w出现的位置

System.out.println(shou.lastIndexOf("w"));//截取字符串

System.out.println(shou.substring(4));//从第四截取到最后//起始位置 结束位置

System.out.println(shou.substring(0, 5));

System.out.println("*******************************************");//字符截取的练习

Scanner input=newScanner(System.in);

System.out.println("=====欢迎提交作业=====");

System.out.println("请输入文件名");

String name=input.next();

System.out.println("请输入邮箱");

String yx=input.next();//检查文件名

boolean nameflag = false;int i=name.indexOf(".");if
(i!=-1&&i!=0&&name.substring(i).equals(".java")) {

nameflag=true;

}else{

System.out.println("文件名无效");

}//检查邮箱名

boolean yxflag = false;int aite=yx.indexOf("@");int dian=yx.indexOf(".");if
(aite!=-1&&dian!=-1&&dian>aite) {

yxflag=true;

}else{

System.out.println("邮箱无效");

}if (yxflag &&nameflag) {

System.out.println("提交成功");

}else{

System.out.println("提交失败");

}

}

}

System.out.println("***************字符串拆分****************");//字符串拆分方法 split();

String shici = "长亭外 古道边 晚风拂柳醉斜阳";

String[] chafen= new String[100];

System.out.println("拆分前" +shici);

System.out.println("拆分后");

chafen= shici.split(" ");for(String string : chafen) {

System.out.println(string);

}

System.out.println("*********查询字符出现的次数********");

System.out.println("请输入一字符串");

String chaifen2=input.next();

System.out.println("请输入你要查询的字符");

String chazi=input.next();

String chaifen2s[]=chaifen2.split("*");int count=0;for (int j = 0; j <
chaifen2s.length; j++) {if(chaifen2s[j].equals(chazi)) {

count++;

}

}

System.out.println("查询的字符出现了"+count);

9.StringBuffyer类

StringBuffer:对字符串频繁修改时,使用它来大大提高程序执行效率

StringBuffer的使用:

packageshitilei;public classStringBufferDome {public static voidmain(String[]
args) {//String →StringBuffer

StringBuffer str=new StringBuffer("hello");//StringBuffer→String

String s=str.toString();//StringBuffer添加内容

str.append("word");

System.out.println(str);//insert 插入内容

str.insert(5, ",");

System.out.println(str);

}

}

10.获取当前时间

packageshitilei;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;public
classDateDome {public static voidmain(String[] args) {//当前时间

Date date=newDate();

System.out.println(date);

System.out.println("******************************************");//设置时间格式

SimpleDateFormat fomator=new SimpleDateFormat("yyyy-MM-dd-mm:ss");

String string=fomator.format(date);

System.out.println(string);

System.out.println("*********************************************");//通过calendar类

Calendar s=Calendar.getInstance();

System.out.println(s.get(Calendar.YEAR)+"年"+(s.get(Calendar.MONTH)+1)+"月"+s.get(Calendar.DAY_OF_MONTH));

System.out.println("今天是星期"+s.get(Calendar.DAY_OF_WEEK));

}

}

技术
友情链接
码工具
Toolsou
API参考文档
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:766591547
关注微信