目前所学的Java零碎知识

字符串拼接、Math函数、包装类型 Integer和int、泛型、日期类型

字符串拼接
String

String:不可变字符串,对其做的任何替换,查找,修改等操作都是
拷贝了原字符串,对拷贝的副本进行操作并返回

  1. 字符串的创建
		//方式1:直接赋值
		String str1 = "hello world";
		//方式2:通过字符数组创建字符串
		char[] data = {'y', 'o', 'u'};
		String str2 = new String(data);
		System.out.println(str2);
		//方式3:通过字符数组的某一部分创建字符串
		char[] charArray = {'l', 'o', 'v', 'e'};
		String str3 = new String(charArray, 2, 2);
		//参数2:是从哪个字符开始    参数3:是截取几个(长度)
		System.out.println(str3);
		//方式4:通过字符创建另一个字符串
		String str4 = new String(str1);
		//注意经常用于可变转不可变字符串
		System.out.println(str4);
  1. 字符串比较
		//方式1: ==  比较的是字符串的地址
		String str5 = "haha"; //常量区
		String str6 = new String("haha");// 堆区
		System.out.println(str5 == str6); //false
		String str7 = "haha";
		System.out.println(str5 == str7); //true
		//方式2: equals 只比较值
		System.out.println(str5.equals(str6));// true
		System.out.println(str5.equals(str7));// true
		//方式3:equalsIgnoreCase 忽略大小写
		str6 = "HaHa";
		System.out.println(str5.equalsIgnoreCase(str6));
  1. 判断字符串的前缀和后缀
		//endWith: 判断字符串以..结尾
		String str8 = "变形金刚.avi";
		System.out.println(str8.endsWith("vi"));
		//startWith: 判断字符串以..开头
		String str9 = "前车之鉴,后车之师";
		System.out.println(str9.startsWith("前车"));
		//compareTo: 字符串比较,是逐个字符进行比较,返回值是ASCII值
		str8 = "ABC";
		str9 = "ABc";
		System.out.println(str8.compareTo(str9));
		//compareToIgnoreCase 忽略大小写
		System.out.println(str8.compareToIgnoreCase(str9));
  1. 字符串的长度 length
String str10 = "you are beautiful";//空格也算一个长度
System.out.println(str10.length());
str10 = "好好学习哇!";//符号也是一个长度
System.out.println(str10.length());
  1. 判断字符串是否为空
		String str11 = null;
		String str12 = "";
		//禁止 null调用任何对象的方法
		if(str11 != null && str11.length() != 0) {
			System.out.println(str11 + "不是空字符串");
		}else {
			System.out.println(str11 + "是空字符串");
		}
	   //isEmpty()  判断是否为空 如果为空则为true
		System.out.println(str12.isEmpty());//true
		//另一种方式 判断空串
		if(str12 != null && !str12.isEmpty()) {
			System.out.println("不是空字符串");
		}else {
			System.out.println("是空字符串");
		}
  1. 字符串转换
		String str13 = "lucky dog";
		//大写toUpperCase()
		System.out.println(str13.toUpperCase());
		System.out.println(str13);//原字符串没有变换
		//小写 toLowerCase()
		str13 = "Lucky Dog";
		String lowerStr = str13.toLowerCase();
		System.out.println(lowerStr);
		System.out.println(str13);
		//字符串转数组
		char[] charArr = str13.toCharArray();
		for(int i = 0; i < charArr.length; i++) {
			System.out.println(charArr[i]);
		}
		//转其他类型 
		int a = 5566;
		//方式1:拼接空字符串
		String s1 = a + "";
		System.out.println(s1);
		//方式2: String.valueOf(数据)
		String s2 = String.valueOf(a);
		//valueOf(此处基本数据类型皆可转换)
		//字符串转其他类型
		String s3 = "2020520";
		//方式1:其他数据类型.valueOf(字符串) 即可转换
		int b = Integer.valueOf(s3);
		double c = Double.valueOf(s3);
		float d = Float.valueOf(s3);
		//方式2: 其他类型.parse其他类型(字符串)
		long e = Long.parseLong(s3);
		String s4 = "true";
		boolean f = Boolean.parseBoolean(s4);
  1. 字符串拼接
		String s5 = "you see see you! ";
		String s6 = "one day day!";
		//方式1: +
		System.out.println(s5 + s6);
		//方式2: concat
		String s7 = s5.concat(s6);
		System.out.println(s7);
  1. 字符串查找
		String s8 = "大学生活好啊!好吗?你说好就好!";//16
		//方式1:indexOf()正向查找,返回第一次出现的位置,找不到就返回-1
		System.out.println(s8.indexOf("好呀"));//从0开始
		System.out.println(s8.lastIndexOf("好"));//最后一次出现的位置
		System.out.println(s8.indexOf("好", 5));
		//方式2:contains 是否包含  boolean类型返回值
		System.out.println(s8.contains("生活好"));
  1. 获取字符串的一部分
		String str = "矮是什么感觉?就是所有人看见我都抬不起头";
		//方式1: charAt() 通过下标  获取某个字符
		System.out.println(str.charAt(2));
		//方式2: substring()  
		System.out.println(str.substring(7));
		System.out.println(str.substring(10, 15));
  1. 替换字符串
		String s9 = "瘦,走路是什么感觉?应该就是走路都得扶着电线杆";
		//方式1:replace() 就是把字符串中所有匹配到的字符串进行替换
		System.out.println(s9.replace("走路", "刮风"));
		//方式2:replaceFirst() 只替换第一个
		System.out.println(s9.replaceFirst("走路", "放屁"));
  1. 分割字符串 就是按照某一个字符 将字符串切成数组
    \\ 转义字符
