实用类介绍

能够定义并使用枚举类型
掌握包装类及装箱、拆箱概念
会使用Math类进行数学运算

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


public class WeekDemo1 {
	/**
	 * 做什么事情
	 * */
	public void doWhat(int day){
		//使用条件判断
		if(day>7 || day<1){
			System.out.println("参数错误,应在1-7之间");
			return;
		}
		switch(day){
			case 1:
			case 2:
			case 3:
			case 4:
			case 5:
				System.out.println("工作日,努力写代码!");
				break;
			case 6:
				System.out.println("星期六,休息!看电影!");
				break;
			case 7:
				System.out.println("星期日,休息!看电影!");
				break;
			default:
				System.out.println("地球上的一个星期就7天");
		}
	}
	
	public static void main(String[] args){
		WeekDemo1 wd=new WeekDemo1();
		wd.doWhat(5);
		wd.doWhat(10);
	}
}

/**
 * 枚举常量的定义和使用
 * */
public class WeekDemo2 {
	/**
	 * 做什么事情
	 * */
	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天");
		}
	}
	
	public static void main(String[] args){
		WeekDemo2 wd=new WeekDemo2();
		wd.doWhat(Week.FRI);
	}
}


public class Test {
	// 定义枚举
	public enum Level {
		L1,L2,L3
	}

	public void show(Level level) {
		switch (level) {
		case L1:
			System.out.println("大数据开发工程师");
			break;
		case L2:
			System.out.println("大数据挖掘工程师");
			break;
		case L3:
			System.out.println("大数据架构师
");
			break;
		default:
			System.out.println("输入有错");
		}
	}
	public static void main(String[] args) {
		Test t = new Test();
		t.show(Level.L1);
		Level level = Level.U2;
		t.show(level);
		t.show(Level.L3);
	}
}

包装类
包装类把基本类型数据转换为对象
每个基本类型在java.lang包中都有一个相应的包装类
包装类的作用
提供了一系列实用的方法
集合不允许存放基本数据类型数据,存放数字时,要用包装类型
在这里插入图片描述

//包装类的构造方法
package cn.com.jbit;

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);
		
		//除Character类外,其他包装类可以一个字符串为参数构造它们的实例
		//编译错误
		//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);
		
		//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);
		
		//当包装类构造方法参数为String 类型时,字符串不能为null,且该字符串必须可解析为相应的基本数据类型的数据,否则编译通过,运行时NumberFormatException异常
		Integer i3=new Integer(null);
		Double d4=new Double("包装类");
		System.out.println(i3+"\t"+d4);
	}
}

byteValue()intValue()
longValue()shortValue()
doubleValue()floatValue()
charValue()booleanValue()

XXXValue():包装类转换成基本类型
Integer integerId=new Integer(25);
int intId=integerId.intValue();

toString():以字符串形式返回包装对象表示的基本类型数据(基本类型->字符串)
String sex=Character.toString('男');
String id=Integer.toString(25);

parseXXX():把字符串转换为相应的基本数据类型数据(Character除外)(字符串->基本类型)
int num=Integer.parseInt("36");
boolean bool=Boolean.parseBoolean("false");

valueOf()
所有包装类都有如下方法(基本类型->包装类)
 Integer intValue = Integer.valueOf(21);

package cn.com.jbit;

/**
 * 包装类常用方法
 * */
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("*************************");
		
		//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("*************************");
		
		//所有包装类valueOf(type value)
		Integer intValue=Integer.valueOf(21);
		System.out.println(intValue);
		Boolean bool=Boolean.valueOf(false);
		System.out.println(bool);
		System.out.println("*************************");
		
		//除Character类外,其他包装类valueOf(String s)
		intValue=Integer.valueOf("32");
		//bool=Boolean.valueOf("true");
		bool=Boolean.valueOf("love");
		//编译错误
		//Character c=Character.valueOf("a");
		System.out.println(intValue);
		System.out.println(bool);
		System.out.println("*************************");
		
		
		//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("love");
		boolean flag=Boolean.parseBoolean("false");
		System.out.println(flag);
		System.out.println("*************************");
		
		//基本类型和包装类的自动转换:装箱和拆箱
		//装箱
		Integer intObject=5;
		//拆箱
		int intValue2=intObject;
		System.out.println(intObject+"\t"+intValue2);



	}
}


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

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

Math.abs(-3.5); //返回3.5 
Math.max(2.5, 90.5);//返回90.5
int random = (int) (Math.random() * 10); //生成一个0-9之间的随机数

//幸运抽奖
package cn.com.jbit;

import java.util.Scanner;

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

 

生成随机数的其他方式
java.util.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);
}

package cn.com.jbit;

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);
		} 

	}
}

String类
生活中的字符串
“Hello World”
“www.baidu.cn”
使用String对象存储字符串
String s = “Hello World”;
String s = new String(“Hello World”);
String类位于java.lang包中,具有丰富的方法
计算字符串的长度、比较字符串、连接字符串、提取字符串

