JAVA基础(二)—— 常用的类与方法
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]);
JAVA基础(二)—— 常用的类与方法的更多相关文章
- java基础(二) -对象和类
Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一 ...
- Java面试题总结之Java基础(二)
Java面试题总结之Java基础(二) 1.写clone()方法时,通常都有一行代码,是什么? 答:super.clone(),他负责产生正确大小的空间,并逐位复制. 2.GC 是什么? 为什么要有G ...
- java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing
java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...
- Java基础系列-equals方法和hashCode方法
原创文章,转载请标注出处:<Java基础系列-equals方法和hashCode方法> 概述 equals方法和hashCode方法都是有Object类定义的. publi ...
- Java基础-日期格式化DateFormat类简介
Java基础-日期格式化DateFormat类简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DateFormat类概述 DateFormat 是日期/时间格式化子类的抽象 ...
- Java入土--Java基础(二)
Java基础(二) 接上一讲,我们接着来聊聊Java的一些基础知识,下一讲就会进行流程的控制. 类型转换 首先呢,是类型的转换,接上一个内容的数据类型,类型转换就是数据类型更进一步的应用. 由于Jav ...
- java的属性只能在类里面 方法外面定义
java的属性只能在类里面 方法外面定义 区别于python:python 既能在类里面(类属性) 又能在方法里面定义属性(实例属性)
- 29个android开发常用的类、方法及接口
在安卓开发中,我们常常都需要借助各种各样的方法.类和接口来实现相关功能.提升开发效率,但对于初学者而言,什么时候该用什么类.方法和接口呢?下面小编整理了29个,日常开发中比较常用的类.方法.接口及其应 ...
- java基础之常用类1
java基础 以下内容为本人的学习笔记,如需要转载,请声明原文链接 java常用类: 1.内部类 2.Object类 3.Object类常用方法 4.包装类 5.String类 6.BigDeci ...
随机推荐
- 放苹果 POJ - 1664 递推
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第一行是测试数据的数目t(0 <= t < ...
- 计蒜客-T1271 完美K倍子数组
如果一个数组满足长度至少是 22 ,并且其中任意两个不同的元素 A_iAi 和 A_j (i \not = j)Aj(i=j) 其和 A_i+A_jAi+Aj 都是 KK 的倍数,我们就称 ...
- c#小灶——9.算术运算符
算数运算符用来在程序中进行运算. 首先,了解最简单的加(+)减(-)乘(*)除(/)运算符: 举例 int a = 1; int b = 2; int c = a + b; Console.Write ...
- WSL安装
默认的我们可以看到并没有安装任何发行版本: 访问:https://aka.ms/wslstore 安装后我们如何进入linux系统呢,我们使用windows terminal
- Spring:解决因@Async引起的循环依赖报错
最近项目中使用@Async注解在方法上引起了循环依赖报错: org.springframework.beans.factory.BeanCurrentlyInCreationException: Er ...
- Leetcode(4)-两个排序数组的中位数
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . 请找出这两个有序数组的中位数.要求算法的时间复杂度为 O(log (m+n)) . 示例 1: nums1 = [1, 3] ...
- python类属性和对象属性、类的普通方法和静态方法
类属性和对象属性的定义 class LearnClass(): #类属性 cls_attr = None def __init__(self,arg): #对象属性 self.obj_attr = a ...
- ES6 Arrow Function All In One
ES6 Arrow Function All In One this const log = console.log; const arrow_func = (args) => log(`arg ...
- how to design a search component in react
how to design a search component in react react 如何使用 React 设计并实现一个搜索组件 实时刷新 节流防抖 扩展性,封装,高内聚,低耦合 响应式 ...
- yarn global add !== yarn add global
yarn global add !== yarn add global yarn does not exist the --global flag, but exits yarn global com ...