目前所学的Java零碎知识

news/2024/6/19 2:06:16 标签: java

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

字符串拼接

String

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

  1. 字符串的创建
java">		//方式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. 字符串比较
java">		//方式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. 判断字符串的前缀和后缀
java">		//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
java">String str10 = "you are beautiful";//空格也算一个长度
System.out.println(str10.length());
str10 = "好好学习哇!";//符号也是一个长度
System.out.println(str10.length());
  1. 判断字符串是否为空
java">		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. 字符串转换
java">		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. 字符串拼接
java">		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. 字符串查找
java">		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. 获取字符串的一部分
java">		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. 替换字符串
java">		String s9 = "瘦,走路是什么感觉?应该就是走路都得扶着电线杆";
		//方式1:replace() 就是把字符串中所有匹配到的字符串进行替换
		System.out.println(s9.replace("走路", "刮风"));
		//方式2:replaceFirst() 只替换第一个
		System.out.println(s9.replaceFirst("走路", "放屁"));
  1. 分割字符串 就是按照某一个字符 将字符串切成数组
    \\ 转义字符
java">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
java">		String s11 = " 哈哈";
		System.out.println(s11);
		System.out.println(s11.trim());

StringBuffer

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

java">//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: 数学类 该类中包含了跟数学相关的公式

java">		//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
装箱:把基本数据类型 转为 引用数据类型的过程
拆箱:把数据类型 转为 基本数据类型

java">		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类

java">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类

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

创建一个泛型类如下

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

创建一个测试类

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

日期类型

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

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


http://www.niftyadmin.cn/n/899491.html

相关文章

简易的表单验证

简易的后台登录界面 在这个给大家制作一个简易的后台登录界面&#xff0c;他使用到了&#xff1a;HTML&#xff0c;CSS,JS相关的知识&#xff0c;实现的大致功能就是&#xff1a;账户和密码不能为空&#xff0c;才能够登录&#xff08;实现的功能比较简易&#xff0c;所以在点…

servlet的简单应用应用以及动态的表单验证

在javaweb中&#xff0c;web服务器里面最重要的一部分莫过于Servlet了吧&#xff0c;今天就用一个简单的例子来说明Servlet的应用 首先&#xff0c;在写这个项目之前&#xff0c;先从我自己理解的角度来说一下服务器里面一些概念性的东西 web服务器&#xff08;web容器&#…

基于Servlet的BaseServlet封装

在web服务器中&#xff0c;每当客户端浏览器发送一个请求的时候&#xff0c;我们都要去创建一个servlet去完成相应的请求并返回响应&#xff0c;这样显得就很麻烦&#xff0c;有多少个请求就必须创建多少个servlet&#xff0c;其中的代码重复量太大了&#xff0c;所以&#xff…

图书管理面向对象滴

图书管理(控制台输入)练习 建一个book类 package com.booktest; //属性:编号 书名 作者 价格 书籍类型(如 玄幻 文学等) public class Book {private int number;private String bookname;private String author;private double price;private int count;private String type…

联系人管理

联系人管理 联系人管理: 1.联系人类:姓名 电话 地址 2.联系人管理类: a.通过首字母给联系人分组添加到通讯录中!b.通过电话查询联系人c.通过姓名删除联系人(注意,如果当前分组只剩下最后一个人需要将分组也删除)d.查看有几个分组,以及一共几个联系人e.通过姓名,修改联系人的电…

json解析与XML解析

log4j与json解析和XML解析 log4j的组成 日志记录器(logger):控制日志的级别 设置级别 日志会分级别去打印: 级别(从高到低) 1.off 2.fatal 3.error 4.warn 5.info 6.debug 7.all 注意:对我们而言,建议使用error warn info debug 输出端(Appender):控制日志输出的位置(控制台或…

XML解析题

XML解析题 XML解析题目 对照着Cartoon.xml里根节点有两个子节点 results和page根据字节点中的内容创建实体类 创建page实体 package com.pase;public class Page {private String pageNo;private String pageSize;private String totalCount;public Page() {}public Page(St…

JSP初学者必须掌握的语法

JSP初学者必须掌握的语法点 - [JAVA入门教程]如果你不熟悉Java编程&#xff0c;也许你想看一下Sun的指南 。然而网页创建者并不需要进行太多的Java开发。除了一些方法调用&#xff0c;在你的JSP网页里应尽可能少用Java代码。 记住以上提示&#xff0c;我们首先来看一看JSP指令…