JAVA基础(二)—— 常用的类与方法

1 Math类

abs ceil floor
绝对值 大于等于该浮点数的最小整数 小于等于该浮点数的最大整数
max min round
两参数中较大的 两参数中较小的 四舍五入,算法为 Math.floor(x+0.5)
pow sqrt random
指数 算术平方根 随机数,在[0,1)间,取整int()即可
exp log
en In(n)
  • 找数组中max/min:

    int a[] = {10,5,8};
    int min = Arrays.stream(a).min().getAsInt();
  • 四舍五入保留两位小数

    法一:输出%.2f
    法二:(double) Math.round(d*100) / 100

2 String类

//创建
法一:
String greeting=“bluesky”;
法二:
char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'};
String helloString = new String(helloArray);
//修改
//String 类创建后是不可修改的;修改字符串使用StringBuffer以及StringBuilder类。
StringBuffer sBuffer = new StringBuffer("菜鸟教程官网:");
sBuffer.append("www");
delete reverse replace substring
//返回长度
.length()
//连接(返回新串)
法一:.concat()
法二: +=
//格式化字符串
法一:输出格式化 printf
System.out.printf("值为 " +"%f, 值为 " + " %d, 值为 " + "is %s", floatVar, intVar, stringVar);
%.2f表示精确到百分位
法二:字符串格式化
String fs = fs = String.format("值为 " + "%f, 值为 " +" %d, 值为 " + " %s", floatVar, intVar, stringVar);
//按间隔符拆成String数组
String [] a = s.split(" ",int maxsplit);
//char与string转换
str.charAt(index) ->char //第index-1位
str.toCharArray() ->char[]
String.valueOf('C') //即String.valueOf(字符/字符数组)
String.valueOf(new char[]{'c'})
String s = new String(new char[]{'c'});
//判断前后缀
boolean str.startsWith(str1)
boolean str.endsWith(str1)
boolean str.startsWith(str1,num) //num代表从str中第num-1位起算起始
//比较两个String
.equals()
.equalsIgnoreCase() //不区分大小写
.compareTo(str1,str2) //按字典序比较
.compareToIgnoreCase() //按字典序比较,不区分大小写
//查找指定字符/子串在该字符串中第一次出现的位置
.indexOf(char/str)
.indexdOf(char/str,fromIndex) //从指定的位置开始查找
//查找指定字符/子串在该字符串中最后一次出现的位置
.indexOf(char/str)
.indexdOf(char/str,fromIndex) //从指定的位置开始反向查找
//是否匹配正则表达式
matches(String regex)
//替换
replace(oldchar,newchar)
replaceAll(String regex,String replacement) //使用replacement替换字符串所有匹配的
//取子串
substring(start,(end))
  • StringBuffer类方法
append(str);
reverse();
delete(int start,int end);
insert(int offset,String str);
replace(int start,int end,String str); //用str替换从start到end的子串
capacity() //返回当前容辆
setCharAt(int index,char ch) //将index位置的字符设为ch
toString() //转为String
charAt()
indexOf()
substring()

3 数组

//创建
double[] myarr = new double[arr.length];
double[] myarr = {1.1,2.3,1.2,1.3};
//数组也可以作为函数的参数和返回值
//多维数组,可以看作数组的数组
法一:String[][] str = new String[3][4];
法二:也可以从最高维开始,为每一维分配空间
String[][] s = new String[2][];
s[0] = new String[2];
s[1] = new String[3];
//Arrays类方法
Arrays.fill(arr,9); //赋值
Arrays.sort(brr); //排序
Arrays.equals(arr, brr)) //比较
Arrays.binarySearch(brr,7) //二分法查找,数组在此前必须排序好

4 List类

  • List是一个接口,不能写成:List list = new List(); //错误
  • List有两个重要的实现类:ArrayList和LinkedList

4.1 ArrayList

  • ArrayList可以看作是能够自动增长容量的数组,动态数组

    • 利用ArrayList的toArray返回一个数组;
    • Arrays.asList返回一个列表;
