关键字-------------常用类

关键字

final
final可以修饰属性,方法和类
final 修饰属性——>该属性不能被修改(重新指定内存位置)
final修饰属性:表示这个值已经确定不能被修改。
但是赋值可以在声明的时候赋值,或在构造方法中赋值。(如果用构造方法赋值必须在每一个构造方法写一次!!!)
final修饰类:不能被继承
final修饰方法:不能被重写
final和abstract不能共存

static
static 可以修饰属性,方法,类(?内部类),代码块
static 修饰属性——>叫做静态属性,也有人叫他类变量(区分成员变量 实例变量)
类变量的掉用规则:可以使用对象来调用,也可以使用类名直接调用
实例变量的调用规则:只可以使用对象调用
类变量全局只有一个,大家都用同一个;
static 修饰方法:大家调都有这个方法都一样,不能被重写,可以继承(有的时候叫包含)
static 修饰类:主类不能使用,内部类可以(就是主类里写的类)列如:public static class Human{}
内部类:可以访问私有的方法(静态的)
static 动态和静态之间的调用关系:动态可以调用静态的方法和属性,静态不能调用动态的方法和属性(前者不能保证有后者静态是前者)
静态代码块:静态只加载一次,先静态——>动态——>父类构造方法——>子类构造方法

接口
接口里的属性:public final static
类和接口的实现;
接口和接口之间支持多继承
里面静态方法是有方法体
接口具有承载抽象方法的能力,但不具有承载普通方法的能力
接口没有构造方法
接口里的普通方法都是抽象方法

常用类(JAVA规定,任何类,都默认继承Object(对象))

String
String不能用==判断是否相等,只能用equals方法来判断相等。
String字符串定义出来后,就不能被改变。
求长
length()
定位
charAt()
指定索引处的值。
subString()
知道角标拿内容
实例:str1.substring(3,5));从角标为3开始到角标5结束。(包前不包后)
知道内容那脚标indexOf()
从前向后 后面带的值就是从第几位开始找
System.out.println(str1.indexOf(‘a’,16));
从后向前
System.out.println(str1.lastIndexOf(‘e’,18));
变种定位
startsWith()
System.out.println(str1.startsWith(“cdk”));
判断开头是不是括号里的东西
endsWith();
System.out.println(str1.startsWith(“cdk”));
判断结尾是不是endsWith();
替换
replace()
这种替换不会改变原来的值,会生成一个新的给你
实例String str2=str1.replace(“cdk”, “liguocheng”);
将前面的字符替换掉
contains()
拼接
System.out.println(str1.concat(“klscsbuc”));
把括号里的东西拼接在后面
变大写toUpperCase()
变小写toLowerCase()
特殊方法
equals()
System.out.println(str1.equals(1));
判断字符串大小
equalsIgnoreCase()
System.out.println(str1.equalsIgnoreCase(“LIGUOCheng”));
不管字体大小写判断大小
rtim()
会干掉两端的空格,不会干掉两个字符中间的空格
实例:System.out.println(str1.trim());
repelace()
可以干掉任何位置的空格
实例:System.out.println(str1.replace("",""));
isEmpty()
判断字符是不是空,是空返回true;
实例:System.out.println(str1.isEmpty());
split()
安传进来的东西给字符串切割开
String[] array = str1.split(",");
contentEquals()
只比较内容不管类型
compareTo()
String比较大小这个叫做字典序,以开头先比较
实例:String a = “1”;
String b = “2”;
System.out.println(a.compareTo(b));

**

StringBuffer,StringBullder,(两个用法一样,后面比前面的快,前面比后面的安全)

**
求长
sb.length()
定位(弱于String)
sb.charAt();sb.indexOf()
替换(强于String)
sb.append()
可以改变内部内容的和String不一样这个是实质性的替换
实例sb.append(“laozhang”);
sb.delete()
删除,后减前
sb.delete(0, 3);
sb.insert()
插入
sb.insert(2, “laowang”)
sb.replace()
替换
sb.replace(0, 2, “sjgdjgdj”)
sb.reverse()
倒序
实例:/实例 public static boolean solve(String str) {
StringBuffer sb = new StringBuffer(str);
sb.reverse();
//先将StringBuffer类型转换成String然后在比较
//方法1.return sb.toString().equals(str);
//方法2.用Sting先比较只看内容不看类型
//return str.contentEquals(sb);
}
/
sb.reverse();
System.out.println(System.currentTimeMillis());
获得当前系统返回时间
实例:测速用+号连接String字符速度吗,StringBuffer快。
System.out.println(System.currentTimeMillis());
for(int i =0;i<100000;i++) {
sb.append(i);
// str = str+i;
}

	System.out.println(System.currentTimeMillis());
	
}

Arrays操作数组的工具类(Arrays不能创建对象直接调用)
Arrays.toString();
转化成String类型拿出他的值
Arrays.sort();
排序
System.out.println(Arrays.toString(array));
/字典升序
* 创建一个数组
String[] arr = new String[100];
遍历
for(int i = 0;i<arr.length;i++) {
arr[i] = (i+1)+"";
}
因为是字符串数组所以是字典升序
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
/
Arrays.binarySearch(a, key);二分查找
Arrays.copyOf()
给原来的数组扩容,原来的数组不变,给你换一个大的数组
实例: array = Arrays.copyOf(array, 20);
Arrays.copyOfRange();
范围拷贝
int[]array = {1,4,887,25,7,32,1,5,7,4};
int[] a =Arrays.copyOfRange(array,6,8);
拷贝从角标6开始后面的拷贝到8就是两个
Arrays.fill(a,2);
把一个值填满在新的数组里
int[] a =Arrays.copyOfRange(array,6,20);
Arrays.fill(a,6);//填满
System.out.println(Arrays.toString(a));
System.arraycopy(src, srcPos, dest, destPos, length);
要把一个数组里第几个角标拷贝到另一个数组的第几个角标拷贝进去拷贝一个长度
System.arraycopy(array(数组), 5(从角标5开始),a(新的数组), 10(从角标10开始), 5(截取长度5加在后面));
实例:int [] array = {1,4,887,25,7,32,1,5,7,4};
int [] a = Arrays.copyOf(array,30);

	System.out.println(Arrays.toString(array));
	System.arraycopy(array, 5,a, 10, 5);
	System.out.println(Arrays.toString(a));
	System.arraycopy(array, 0,a, 15, 5);
	System.out.println(Arrays.toString(a));
	System.arraycopy(array, 7,a, 20, 3);
	System.arraycopy(array, 3,a, 23, 4);
	System.arraycopy(array, 0,a, 27, 3);
	System.out.println(Arrays.toString(a));

Random
random.nextInt();
随机数
实例:System.out.println(random.nextInt(100)+1);//1到100的随机数
实例2:System.out.println(random.nextInt(10)+100);//前面的值是宽度后面的起始点(这个100-110的随机数)

Math
Math.round();
System.out.println(Math.round(Math.random() * 30)+30); //用Math方法做30到60的随机数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值