Java基础

知识点
1、Java中字符串分割(split)支持正则表达式
 \s 代表匹配任何空白字符
 + 表示匹配一次或者多次
 匹配时需要转译一下 \\s
 例如:String[] strs = str.split("\\s")
 ******
  使用.分割字符串时
  split("\\.")要注意转译问题
  split("\\\\")\\
 ******
2、Scanner使用获取一行使用 nextLine
   java.util.Scanner

 BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
3、字符串数组的长度 strs.length
   字符串长度 str.length()
   字符串的反转:
        StringBuffer buf = new StringBuffer(str);
        buf.reverse();
4、遍历字符串,获取字符串的每个元素
   for(int i=0;i<str.length();i++){
     char c=str.charAt(i);
   }
5、其他类型转String类型使用String.valueOf()
6、生成随机数常用的方法(100以内的随机数,不包括100)
   Random rand = new Random();
   rand.nextInt(100); 表示生成0-99的随机数
   从1开始的随机数怎么弄   rand.nextInt(100)+1 表示1-100

7、进制之间的相互转化
16->10  Long.parseLong(str.substring(2), 16).toString();
8、Math向上和向下取整数
   向上取整用Math.ceil(double a)

   向下取整用Math.floor(double a)
9、Map的排序问题、
      ArrayList<Entry<Integer, Integer>> arrayList = new ArrayList<>(map.entrySet());
      
      Collections.sort(arrayList,new Comparator<Map.Entry<Integer,Integer>>(){

        @Override
        public int compare(Entry<Integer, Integer> o1, Entry<Integer, Integer> o2) {
            // TODO Auto-generated method stub
            return o1.getKey().compareTo(o2.getKey());
        }
          
      });
      for (Entry<Integer, Integer> e: arrayList) {
          System.out.print(e.getKey() + " " + e.getValue());
      }

10、循环倒序输出时
    判断方式:for (int i = chr.length-1 ; i >= 0; i--) {
            System.out.print(chr[i]);
        }

11、字符在ASCII码范围内(0~127,包括0和127)
    字符串转化为ASCII数值
     字符串首先转化为char类型,使用int数组转为ASCII数值
     for(int i=0;i<str.length();i++){
        char c = str.charAt(i);
        int[i] = c;
       
     }
12、进制之间相互转化
    Integer的方法  Integer.toBinaryString(num);int类型转化成二进制字符串

13、字符串数组的排序
    Arrays.sort(array); 默认升序
    
    Arrays.sort(array,new Comparator<>); 也可以用比较器自定义比较

14、正则表达式
    * 0 - 多次 
    + 1 - 多次
    ?0 - 1
15、安装rpm
    yum install *.rpm
    rpm -ivh *.rpm
    
16、map的key只唯一性
   map.getOrDefault(key,0); 该方法用于设置value的默认值。。。
   map的key值是不可重复的。可以更新key对应的value
   
17、数组的定义以及复制
   ①int[] a={1,2} 
   ②int[] b=new int[]{1,2};   

18、list的排序
    基本类型的元素:
    Collections.sort(demo_list );
    实体类元素的排序:通过某个成员变量的值做比较:
    Collections.sort(demo_list , (Bean b1, Bean b2) -> b2.getXxx().compareTo(b31.getXxx()));
    demo_list .sort(Comparator.comparing(Bean->method)));
    倒序:
    Collections.reversed(demo_list);

19、substring获取一个字符串到末尾
    s.substring(0,(s.length+1))
    
20、数组合并的方法
   concat 
   var arr = arr1.concat(arr2,arr3);   //合并一
   
21、保留两位小数
    String.format("%.2f", d)
    5位小数
    new DecimalFormat("#,##0.00000").format(new Double("96.1"));
22、使用double类型进行运算时
   比如整数运算,先将整数转换成double类型 ,这样才能保留运算后的正确结果,不会进行四舍五入
   例如  5/2 结果是2.0
        double a = 5;
        a/2 结果就是2.5;

23 最简单的办法验证一个字符是不是数字的方法
   (1)java自带类库的办法
        public boolean isNum(String msg)
        if(java.lang.Character.isDigit(msg.charAt(0)))
     (2)使用ASCII码进行验证
       char a      0<a<9
       
24、字符串操作之前需要判断是不是空串以及是不是有一个或者多个空格
   不然会抛出异常
   去除多个空格的方法
       str.trim().length()== 0
       
       
25、判定两个几个list是否相等
    list.retainAll(list2);
    比较两个数组是否相等
    Arrays.equals(array1,array2);
    
    
24、HashSet:不允许有重复元素
   ①value值没有用,也就不存在修改value值的说法
   ②往HashSet中添加元素,首先判断元素(也就是key)是否存在,如果不存在这插入,如果存在着不插入,这样HashSet中就不存在重复值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值