String s10 = "www|cctv|com";
		String[] strArray = s10.split("\\|");
		for(int i = 0; i < strArray.length; i++) {
			System.out.println(strArray[i]);
		}
		s10 = "www.cctv|com";
		//  split(" | ")  单竖杠 是或者! 所以才需要添加\\转义
		strArray = s10.split("\\.|\\|");
		for(int i = 0; i < strArray.length; i++) {
			System.out.println(strArray[i]);
		}
  1. 去除首尾空格 trim
		String s11 = " 哈哈";
		System.out.println(s11);
		System.out.println(s11.trim());
StringBuffer

StringBuffer:可变字符串,对其做的增删改查操作都是直接修改
了原字符串!当然也可以接受返回值,是修改后的结果!

//1.创建可变字符串
   StringBuffer strBuffer = new StringBuffer();
   System.out.println(strBuffer);
   //2.拼接字符串
   strBuffer.append("少年啊!");
   System.out.println(strBuffer);
   strBuffer.append("你好帅啊!");
   //3.按照下标插入字符串
   strBuffer.insert(0, "啊哈!");
   System.out.println(strBuffer);
	//4.替换字符串
   strBuffer.replace(9, 10, "傻乎乎");
	System.out.println(strBuffer);
	//5.删除字符串
	strBuffer.delete(9, 12);
	System.out.println(strBuffer);
	//6.字符串反转
	strBuffer.reverse();
	System.out.println(strBuffer);
	String s3 = "hahaha";
	String s4 = s3.toUpperCase();
	System.out.println(s3);
	System.out.println(s4);
	//所以! 可变字符串---->不可变字符换
	//方式1
	String s1 = new String(strBuffer);
	System.out.println(s1);
    //方式2
	String s2 = strBuffer.toString();
	System.out.println(s2);
Math函数

Math: 数学类 该类中包含了跟数学相关的公式

		//1.圆周率
		System.out.println(Math.PI);
		//2.自然常数
		System.out.println(Math.E);
		//3.求绝对值
		System.out.println(Math.abs(-10));
		System.out.println(Math.abs(99));
		//4.求最大值
		System.out.println(Math.max(80, 78));
		//5.求两个数的最小值
		System.out.println(Math.min(45, 8));
		//6.求开方
		System.out.println(Math.sqrt(4));
		
		//7.求某数的任意次方
		System.out.println(Math.pow(8, 2));
		//8.取整系列
		//向上取整:取比这个数最大的最小整数
		System.out.println(Math.ceil(9.1));
		System.out.println(Math.ceil(9.0));
		//向下取整:取比这个数小的最大整数
		System.out.println(Math.floor(8.9));
		System.out.println(Math.floor(8.1));
		//四舍五入
		System.out.println(Math.round(7.6));
		System.out.println(Math.round(7.4));
		//取离这个数最近的整数
		System.out.println(Math.rint(8.7));
