JAVA常用类(实用类)

一、认识枚举
枚举是指由一组固定的常量组成的类型,存放在 java.lang 包中使用关键字enum定义;

	定义枚举语法格式如下:
		[Modifier] enum enumName{
		enumContantName1[,enumConstantName2.......[;]]
		//[field,method]
}

1.Modifier是访问修饰符,如public等。
2.enum是关键字。
3.//[field,method]表示其它的成员,包括构造方法,至于枚举常量的后面。
4.在枚举中,如果除了定义其它成员,则枚举常量必须以分号(;)结尾。

二、枚举的使用
在java中,通常使用枚举表示一组个数有限的值,用于实现对输入的值进行约束检查,保证数据的安全性!`
//定义枚举类

package kgc00;
//一周七天的枚举
public enum Week {
		MON,TUE,WED,THU,FRI,SAT,SUN
}

//定义的实现类

package kgc00;
/**
 1. 枚举常量的定义和使用
 2. @author 19746
 3.  */
public class WeekDemo2 {
/**
 4. 做什么事情
 */
	public void doWhat(Week day) {
		//使用枚举
		switch(day) {
		case MON:
		case TUE:
		case WED:
		case THU:
		case FRI:
			System.out.println("工作日,努力写代码!");
			break;
		case SAT:
			System.out.println("星期六,休息!看电影!");
			break;
		case SUN:
			System.out.println("星期日,休息!看电影!");
			break;
		default:
				System.out.println("地球上的一个星期就7天");
		}
	}
}

枚举的好处:
1.枚举可以使代码更容易维护,确保数据的安全性,也就是必须要指定合法的值。
2.枚举易于编程时的输入,方便使用,只需输入枚举名点出来
3.枚举是代码更清晰,允许用描述性的名称来表示数据,使用是方便直观。
//测试类

public class Test {
	public static void main(String[] args) {
		WeekDemo2 wd2=new WeekDemo2();
		wd2.doWhat(Week.FRI);
	}	
}

二、包装类

Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类。
包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示:

基本数据类型 对应的包装类
byte Byte
short Short
int Integer
long Long
char Character
float Float
double Double
boolean Boolean

1.每个包装类的对象可以封装一个相应的基本类型的数据,并提供了其它一些有用的方法。包装类对象一经创建,其内容(所封装的基本类型数据值)不可改变。

2.包装类的作用:
a.包装类作用和基本数据类型对应的类存在,方便对象的操作
b.包装类包含每种数据类型的相关属性,最大值,最小值等,以及相关的操作方法。

3.包装类的构造方法

package kgc01;
//包装类的构造方法
public class Demo {

	public static void main(String[] args) {
		//所有包装类都可将与之对应的基本数据类型作为参数,来构造他们的实例
		Integer i=new Integer(34);
		Double d=new Double(98.7);
		Boolean b=new Boolean(true);
		Character c=new Character('a');
		System.out.println(i+"\t"+d+"\t"+b+"\t"+c);
	
		System.out.println("-----------我是分割线-------------");
		
		//除Cgaracter类外,其他包装类可以一个字符串为参数构造他们的实例
		//编译错误
		//Character c2=new Character("a");
		Integer i2=new Integer("34");
		Double  d2=new Double("98.7");
		Boolean b2=new Boolean("true");
		System.out.println(i2+"\t"+d2+"\t"+b2);
		
		System.out.println("-----------我是分割线-------------");
		
		//Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false
		Boolean b3=new Boolean("TRue");
		Boolean b4=new Boolean("false");
		Boolean b5=new Boolean("love");
		System.out.println(b3+"\t"+b4+"\t"+b5);
		
		System.out.println("-----------我是分割线-------------");
		
		//当包装类构造方法参数为String类型时,字符串不能为null,且该字符串必须可解析为相应的基本数据类型的数据,否则编译通过,运行时NumberFormatException异常
		Integer i3=new Integer(null);
		Double d4=new Double("包装类");
		System.out.println(i3+"\t"+d4);
	}
}

4.包装类的常用方法

package kgc02;
/**
 * 包装类常用方法
 * @author 19746
 *
 */
public class Demo {
	public static  void main(String[] args){
		//XXXValue():包装类转换成基本类型
		Integer integerId=new Integer(25);
		int intId=integerId.intValue();
		System.out.println(intId);
		
		Boolean booleanVal=new Boolean(true);
		boolean bool2=booleanVal.booleanValue();
		System.out.println(bool2);
		System.out.println("***********1**************");
		
		//toString():以字符串形式返回包装对象表示的基本类型数据
		String sex=Character.toString('男');
		String id=Integer.toString(89);
		System.out.println(sex);
		System.out.println(id);
		String sex2='男'+"";
		String id2=89+"";
		System.out.println(sex2);
		System.out.println(id2);
		System.out.println("************2*************");
		
		//所有包装类valueOf(type value)
		Integer intValue=Integer.valueOf(21);
		System.out.println(intValue);
		Boolean bool=Boolean.valueOf(false);
		System.out.println(bool);
		System.out.println("**********3*************");
			
		//parseXXX():把字符串转换为相应的基本数据类型数据(Character除外)
		int i=Integer.parseInt("89");
		System.out.println(i);
		//boolean flag=Boolean.parseBoolean("true");
		//boolean flag=Boolean.parseBoolean("TRue");
		//boolean flag=Boolean.parseBoolean("false");
		boolean flag=Boolean.parseBoolean("false");
		System.out.println(flag);
		System.out.println("************4***************");
		
		//基本类型和包装类的自动转换:装箱和拆箱
		//拆箱
		Integer intObject=5;
		//拆箱
		int intValue2=intObject;
		System.out.println(intObject+"\t"+intValue2);
	}
}

5.示例

package kgc03;

import java.util.Scanner;

/**
 * 幸运抽奖:会员号的百位数与系统随机数相同,即为中奖
 * @author 19746
 *
 */
public class GoodLuck {

	public static void main(String[] args) {
		//随机产生一个0-9之间的任意整数
		int random=(int)(Math.random()*10);
		System.out.println(random);
		//从控制台接收一个任意的四位数
		System.out.println("请输入4位会员号:");
		Scanner input=new Scanner(System.in);
		int custNo=input.nextInt();
		//获得会员号的百位数
		int baiwei=custNo/100%10;
		if(baiwei==random) {
			System.out.println(custNo+"是幸运客户,获得精美iPhone X一部。");
		}else {
			System.out.println(custNo+"谢谢您的支持!");
		}
	}
}

6、Random类

import java.util.Random;

public class RandomDemo {
	public static void main(String[] args) {
		Random rand = new Random();// 创建一个Random对象
			for (int i = 0; i < 20; i++) {// 随机生成20个随机整数,并显示
			int num = rand.nextInt(10);// 返回下一个伪随机数,整型的
			System.out.println("第" + (i + 1) + "个随机数是:" + num);
		}
	}
}

7、

package kgc05;

import java.util.Scanner;

/**
 * 注册密码长度不少于6位
 * 字符串长度
 * @author 19746
 *
 */
public class Register {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		String uname, pwd;

		System.out.println("请输入用户名:");
		uname = input.next();
		System.out.println("请输入密码:");
		pwd = input.next();

		if (pwd.length() >= 6) {
			System.out.println("注册成功");
		} else {
			System.out.println("密码长度不能小于6位!");
		}
	}
}

package kgc06;

import java.util.Scanner;

public class Login {
/**
 * 登录
 * 字符串比较
 */
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		String uname,pwd;
		
		System.out.println("请输入用户名:");
		uname=input.next();
		System.out.println("请输入密码:");
		pwd=input.next();
		
		if(uname.equals("TOM")&&pwd.equals("1234567")) {
			System.out.println("登录成功!");
		}else {
			System.out.println("用户名或密码不匹配,登录失败!");
		}
	}
}

package kgc07;
/**
 * 演示示例4:==和equals()
 * @author 19746
 *
 */
public class StrEqu {
	public static void main(String[] args) {
		String str1="bdqn";
		String str2="bdqn";
		System.out.println(str1==str2);
		System.out.println(str1.equals(str2));
		
		String str3=new String("bdqn");
		System.out.println(str1==str3);
		System.out.println(str1.equals(str3));
		
		String str4=new String("bdqn");
		System.out.println(str3==str4);
		System.out.println(str3.equals(str4));
	}
}

package kgc08;

import java.util.Scanner;

/**
 * 登录
 * 演示示例5:忽略大小写的字符串比较
 * @author 19746
 *
 */
public class Login {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		String uname,pwd;
		
		System.out.println("请输入用户名:");
		uname=input.next();
		System.out.println("请输入密码:");
		pwd=input.next();
		
		/*
		if(uname.equals("TOM")&&pwd.equals("1234567")) {
			System.out.println("登录成功!");
		}else {
			System.out.println("用户名或密码不匹配,登录失败!");
		}*/
		if(uname.equalsIgnoreCase("TOM")&&pwd.equalsIgnoreCase("1234567")) {
		System.out.println("登录成功");	
		}else {
			System.out.println("用户名或密码不匹配,登录失败!");
		}
		 
	}
}

package kgc09;
/**
 * 打印成绩单
 * 演示示例6:字符串连接
 * @author 19746
 *
 */
public class PrintScore {
	public static void main(String[] args) {
		int sqlScore=80;	//SQL成绩
		int javaScore=90;	//java成绩
		double htmlScore=86.7;//HTML成绩
		
		//成绩单
		String scoreSheet="SQL:"+sqlScore+"java:"+javaScore+"HTML:"+htmlScore;
		
		//打印成绩单
		System.out.println("*******成绩单*******");
		System.out.println(scoreSheet);
		
		String bottom="\n\t\t版权所有:".concat("大锋");
		System.out.println(bottom);
	}
}

package kgc010;

import java.util.Scanner;

/**
 * 演示示例7:字符串提取
 * 
 * @author 19746
 *
 */
public class Verify {
	public static void main(String[] args) {
		// 声明变量
		boolean fileCorrect = false;// 标识文件名是否正确
		boolean emailCorrect = false;// 标识E-mail是否正确
		System.out.println("---欢迎进入作业提交系统---");
		Scanner input = new Scanner(System.in);
		System.out.println("请输入JAVA文件名:");
		String fileName = input.next();
		System.out.println("请输入你的邮箱:");
		String email = input.next();

		// 检查JAVA文件名
		int index = fileName.lastIndexOf(".");// "."的位置
		if (index != -1 && index != 0 && 
				fileName.substring(index + 1,//substring截取字符串方法
						fileName.length()).equals("java")) {
			fileCorrect=true;//标识文件名正确
		}else {
			System.out.println("文件名无效。");
		}
		//检查你的邮箱格式
		if(email.indexOf('@')!=-1&&email.indexOf('.')>email.indexOf('@')) {
			emailCorrect=true;//标识E-mail正确
		}else {
			System.out.println("E-mail无效。");
		}
		//输出检测结果
		if(fileCorrect&&emailCorrect) {
			System.out.println("作业提交成功!");
		}else {
			System.out.println("作业提交失败!");
		}
	}
}

package kgc010;
/**
 * 字符串拆分
 * 拆分歌词
 * @author 19746
 *
 */
public class Lyric {
	public static void main(String[] args) {
		String words="长亭外 古道边 芳草碧连天 晚风扶 柳笛声残 夕阳山外山";
		String[] printword=new String[100];//接收数组
		
		System.out.println("***原歌词格式***\n"+words);
		System.err.println("\n***拆分后歌词格式***");
		printword=words.split("");//按照空格进行拆分
		for(int i=0;i<printword.length;i++) {
			System.out.println(printword[i]);//打印输出
		}
	}
	
}

package kgc010;

import java.util.Scanner;

/**
 * StringBuffer类的使用
 * @author 19746
 *
 */
public class Testlnsert {
	//每隔三位插入逗号
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.println("请输入一串数字:");
		String nums=input.next();
		StringBuffer str=new StringBuffer(nums);
		//从后往前每隔三位添加逗号
		for(int i=str.length()-3;i>0;i=i-3) {
			str.insert(i, ",");
		}
		System.out.println(str);
	}
}

//演示示例11:获取系统时间
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {
	public static void main(String[] args) {
		Date date=new Date();//创建日期对象
		SimpleDateFormat formater=new SimpleDateFormat("yyyy—MM-dd HH:mm:ss");//定制日期格式
		System.out.println("当前时间为:"+formater.format(date));
	}
}

16.演示示例12: Calendar类的使用


import java.util.Calendar;

public class Test2 {
	public static void main(String[] args) {
		Calendar t = Calendar.getInstance();
		System.out.println("今天是" + t.get(Calendar.YEAR) + "年" + (t.get(Calendar.MONTH) + 1) + "月"
				+ t.get(Calendar.DAY_OF_MONTH) + "日");
		// Calendar.DAY_OF_WEEK中Sunday是1
		System.out.println("今天是星期" + (t.get(Calendar.DAY_OF_WEEK) - 1));
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_43779926/article/details/84446131