Day10java

1.Arrays数组工具类,用来方便的去操作数组
成员方法:
public static String toString(int[] a) :打印数组元素的方法
public static void sort(int[] a):数组排序,默认是从小到大排序,如果要从大到小排序,则需要加一个比较器`Arrays.sort(arr,new Comparator() {

        @Override
        //比较的方法
        public int compare(Integer a, Integer b) {
            // TODO Auto-generated method stub
            return -(a-b);//跟据这个两个元素比较的差值的正负 ,去决定元素的排列顺序
        }
    });`

public static int binarySearch(int[] a,int key):二分查找:前提 数组元素必须有序,才能二分查找
2.冒泡排序

import java.util.Arrays;
public class MyTest {

    public static void main(String[] args) {
        // 数组之冒泡排序:两两比较
        int[] arr = { 20, 5, 90, 100, 60, 45 };
        for (int i = 0; i < arr.length - 1; i++) 
            for (int j = 0; j < arr.length - 1-i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int t;
                    t = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = t;
                }
}
        System.out.println(Arrays.toString(arr));
}

3.选择排序

import java.util.Arrays;
public class MyTest2 {
    public static void main(String[] args) {
        // 选择排序:拿1个元素跟剩余的元素挨个去比较
        int[] arr = { 20, 5, 90, 100, 60, 45 };
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i] > arr[j]) {
                    // 值交换
                    int t;
                    t = arr[i];
                    arr[i] = arr[j];
                    arr[j] = t;
                }
            }
        }
        System.out.println(Arrays.toString(arr));
    }
}

4.包装类
Java为了我们方便的去操作这些基本数据类型,给我们提供了与之对应的包装类型
byte Byte short Short int Integer
long Long float Float double Double
char Character boolean Boolean
Integer常用的构造方法
B:构造方法
public Integer(int value)
public Integer(String s)
String与int类型的相互转换
int转化成String类型:调用String的valueOf()方法
String转化成int类型:用int的包装类integer中的ParseInt()方法
Integer 重写了equals方法,比较的是值是否相等
在方法区里面,存在一个字节常量池,如果这个值超过了一个字节的范围,他会重新在堆内存new一个空间
true 没有超过一个字节的范围 因为在方法区中存在一个 字节常量池 范围-128—127
—————————————————————————————————————
static String toBinaryString(int i)
以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
static String toHexString(int i)
以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
static String toOctalString(int i)
以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
—————————————————————————————————————–
5. 正则表达式:正确规则的表达式,通常用来做一些数据的校验
正则表达式:是一个独立的技术,很多语言都支持他
正确规则的表达式,用来校验数据是否满足我们自己定义的规则
String regx=”[abc]”;//允许出现a,b,c中的任意一个
regx=”[123ABCabc]”;//允许出现1,2,3中任意一个
regx=”[^123]”;//除了123其他都可以
regx=”[0-9]”;
regx=”[a-z]”;
regx=”[A-Z]”;
regx=”[0-9a-zA-Z]”;
regx=”.”;//匹配任意单个字符
regx=”\.”;//我想让.代表这个.本身 需要对点进行转意
regx=”\d”;//表示[0-9]
regx=”\w”;//表示 [a-z_A-Z]
regx=”a?b?”;//一次或一次也没有 “”空串就代表0次
regx=”a*”;//零次或多次 大于等于1次 都算多次
regx=”a+”;//至少一次,或多次
regx=”\w+”;
regx=”[0-9]{5}”;//正好出现几次
regx=”[a-z]{5,}”;//至少5次
regx=”[a-zA-Z0-9]{6,18}”;//表示6到18
A:Pattern和Matcher的概述
Pattern 模式器 用来封装正则表达式
Matcher 匹配器 用来匹配正则表达式
把一个正则表达式封装进模式器里面
Pattern p = Pattern.compile(“a*b”);
通过模式器,获取匹配器,并传入需要匹配的字符串
Matcher m = p.matcher(“aaaaab”);
调用匹配器中的方法,进行匹配
boolean b = m.matches();
Matcher 匹配器中的两个方法
boolean find() 查找是否有符合正则的字符串
String group() 获取到符合正则的字符串
6. Math类和random类

Math.PI  //圆周率      Math.E   //自然指数     Math.abs(-1)      //取绝对值
Math.max(a,b)  //求最大值       Math.min(a,b)  //求最小值
Math.ceil(3.14) //向上取整      Math.floor(3.14)  //向下取整
Math.round(3.14)  //四舍五入    Math.random() //取随机整数0-1 
Math.pow(a, b)  //   求a的b次方

random类的实例用于生成随机数据
Random()
创建一个新的随机数生成器。
Random(long seed)
使用单个 long 种子创建一个新的随机数生成器。
public Random()没有给定种子,使用的是默认的(当前系统的毫秒值)
如果传了种子,那么生成的随机数每次都是固定的
如果不传,每次都是不一样的随机数
boolean nextBoolean() 返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean 值。
double nextDouble() 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。
int nextInt() 返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
int nextInt(int n) 返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。

猜你喜欢

转载自blog.csdn.net/woshijinfeixi/article/details/81322312