包装类
1.包装类把基本类型数据转换为对象:
*每个基本类型在java.lang包中都有一个相应的包装类
2.包装类的作用:
*提供了一系列实用的方法
*集合不允许存放基本数据类型数据,存放数字时,要用包装类型
Object:Boolean、Number、Character
Number: Byte, Short ,Integer ,Long ,Float ,Double
包装类的构造方法1
1.所有包装类都可将与之对应的基本数据类型作为参数来构造它们的实例
*public Type (type value)
*如:Integer i=new Integer(1);
2.除Character类外,其他包装类可将一个字符串作为参数构造它们的实例
*public Type (String value)
*如:Integer i=new Integer("123");
包装类的常用方法2
1.toString():以字符串形式返回包装对象表示的基本类型数据(基本类型->字符串)
String sex =Character.toString('男‘);
String id=Integer.toString(25);
String sex=’男‘+“”;
String id=25+"";
String类
length()方法
1.String提供了length()方法,确定字符串的长度
枚举的使用
输入周几查看做什么
代码:创造枚举类
ackage stu0401;
/**
* 枚举表示一周七天
*/
public enum Week {
Mon,Tue,Wed,Thu,Fri,Sat,Sun
}
输出代码:
package stu0401;
import java.util.ArrayList;
public class DoWeeks {
public void doSomething(int day){
if (day>=1 && day<=7){
switch (day) {
case 1:
case 2:
case 3:
case 5:
System.out.println("上午自习,下午上课");
break;
case 4:
break;
case 7:
System.out.println("休息");
break;
case 6:
System.out.println("上午上课");
break;
}
}else{
System.out.println("输入错误");
}
}
public void doSomething2(Week day){
switch (day){
case Mon:
case Thu:
case Wed:
case Fri:
System.out.println("上午自习,下午上课");
break;
case Sun:
case Tue:
System.out.println("休息");
break;
case Sat:
System.out.println("上午上课,下午自习");
break;} }
public static void main(String[] args) {
DoWeeks doWeeks = new DoWeeks();
doWeeks.doSomething(8);
doWeeks.doSomething2(Week.Thu);
输出结果:输入错误
上午自习,下午上课
需求说明
创建枚举类l1,l2,l3
package stu0401;
public enum Java1 {
L1,L2,L3
}
输出代码:
package stu0401;
public class Java {
public void Study(Java1 num){
switch (num){
case L1:
System.out.println("Java开发工程师");
break;
case L2:
System.out.println("大数据开发工程师");
break;
case L3:
System.out.println("大数据挖掘师");
break;
}
}
public static void main(String[] args) {
Java java = new Java();
java.Study(Java1.L1);
}
}
输出结果:
Java开发工程师
注册新用户
package stu0401;
import java.util.Scanner;
public class Exec1 {
public static void main(String[] args) {
System.out.println("欢迎进入注册系统");
Scanner scanner = new Scanner(System.in);
System.out.println();
boolean current=false;
while(!current){
System.out.println("请输入用户名: ");
String userName=scanner.next();
System.out.println("请输入密码: ");
String pwd=scanner.next();
System.out.print("请再次输入密码:");
String rePwd=scanner.next();
int a=0;
if(userName.length()<3){
a=1;
System.out.print("用户名长度不能小于3");
}
if(pwd.length()<6){
a=1;
System.out.print("密码长度不能小于6");
}
if(!pwd.equals(rePwd)){
a=1;
System.out.print("两次输入密码不相同");
}
System.out.println();
current = a ==0? true:false;
if(current)
System.out.println("注册成功,请牢记密码" );}}}
输出结果为:欢迎进入注册系统
请输入用户名:
3455
请输入密码:
yffycyf
请再次输入密码:ggvgy
两次输入密码不相同
请输入用户名:
123
请输入密码:
135555
请再次输入密码:135555
注册成功,请牢记密码
String s = pwd.toLowerCase(); //将输入的密码全部化成小写
String s1 = pwd.toUpperCase(); //将输入的密码全部化成大写
System.out.println(s+"\t"+s1);
char c=s.charAt(3); //把输入的指定的下标数提取出来
System.out.println(c);
String hi="Hello:"
String cls="KB22";
String concat=hi.concat(cls);// 字符串拼接
字符串常用的提取方法
package nj.zb.kb22.stu0318.stu0403;
public class StringSubstringDemo {
public static void main(String[] args) {
String msg = "Hello , java i love you";
String substring = msg.substring(3);//提取msg中下标为3开始往后的内容(包含第三个)。
System.out.println(substring);
String substring1 = msg.substring(6, msg.length());//从msg中下标为6的内容往后提取到最后
System.out.println(substring1);
String substring2 = msg.substring(0, 5);
System.out.println(substring2);
int pos = msg.indexOf("java");
System.out.println(pos);
int pos1 = msg.indexOf("html");
System.out.println(pos1);
int pos2 = msg.indexOf("o");
System.out.println(pos2);
int pos3 = msg.lastIndexOf("o");
System.out.println(pos3);
String substring3 = msg.substring(msg.indexOf(" , "), msg.indexOf(" , ") + 3);
System.out.println(substring3);
System.out.println(substring3.length());
System.out.println(substring3.trim());//将字符串两端的空格全部去掉
System.out.println(substring3.trim().length());
String zq=" zhangquan";
System.out.println(zq.length());
System.out.println(zq.trim().length());
String str=" hello kugou";
System.out.println(str.trim());
String substring4 = msg.substring(13, 20);
String substring5 = msg.substring(8, 12);
System.out.println(substring4+substring5);
String loveStr = msg.substring(msg.indexOf("i"), msg.lastIndexOf("e") + 2);
String loveTarget = msg.substring(msg.indexOf("java"), msg.indexOf("java") + 4);
String concat = loveStr.concat(loveTarget);
System.out.println(concat);
}
类型:public String substring(int index):提取从位置索引开始的字符串部分
String msg="Hello,java";
String substring=msg.substring(beginidex:3);
System.out.println(substring)
输出结果:lo, java
类型:public String substring(int beginindex,int endindex):提取beginindex和endindex之间的字符串部分
String substring1 = msg.substring(6, msg.length());
System.out.println(substring1);
输出结果:java
类型:public int indexOf(String value):搜索第一个出现的字符串value,如果没找到,返回-1;
int pos = msg.indexOf("java");
System.out.println(pos);
int pos1 = msg.indexOf("html");
System.out.println(pos1);
输出结果:
7
-1
类型:public int lastIndexOf(String value):搜索最后一个出现的字符串value,如果没有找到,返回-1;
int pos3 = msg.lastIndexOf("o");
System.out.println(pos3);
类型:public String trim():返回一个前后不含空格的调用字符串的副本
String substring3 = msg.substring(msg.indexOf(" , "), msg.indexOf(" , ") + 3);
System.out.println(substring3);
System.out.println(substring3.length());
System.out.println(substring3.trim());//将字符串两端的空格全部去掉
System.out.println(substring3.trim().length());
String zq=" zhangquan";
System.out.println(zq.length());
System.out.println(zq.trim().length());
输出结果:
,
3
,
1
17
9
代码:
String str=" hello kugou";
System.out.println(str.trim());//中间空格不去除
输出结果: hello kugou
提取i love java的方法:
String substring4 = msg.substring(13, 20);
String substring5 = msg.substring(8, 12);
System.out.println(substring4+substring5);
String loveStr = msg.substring(msg.indexOf("i"), msg.lastIndexOf("e") + 2);
String loveTarget = msg.substring(msg.indexOf("java"), msg.indexOf("java") + 4);
String concat = loveStr.concat(loveTarget);
System.out.println(concat);
输出结果:i love java
java文件和邮箱验证的需求代码:
public class StringSubStringDemo2 {
public static void main(String[] args) {
String file = "Hello.java";
String mail = "gree@qq.com";
String substring = file.substring(file.length() - 5);
if (substring.equals(".java")){
System.out.println("是Java文件");
}else{
System.out.println("不是Java文件");
}
if(mail.indexOf("@")==-1 || mail.indexOf(".")==-1){
System.out.println("当前邮箱不正确");
}else if(mail.indexOf("@")>mail.indexOf(".")){
System.out.println("当前邮箱不正确");
}else{
System.out.println("邮箱验证通过" );
}}}
查看一个字符串在文件中出现的次数:
String content="我爱你中国,我爱你故乡";
String search="爱";
Integer num=0;
for(int i=0;i<content.length();i++){
String substring = content.substring(i, i + 1);
if(substring.equals(search)){
num++;
}
}
System.out.println(search.concat("出现").concat(num.toString()).concat("次"));
}
输出结果:爱出现2次
字符串拆分:String[] split=content.split(",");
System.out.println(split.length);
for(int i=0;i<split.length;i++){
System.out.println("数组元素:"+i);
System.out.println(split[i]);
输出结果:
2
数组元素:0
我爱你中国
数组元素:1
我爱你故乡
StringBuffer类
1.StringBuffer
***对字符串频繁修改时,使用StringBuffer类可以大大提高程序执行效率
字符串拼接:
StringBuffer stringBuffer=new StringBuffer("My name is");
stringBuffer.append("gree,i love study i like read bigdata book");
stringBuffer.append(", i love taiji too!"); //频繁进行拼接
String s = stringBuffer.toString();
System.out.println(s);
输出结果:
My name isgree,i love study i like read bigdata book, i love taiji too!
指定的下标插入内容:
stringBuffer.insert(12,"ahjs");
System.out.println("-------------\n");
System.out.println(stringBuffer);
输出结果:-------------
My name isgrahjsee,i love study i like read bigdata book, i love taiji too!
将数字字符串用逗号隔开,从右边开始每三个数字用逗号隔开
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一串数字:");//123456789
String next = scanner.next();
StringBuffer stringBuffer1 = new StringBuffer(next);
for (int i = stringBuffer1.length() - 3; stringBuffer1.length() > 0; i = i - 3) {
stringBuffer1.insert(i, ",");
}
System.out.println(stringBuffer1.toString());
}
}
打印当前时间:
package nj.zb.kb22.stu0318.stu0403;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
}}
打印当前的年月:
Calendar c = Calendar.getInstance();
int year=c.get(Calendar.YEAR);
System.out.println(year);
int month=c.get(Calendar.MONTH)+1;
System.out.println(month);
int dayYear = c.get(Calendar.DAY_OF_YEAR);
int day =c.get(Calendar.DAY_OF_MONTH);
System.out.println(day);
System.out.println(dayYear);