//注册新用户注册密码长度不少于6位
package cn.com.jbit;
import java.util.*;
public class Register {

	/**
	 * 注册密码长度不少于6位
	 */
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		String uname,pwd;
		
		System.out.print("请输入用户名: ");
		uname=input.next();
		System.out.print("请输入密码: ");
		pwd=input.next();
		
		if(pwd.length()>=6){
			System.out.print("注册成功! ");
		}else{
			System.out.print("密码长度不能小于6位!");
		}
		
	}
}

//字符串比较
/**
 *String类提供了equals( )方法,比较存储在两个字符串对象的内容是否一致
 *注册成功后,实现登录验证。用户名为“TOM”,密码为“1234567”
 */
package cn.com.jbit;
import java.util.*;
public class Login {

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

equals():检查组成字符串内容的字符是否完全一致
“==”和equals()有什么区别呢?

package cn.com.jbit;

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));
	}
}


字符串比较的其他方法
使用equalsIgnoreCase()方法 
使用toLowerCase()方法
使用toUpperCase()方法
登录时不考虑用户名的大小写问题,实现登录
package cn.com.jbit;
import java.util.*;
public class Login {

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

//会员注册
package cn.jbit.regist;

import java.util.Scanner;

public class Register {
	/**
	 * 验证注册信息
	 * @return flag 验证信息
	 */
	public boolean verify(String name,String pwd1,String pwd2){
		boolean flag=false;
		if(name.length()<3 || pwd1.length()<6){
			System.out.println("用户名长度不能小于3,密码长度不能小于6!");
		}else if(!pwd1.equals(pwd2)){
			System.out.println("两次输入的密码不相同!");
		}else{
			System.out.println("注册成功!请牢记用户名和密码。");
			flag=true;
		}
		return flag;
	}
	public static void main(String[] args) {
		Register r=new Register();
		Scanner input = new Scanner(System.in);
		String uname,p1,p2;
		boolean resp=false;
		
		System.out.println("***欢迎进入注册系统*** \n");
		do{			
			System.out.print("请输入用户名: ");
			uname=input.next();
			System.out.print("请输入密码: ");
			p1=input.next();
			System.out.print("请再次输入密码: ");
			p2=input.next();		
			resp=r.verify(uname, p1, p2);		
		}while(!resp);
	}
}

字符串连接
方法1:使用“+”
方法2:使用String类的concat()方法

package cn.com.jbit;

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);
		
	}

}

String字符串常用方法:
方法名 说明
public int indexOf(int ch) 搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1
public int indexOf(String value)
public int lastIndexOf(int ch) 搜索最后一个出现的字符ch(或字符串value),如果没有找到,返回-1

public int lastIndexOf(String value)
public String substring(int index) 提取从位置索引开始的字符串部分
public String substring(int beginindex,int endindex) 提取从beginindex和endindex之间的字符串部分(包头不包尾)
public String trim() 返回一个前后不含任何空格的调用字符串的副本
equalsIgnoreCase() 忽略大小写来比较
toLowerCase() 字符串转为小写
toUpperCase() 字符串转为大写
split() 根据括号内的条件进行分割
concat() 连接,跟“+”的作用一样

package cn.com.jbit;
import java.util.*;


public class Verify{
	public static void main(String[] args) {
        // 声明变量
        boolean fileCorrect = false; 	//标识文件名是否正确
        boolean emailCorrect = false; 	//标识E-mail是否正确
        System.out.print("---欢迎进入作业提交系统---");
        Scanner input = new Scanner(System.in);
        System.out.println("请输入Java文件名: ");
        String fileName = input.next();
        System.out.print("请输入你的邮箱:");
        String email = input.next();
        
        //检查Java文件名
        int index = fileName.lastIndexOf(".");  //"."的位置
        if(index!=-1 && index!=0 && 
            fileName.substring(index+1, 
            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("作业提交失败!");
        }
    }
}


public class Lyric {

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

	}

}


输入一个字符串,再输入要查找的字符,判断该字符在该字符串中出现的次数
package cn.com.jbit;
import java.util.Scanner;

public class Counter {
		public int counter(String inputs,String word){
			int counter=0;//计数器,初始化0
			String[] temps=new String[inputs.length()];
			//字符串转换成数组
			for(int i=0;i<temps.length;i++){
				temps[i]=inputs.substring(i,i+1);			
			}
			//比较字母,计数
			for(int j=0;j<temps.length;j++){
				if(temps[j].equals(word)){
					counter++;
				}
			}
			return counter;
		}
		public static void main(String[] args) {		
			Scanner myinput=new Scanner(System.in);
			Counter cnt=new Counter();
			
			//定义2个变量,接收用户的输入
			String myString;
			String myWord;
			System.out.print("请输入一个字符串:");
			myString=myinput.next();
			System.out.print("请输入要查找的字符:");
			myWord=myinput.next();
			
			//调用方法,输出结果
			int geshu=cnt.counter(myString,myWord);
			System.out.print("\""+myString+"\"中包含"+geshu+"个\""+myWord+"\"。");
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值