java22:API-Object-String

Object 类 顶级

toString()方法

一般都要重写

返回对象文本描述

被很多API调用

==

比较变量的值,引用变量的值是地址值,引用变量==比较的是地址值

不能用于比较逻辑上对象是否相等

equals 方法

一般要重写(重写时也要重写 hashCode方法)

Object的equals 方法用于对象的相等 逻辑

instanceof  java的运算符

测试一个对象是否是一个类的实例

A instanceof B

对象A是否是类型B的实例  返回boolean

String 类 重要类

final类

有很多的优化

底层就是:字符数组

字符串是有字符数组组成的。

字符串对象不可改变

字符串引用是可以重新赋值

字符串的连接底层是字符数组复制实现的

String API

API方法不会改变原字符串对象

返回值与原有字符串不同时候是新对象

返回值与原有字符串一样的时候还是引用之前的对象

为了性能

常量池(提高性能)

静态字符串(字面量/常量/常量连接的结果)在静态池中创建,尽量使用同一个对象

重用静态字符串

String  toLowerCase()            返回字符串小写形式

toUpperCase()           返回字符串大写形式

trim()              返回字符串为原始字符串去掉前后的空白

(空格 \t \n \r)

endsWith("str")         字符串结尾是否有str

startsWith("str")        字符串开头是否有str

length()            返回字符串的长度

indexOf()  有重载      字符串中查找别一个字符串

substring()          截取字符串中的一部分

indexOf()和substring()     配合使用可以截取特定的字符串

package day022;

public class Demo01 {
	public static void main(String[] args){
		String s1 = "Hello";
		String s2 = s1;
		s1 = s1 + "World";
		System.out.println(s1);
		System.out.println(s2);
		System.out.println(s1.toLowerCase());	

	}
}
package day22;大写转小写,小写转大写

import java.util.Arrays;

public class Demo02 {
	public static void main(String[] args) {
		char[] chs = { ‘H‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘ ‘, ‘W‘, ‘o‘, ‘r‘, ‘l‘, ‘d‘,
				‘!‘ };
		char[] chs1 = Arrays.copyOf(chs, chs.length);
		for (char c : chs) {
			if (c > 64 && c < 91) {
				c = (char) (c + 32);
			}
			System.out.print(c);
		}
		for (char c : chs) {
			if (c > ‘a‘ && c < ‘z‘) {
				c = (char) (c - 32);
			}
			System.out.print(c);
		}
	}
}
package day22;// 大写转小写同时小写转大写

import java.util.Arrays;

public class Demo03 {
	public static void main(String[] args){
		char[] chs = {‘H‘,‘e‘,‘l‘,‘l‘,‘o‘,‘ ‘,‘W‘,‘o‘,‘r‘,‘l‘,‘d‘,‘!‘};
		char[] chs1 = Arrays.copyOf(chs, chs.length);
		for(char c:chs){
			if(c>64 && c<91){
				c = (char) (c + 32);
				System.out.print(c);
				continue;
			}else if(c>‘a‘ && c<‘z‘){
				c = (char) (c - 32);
			}
			System.out.print(c);
		}
	}
}
package day22;//字符串去掉前后的空白

public class Demo04 {
	public static void main(String[] args){
		String name = " \n lmd tx \t \r  ";
		System.out.println(name.trim());
	}
}
package day22;

public class Demo05 {
	public static void main(String[] args){
		String name = " \n lmd tx \t \r  ";
		System.out.println(name.trim());

		String file = "p.png";
		boolean isPng = file.endsWith(".png");//字符串结尾是否有.png
		System.out.println(isPng);
		boolean isP = file.startsWith("p");//字符串开头是否有p
		System.out.println(isP);

	}
}
package day22;

public class Demo06 {
	public static void main(String[] args){
		String str = "asdfzcvqewrfgHHajlsdjf";
		int index = str.indexOf("HH");//找到返回序号
		System.out.println(index);
		index = str.indexOf("GG");//找不到返回-1
		System.out.println(index);
		index = str.indexOf(‘a‘);//从头开始
		System.out.println(index);
		index = str.indexOf(‘a‘, 13);//从指定位置开始找
		System.out.println(index);
		System.out.println(str.substring(4,6));// 截取字符串中的一部分

		 
	}
}
package day22;

public class Demo07 {//特殊截取
	public static void main(String[] args){
		String email ="[email protected]";
		String QQ = email.substring(0,email.indexOf("@"));//从邮箱中截取QQ号
		System.out.println(QQ);
		String domain = email.substring(email.indexOf("@")+1);//从邮箱中截取域名
		System.out.println(domain);

	}
}
package day22;

public class Demo08 {//条码应用 EAN-13
	public static void main(String[] args){
		String str = "6922711076348";
		System.out.println(str);
		char c1;
		char c2;
		int n=0; 
		int m=0;
		for(int i = 0;i <str.length()-1;i+=2){
			c1 = str.charAt(i); 
			n = n +c1-‘0‘;
			System.out.print(c1);
		}
		System.out.println();
		for(int i = 1;i <str.length()-1;i+=2){
			c2 = str.charAt(i);
			System.out.print(c2);
			m = m +c2-‘0‘;
		}
		System.out.println();
		System.out.println(n);
		System.out.println(m);
		int sum = n + m*3;
		System.out.println(sum);
		int q =(10-sum%10)%10;
		if(q == 0){
			System.out.println(0);
		}else{
		System.out.println(q);
		}
	}
}
时间: 2024-10-05 05:21:25

