java第九天

*:0次或多次。+一次或多次

注意,"."在正则表达式中有其他含义所以要用[ ]起来

在以后开发中如果要反复出现拼字符串,不要使用string+

如果需要反复拼接字符串,用stringBuffer

去掉空格,用trim只去掉两边空格

判断字符串开头和结尾用(startsWith)(endsWith)

替换:用replace

static:

1:修饰变量。变量存在静态存储区,被多个实列共享可以用类名直接访问。java中常量变量静态变量跟随类加载而加载生命类创建和消亡

2:可以修饰方法,静态方法可以用类名直接调用,一般工具类的方法都是静态的方便使用,不能有this关键字,原因当静态函数加载时this对应实例还没创建静态方法不能访问非静态变量

stati还可以修饰代码块

普通代码块比构造函数先执行,每块创建都可以执行

静态代码块值执行一次,比普通代码块更早执行。

 


/**
	String类:
		1.java.lang包中的类不用引入包,直接使用。
		
*/
import java.io.*;
class JavaDemo22 
{
	public static void main(String[] args) 
	{
		/*
		String info1 = "我是好人!";
		String info2 = "我是好人!";
		//判断相等,要注意是地址相等还是内容相等。
		//java对直接使用字符串类型做了优化,当两个变量值相同时,第二变量不再新开辟空间
		if(info1 == info2){//==是判断地址相等
			System.out.println("地址相等!");
		}

		String data1 = new String("你是坏人!");
		String data2 = new String("你是坏人!");
		if(data1 == data2){
			System.out.println("地址相等");
		}else{
			System.out.println("地址不相等");
			}

		//比较字符串内容相等
		if(data1.equals(data2)){
			System.out.println("内容相等");		
		}else{
			System.out.println("内容不相等");
			}



		String data = "我爱我的祖国,她美丽又强大!";
		
		System.out.println(data.charAt(5));

		String email = "haoren@sina.com";
		if(email.matches("\\w+@\\w+.\\w+")){
				System.out.println("邮箱合法!");

		}else{
				System.out.println("邮箱不合法!");
		}
		//用户名的规矩:6-18 只能是数字,大小写字母和下划线
		String username = "haor";
		if(username.matches("\\w{6,18}")){
				System.out.println("用户名合法");
		}else{
				System.out.println("用户名不合法");
			}
		//电话:13688341235,//11位的数字,第一位以1开头
		String  tel = "13688341235";
		if(tel.matches("^1\\d{10}")){
			System.out.println("电话号码合法");
		}else{
			System.out.println("号码不合法");
		}
		*/
		//字符的分割

		String address = "www.sina.com";
		//System.out.println(".");
		//注意:"."在正则表达式中有其他的含义,所有要[.]
		String[] s = address.split("[.]");
		System.out.println(s.length);
		for(String x:s){
			System.out.println(x);
		}

		String path = "C:\\Windows\\System32\\cmd.exe";
		//方法一:
		/*
		String path1 = "c:"+File.separator+"Windows"+File.separator+"System32"+File.separator+"cmd.exe";
		//System.out.println(path1);
		//String[] paths = path.split("\\\\");

		//System.out.println(paths.length);

		String[] paths = path1.split("\\\\");//这里写四个斜杆因为这里是正则表达式,要\\代表一个\
		System.out.println(paths[3]);

		System.out.println(File.separator);
		*/
		//方法二:
		int index = path.lastIndexOf("\\");//这里的参数不是正则表达
		//System.out.println(index);

		String temp = path.substring(index+1);
		System.out.println(temp);

		//判读字符串的开头和结尾

		String data = "我爱我的祖国";
		System.out.println(data.startsWith("我"));
		System.out.println(data.endsWith("好人"));

		//String的效率问题
		String data1 = "我";
		data1  = data1+"是好人!";//在以后的开发中如果出现反复拼字符串不使用Sring +
		System.out.println(data1);
		//如果需要反复拼接字符串,用StringBuffer
		StringBuffer sb = new StringBuffer("我");
		System.out.println(sb);
		sb.append("是好人!");
		System.out.println(sb);

		//去掉空格
		//trim()只会去掉两边、
		String username = "   ha ha   ";
		System.out.println("   ha ha   ");
		System.out.println(username.trim()+123);


	//替换
		String data3 = "啊,祖国,我爱你啊";

		System.out.println(data3.replace("啊","ha"));







	}
}
/**
	static还可以修饰代码块
*/
class JavaDemo24 
{	
	
	
	private static int num = 2;

	public static void main(String[] args) 
	{
		//int num = 4;
		//{
		//	int num =3;
		//	System.out.println(num);
		//}

	//System.out.println(num);
	TestDemo td1 = new TestDemo();
	TestDemo td2 = new TestDemo();
	TestDemo td3 = new TestDemo();
	}
}
//普通代码块比构造函数先执行,每次创建实例都可以执行。
//静态代码块,只执行一次,比普通代码块更早执行。静态代码块中也不能访问非静态变量。
class TestDemo
{
	//普通代码块
	{
		System.out.println("普通代码块!");
		}

	//静态代码块
	private static String name= "haoren";
	static{
		System.out.println("静态代码块!"+name);
		}
	public TestDemo(){
		System.out.println("构造函数");
	}

	

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值