1、实例化String对象
直接赋值
使用关键字new
2、Sting的内容比较
“==” 比较到是地址
“equals”比较到的是内容
String字符串常用的方法
1、字符串长度:length()方法
2、字符串转换数组:toCharArray()
String str = "woaixuexijava"
char data[] = str.toCharArray();
for(int i=0;i<data.length;i++){
System.out.print(data[i]+" ");
}
3、从字符串中取出指定位置的字符:charAt()
4、字符串与byte数组的转换:getBytes()
byte bytes[] = str.getBytes();
for(int i=0;i<bytes.length;i++){
System.out.println(new String(bytes)+"\t");
}
5、过滤字符串存在的字符:indexOf()
String str="waaixuexi@java.com"
System.out.println(str.indexOf("@"));//返回从0开始 结果为:11的角标
str.indexOf("@")
6、去掉字符串的前后空格:trim()
7、从字符串中的取出子字符串:subString();
8、大小写转换:toLowerCase() toUpperCase()
9、判断字符串的开头结尾字符:endsWith() startWith()
10、替换String字符串中的一个字符:replace()
认识StringBuffer:
缓冲区,本身也是操作字符串,但是与String不同,String Buffer是可以更改的
StringBuffer是一个操作类,所以必须通过实例化进行操作
2、StringBuffer常用方法
append()
insert
replace()
indexOf()
3、StringBuilder
1、一个可变的字符序列,该类被设计作用StringBuffer的一个简易替换,用在字符串缓冲区
被单线程使用的时候。建议优先考虑该类,速度比StringBuffer要快
2、但是如果设计到线程安全方面,建议使用StingBuffer
append()
insert
replace()
indexOf()
面向对象
面向过程:不去想做什么样的盒子,随机取工具制作
面向对象:先想好做一个什么样的盒子,再去找对应的工具做
面向对象三大特征:1.封装性不可见 2.继承 扩展类的功能 3.多态性 方法的重载 对象的多态性
方法的重载:方法名称相同,但是参数的类型和个数不同,通过参数传递的个数和类型不同来完成不同的功能。
类的定义、声明
1、class 类名称{
属性
方法
}
2、声明一个类需要通过一个关键字class
类与对象的关系
1、类是对某一类事物的描述,是抽象的、概念上的意义,对象是实际存在的该类事物的每一个个体,也被称为对象或实例
class Person{
String name = null; //默认值是null
int age = 0; //默认值是0
public void tell(){
System.out.println("姓名"+name+""+"性别"+age);
}
}
/**
*创建对象
赋值
对象.属性
对象.方法
*/
Person per = null;//声明
per = new Person();//实例化操作
另一种写法:Person per = new Person();//声明并实例化
per.name = "张三";
per.age = 30;
per.tell();
封装性的产生目的
保护某些属性和方法不被外部所看见
封装的实现
为属性和方法进行封装是通过关键字private声明的
实现该属性的set和get方法,为外部所访问
package lx.Test.parseTxt;
public class MethodDemo03 {
public static void main(String[] args) {
System.out.println(addNum(100));
}
/**
* 从1+100, 100+99+98+..+1
* @param num
* @return
*/
public static int addNum(int num) {
if(num == 1) {//程序出口
return 1;
}else {
return num+addNum(num-1);
}
}
}
运行结果5050