import java.util.ArrayList;
import java.util.Iterator;
(new,toArray),(add,set,remove,clear),(contains,isEmpty)
(size,get,Iterator),reverse
//创建
ArrayList list0 = new ArrayList<Integer>();
List <Integer> output = new ArrayList<Integer>();
//向ArrayList添加新元素,。add(位置(,元素))
//向ArrayList更新元素,。set(位置,新元素)
list1.add(5);
list1.add(1,5);
list1.set(1,4);
//.remove(元素)删除第i个元素,或删除“元素”(只适用String型)
list1.remove(i);
//.contains(元素) ArrayList是否包含该元素,返回true或false
System.out.println(list1.contains(4));
//通过Iterator遍历ArrayList,需要import java.util.Iterator
for(Iterator iter=list1.iterator();iter.hasNext();) {
System.out.println(iter.next());
}
//.toArray()把ArrayList转为数组
String[] arr = (String[])list1.toArray(new String[0]);
for(String a:arr) {
System.out.println(a);
}
//清空ArrayList,.clear()
list1.clear();
//判断ArrayList是否为空,.isEmpty(),返回true或false
System.out.println(list1.isEmpty());
//.size()获取ArrayList大小,.get(位置)访问该位置元素
for(int i=0;i<list1.size();i++) {
System.out.print(list1.get(i)+" ");
}
//反转
Collections.reverse(list);
//查找元素
if(list.contains()) list.indexOf();
//排序
Collection.sort(list);

5 转换

  • List,In`teger[], int[]之间转换

    // int[] 转 List<Integer>
    List<Integer> list1 =Arrays.stream(data).boxed().collect(Collectors.toList());
    // 1.使用Arrays.stream将int[]转换成IntStream。
    // 2.使用IntStream中的boxed()装箱。将IntStream转换成Stream<Integer>。
    // 3.使用Stream的collect(),将Stream<T>转换成List<T>,因此正是List<Integer>。 // List<Integer> 转 int[]
    int[] arr1 = list1.stream().mapToInt(Integer::valueOf).toArray(); // String[] 转 List<String>
    List<String> list3 = Arrays.asList(strings1);
    // List<String> 转 String[]
    String[] strings2 = list3.toArray(new String[0]);

最新文章

  1. Android Weekly Notes Issue #221
  2. Linux在fstab中因配置错误导致服务器主机无法重启的问题应该如何解决
  3. Windows Server 2012 中80端口被PID为4的系统进程占用解决方法
  4. Hadoop on Yarn 各组件详细原理
  5. 诺顿ghost备份恢复系统或分区
  6. C# 为WebBrowser设置代理,打开网页
  7. css一个图片包含多个图片|网站侧栏导航
  8. go网络编程示例,客户端,服务器端
  9. java之集合类框架的简要知识点:泛型的类型擦除
  10. Office 2016九大新功能
  11. CentOS 7 安装Python pip
  12. 201521123056 《Java程序设计》第14周学习总结
  13. PM2使用心得
  14. Jupyter notebook 输出含中文的pdf 方法
  15. ElementUI - Table 表头排序
  16. Java中 输入字符串的时候next()和nextLine()有什么区别
  17. webstorm11.0下载地址和webstorm11.0破解程序patcher.exe下载使用方法说明 前端IDE工具的利器
  18. Entity Framework Core
  19. Javascript非构造函数的继承
  20. [LeetCode] 182. Duplicate Emails_Easy tag: SQL

热门文章

  1. HDU - 6761 Minimum Index (字符串,Lyndon分解)
  2. Codeforces Round #622 (Div. 2) C2. Skyscrapers (hard version)(单调栈,递推)
  3. 洛谷P3796
  4. codeforces 128B. String
  5. CodeCraft-20 (Div. 2) B. String Modification (字符串,规律)
  6. Operating System:操作系统启动总结
  7. MySQL 主从复制(上)
  8. kubernetes跑jenkins动态slave
  9. codeforces 869A
  10. mybatis(四)缓存机制