java22:API-Object-String的相关文章

java基础(15):常用API(Object、String、StringBuffer)

1. Java的API及Object类 在以前的学习过程中,我们都在学习对象基本特征.对象的使用以及对象的关系.接下来我们开始使用对象做事情,那么在使用对象做事情之前,我们要学习一些API中提供的常用对象.首先在学习API中的Object类之前,先来学习如何使用API. 1.1 Java 的API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了

Java基础篇(02):特殊的String类,和相关扩展API

本文源码:GitHub·点这里 || GitEE·点这里 一.String类简介 1.基础简介 字符串是一个特殊的数据类型,属于引用类型.String类在Java中使用关键字final修饰,所以这个类是不可以继承扩展和修改它的方法.String类用处极广泛,在对String对象进行初始化时,和基本类型的包装器类型一样,可以不使用new关键字构造对象.(是真的妖娆...) 2.类构造和方法 String类结构 特点:final关键字修饰,实现Serializable序列化接口,Comparable

JavaAPI学习(一):API &amp;&amp; String类 &amp;&amp; Stringbuffer &amp;&amp; StringBuilder

一.API 1.API:英文 Aplication Progrmmer Iteface 的缩写,即应用编程接口 由官方或第三方提供的能实现特点功能的程序封装包,包含各功能类,接口,以及实现方法等:很多基础功能不需要再重写,直接调用即可:但因为Java的API十分丰富,常用的基础API就有很多,也需要花时间熟悉这些API的功能和使用方法: 2.常用API  String类, StringBuffer, StringBuilder ,集合(list set map) ,包装类,日历日期,IO流 ,异

Java笔记(12):常见对象String

1.String类的构造方法 1 package cn.itcast_01; 2 3 /* 4 * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. 5 * 通过查看API,我们可以知道 6 * A:字符串字面值"abc"也可以看成是一个字符串对象. 7 * B:字符串是常量,一旦被赋值,就不能被改变. 8 * 9 * 构造方法: 10 * public String():空构造 11 * public String(byte[] bytes):把字节数组转成字符串 1

JSON,全称:JavaScript Object Notation,作为一个常见的轻量级的数据交换格

JSON,全称:JavaScript Object Notation,作为一个常见的轻量级的数据交换格式,应该在一个程序员的开发生涯中是常接触的.简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率. Java是面向对象的语言,所以我们更多的在项目中是以对象的形式处理业务的,但是在传输的时候我们却要将对象转换为 JSON 格式便于传输,而且 JSON 格式一般能解析为大多数的对象格式,而不在乎编程语言. 现在主流的对象

解决Hibernate删除异常:deleted object would be re-saved by cascade

我们在指定了数据库表的关联映射后,在删除其中一方的的时候,提示了以下异常:deleted object would be re-saved by cascade (remove deleted object from associations): [entity.Associationinformation#7] (注:entity.Associationinformation是实体类,7为设定的外键的值) 下面是我的多对一关联情况: 1.实体类: entity.Associationinfor

(一)、BOM:Browser Object Model

BOM window 打开关闭窗口 窗口大小和窗口位置 ****定时器 (一).BOM:Browser Object Model 浏览器对象模型:用来访问和操作浏览器窗口,使JS有能力与浏览器交互. 专门操作浏览器窗口的API--没有标准,有兼容性问题 浏览器对象模型的主要对象 window:代表整个窗口是BOM的根对象 2个角色:1.代替global称为全局作用域对象  2.封装所有DOM API 和BOM API 以下为window的子对象 1.history:封装当前窗口打开后,成功访问过

API的String 一些用法

我是一个刚刚开始接触电脑的一个人,我从基本建设转到IT这个行业.我也不知道从哪下手.呵呵,这个微博我也是头一次用.我在北京学习java.每天我都会尽量把当天学到的东西,都会及时的与大家分享.我也不从头开始说了,就从api的一些方法开始吧,希望可以帮到和我一样没有基础的.我也是刚学的,所以这里面有什么不对的,希望你们多多的给点意见.这样大家共同进步,在这里先谢谢大家了  呵呵 我们需要知道String创建后,其内部所表示的字符串是不可改变的.一旦改变就会在方法区中建立一个新的对象. 下面是Stri

设计模式之美:Null Object(空对象)

索引 意图 结构 参与者 适用性 效果 相关模式 实现 实现方式(一):Null Object 的示例实现. 意图 通过对缺失对象的封装,以提供默认无任何行为的对象替代品. Encapsulate the absence of an object by providing a substitutable alternative that offers suitable default do nothing behavior. In short, a design where "nothing w

设计模式之美:Role Object(角色对象)

索引 意图 结构 参与者 适用性 效果 相关模式 实现 实现方式(一):Role Object 的示例实现. 意图 通过明确地附加角色对象到目标对象中,以使对象可以适配不同的客户需求.每个角色对象都代表着目标对象在客户上下文中的一种角色.每种上下文都存在于特定的应用程序中,因此可使对象在不同的应用程序间解耦. Adapt an object to different client's needs through transparently attached role objects, each