周总结
一、String声明
//字面量声明
String s = "hello,word";
//
String s1 = new String("hello");
System.out.println(s);
//
Scanner in = new Scanner(System.in);
System.out.println("请输入用户名");
String s = in.next();
if (s.length()<6){//s.length返回字符串长度 length是一个方法,使用时代()
System.out.println("用户名最少6位");
}
String s1 = "123";
String s2 = "123";
String s3 = new String("123");
String s4 = new String("123");
System.out.println(s1==s2);//==判断两个字符串中的存储地址是否相等
System.out.println(s3.equals(s4));//.equals判断字符串是否相等
例:
String s = "H";
String s1 = "h";
System.out.println(s.equalsIgnoreCase(s1));//忽略大小写比对
System.out.println(s.toLowerCase());//将所有字符转化为小写
System.out.println(s1.toUpperCase());//将所有字符转化为大写
System.out.println(s.toLowerCase().equals(s1.toLowerCase()));
/*连接字符串
1.+连接
2.s1.concat(s2)
*/
// .indexOf()在字符串中查找指定的字符或子串第一次出现的位置并返回起下标 若没找到返回-1 可接受字符串 字符 整数类型
//的参数若传入整数将根据阿斯可码自动转为字符 A67 a97
//.lastIndexOf()最后一次出现的位置 没找到返回-1
//substring截取一个字符串的指定位置,返回新的子串
//传第一个参数表示起始下标 姜葱这个下标截取到最后
//传入两个参数 表示起始下标和结束下标,为左闭右开区间
String s = "abc";
System.out.println(s.indexOf("a"));
.split("")传入指定字符 将字符串分割成多个子串,返回一个字符串的数组
如果传入一个空字符,则将原字符串的没一个字符进行分割
.split(""n) 第二个参数可传入一个整数,表示当前字符串分割成几部分
若传入整数小于原来的分割总部分,则剩余区域不在分隔
二、StringBuffer
/*
StringBuffer
1.为String增强版 位于JAVA.LONG包中
2.StringBuffer与String最大区别在于前者为可变可追加
而后者声明之后不可改变不可插入
*/
StringBuffer sb = new StringBuffer("hello");
String s = sb.toString();//将StringBuffer转为String类型 但在输出时不用转换,将自动转换
System.out.println(sb);
/*
.append在原字符串的最后追加新的字符
1.原字符串会被直接改变 同时还会将追加之后的字符串返回
2.append可以接受各种类型的参数 会自动转成字符串之后追加到原字符串最后
*/
sb.append("word");
System.out.println(sb);
StringBuffer sb1 = sb.append(" hi");
System.out.println(sb1);
System.out.println(sb);
/*
Delete
1.传入两个下标 表示删除这两个下标之间的字符 左闭右开
2.deletecharAt传入一个下标 删除指定位置的字符
*/
sb.delete(0,2);
System.out.println(sb);
System.out.println();
/*
insert 在原字符串的指定下标位置插入新的字符串 新的子串可以为任意类型
其他类型将自动转为字符串类型
*/
StringBuffer s1 = sb.insert(3,"0");
System.out.println(s1);
System.out.println(sb);
例:
--------------------------------------------------------------------------------
一 面向对象和面向过程
* 面向机器
* 汇编语言
* 面向过程
* 专注于解决一个问题的步骤
* 由一个个函数解决一系列问题
* 面向对象
* 专注于对象解决问题
* 由一个个类 拿到对象 通过对象直接解决
--------------------------------------------------------------------------------
二 类与对象
* 类
* 有相同属性和方法的个体集合
* 抽象的概念 只能说有哪些属性 并不能赋值
* 对象
* 类中拿出具有具体属性值的个体 为具体的个体
* 两者关系
* 对象是类的具体化 反之抽象化
* 类是对象的描述 对象是类的实例
* 类产生对象
--------------------------------------------------------------------------------
三 面向对象的三大特征
* 继承
* 封装
* 多态
--------------------------------------------------------------------------------
四 声明一个类
public class ~{
* 访问控制符 class 类名
* 命名规范
* 声明属性
* 访问控制符 类型 属性名
--------------------------------------------------------------------------------
五 声明方法
* 访问控制符 返回值类型 方法名
* 若没返回值 void代替
六 类与对象 步骤
* 1 声明一个类
* 2 在需要调用的main方法中使用new拿到对象
* 3 使用属性名 对象名方法名调用类的属性方法
调用属性
七 构造函数
* 与类同名
* 构造函数没返回值
八 方法
*方法的返回值
* 1 如果方法有返回值,可用return返回结构
* 2 若没有返回值 需要设置返回值void 且方法中必须没有return
* 3 有返回值的方法调用时 不一定接收返回值
* 4 没有返回值的方法调用时 一定不能接收返回值
*方法的调用
* 1 声明的方法,只有在调用的时候才能直销方法体中的代码
* 2 方法的调用
* 在本类中的其他方法中调用,使用方法名();或者使用this.方法名();
* 调用其他类的方法,首先应该实例化一个对象,再通过对象调用方法名
*方法的参数
* 1 声明方法时,可以在小括号中设置调用方法时需要传入的参数列表,多个参数
之间用逗号分隔;
声明方法的参数列表,称为形参列表
* 2 调用方法时,必须按照形参列表的要求-----传入一一对应的数值
调用方法的参数列表 称为实参列表
九 成员变量与局部变量
*成员变量
* 写在方法体外面,直接在类中声明的属性,称为成员变量
成员变量的作用范围 在整个类中可以使用
*局部变量
* 在方法体里面声明的变量
局部变量只在当前方法中有效。方法的形参列表,都属于局部变量
* 区别
>>>作用域不用
>>>初始值不同 成员变量有默认初始值,局部变量没有
>>>优先级不同 当恒源变量与局部变量重名时,在方法中优先使用局部变量
若需要用橙元变量,则需要使用this.属性