包装类型 Integer和int

1.基本数据类型:
int byte short long float char boolean
2.引用数据类型(包装类型)

它的根类都是Object 可以通过new来创建
基本类型 包装类型
int Integer
byte Byte
short Short
char Character
long Long
float Float
double Double
boolean Boolean
装箱:把基本数据类型 转为 引用数据类型的过程
拆箱:把数据类型 转为 基本数据类型

		int a=10;
		Integer a1=new Integer(a);//装箱
		
		int b=a1;//拆箱
		Integer c=10;
		Integer[] num= {8,9,10};
		//注意数据类型之间的转换,包括装箱和拆箱都会消耗系统资源!
		//所以,编码时选择合适的数据类型尽量少做转换!
泛型

泛型: 就是可以把 数据类型作为参数进行传递使用方式
创建类的时候,可以使用<T,M,N>等占位符替代即将出现
的类型的位置!占位符一般单字母大写!

优点:
1.提高了代码的复用性
2.降低数据类型之间的差异化以及类型转换带来的系统消耗

缺点:
1.不能使用泛型进行算数运算,逻辑运算但可以字符拼接
2.不能使用基本数据类型,必须使用对象数据类型

创建一个Interage类

public class Interage {
	public void printString(int a) {
		System.out.println(a);
	}
	public void concatString(int a1,int a2) {
		System.out.println(a1+a2);
	}

创建一个StringTest类

public class StringTest {
	public void printString(String str) {
		System.out.println(str);
	}
	public void concatString(String str1,String str2) {
		System.out.println(str1+str2);
	}

创建一个泛型类如下

public class TypeTest<M,N>  {
	public void print(M a,N b) {
		System.out.println(a);
		System.out.println(b);
	}

创建一个测试类

public static void main(String[] args) {
	Interage interage=new Interage();
		interage.printString(1);
		//这是一个字符串
		StringTest stringTest=new StringTest();
		stringTest.concatString("哈哈哈", "你好");
		//new对象的时候直接在<>里写上数据类型就可以了方便
		TypeTest<String, String> typeTest=new TypeTest<>();
		typeTest.print("哈哈哈", "再见");
		TypeTest<Double, Boolean> typeTest2=new TypeTest<>();
		typeTest2.print(99.1, false);
		}
日期类型
public static void main(String[] args) throws ParseException {
		//Date 日期
		//1.创建日期对象
		Date date=new Date();//此时,获取的是系统日期
		System.out.println(date);
		//带参创建
		Date date1=new Date(2020-1900, 1-1, 5);
		System.out.println(date1);
		//年份从1900年算起 月份从0 开始(1月-12月表示0-11)
		//2.获取年份中的信息
		int year=date.getYear()+1900;
		System.out.println(year);
		int month =date.getMonth();
		System.out.println(month+1);
		int day=date.getDate();
		System.out.println(day);
		//getDay()是获取星期 0代表星期天
		System.out.println(date.getDay());
		int hours=date.getMinutes();
		System.out.println(hours);
		int minutes=date.getMinutes();
		System.out.println(minutes );
		int seconds=date.getSeconds();
		System.out.println(seconds);
		//注意:重要!getTime()获取的是1970年到此日期的毫秒
		//1000毫秒=1秒
		//用来计算两个日期的时间间隔!!
		long timer=date.getTime();
		System.out.println(timer);
		Date yesterDay=new Date(2020-1900,1-1,4,17,23);
		long lastTimer=yesterDay.getTime();
		long result=(timer-lastTimer)/1000/60/60;
		System.out.println(result);
		
		//------------------
		//Date和String的相互转换
		//MM 月份,mm 分钟,HH 24小时制
		SimpleDateFormat format=new SimpleDateFormat
				("yyyy-MM-dd HH:mm:ss");
		String dateStr=format.format(date);
		System.out.println(dateStr);
		
		//String与Date
		String strTime="2000年09月09日 12:22:54";
		SimpleDateFormat format2=new SimpleDateFormat
				("yyyy年MM月dd日 HH:mm:ss");
		Date newDate=null;
		newDate=format2.parse(strTime);
		
		System.out.println(newDate);
		
	}

注意有的方法划线是不再使用了

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值