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的属性只能在类里面 方法外面定义 区别于python:python 既能在类里面(类属性) 又能在方法里面定义属性(实例属性)
-
29个android开发常用的类、方法及接口
在安卓开发中,我们常常都需要借助各种各样的方法.类和接口来实现相关功能.提升开发效率,但对于初学者而言,什么时候该用什么类.方法和接口呢?下面小编整理了29个,日常开发中比较常用的类.方法.接口及其应 ...
-
Java基础总结--常用类以及包的访问权限
-----Object---所有类的根类1.怎么得到的:通过对所有对象不断的向上抽取共性,具备所有对象的共性的东西2.常用的方法* equals(Object obj):比较两个对象的引用是否指向同一 ...
-
[ 转载 ] Java基础10--关于Object类下所有方法的简单解析
关于Object类下所有方法的简单解析 类Object是类层次结构的根类,是每一个类的父类,所有的对象包括数组,String,Integer等包装类,所以了解Object是很有必要的,话不多说,我们直 ...
随机推荐
-
Shepherd – 在应用程序中轻松实现引导功能
Shepherd 是一个指导用户使用应用程序的 JavaScript 库.它使用 Tether——另一个开源库,实现所有的步骤.Tether 确保你的步骤不会溢出屏幕或被剪裁.你可以很容易地指导用户使 ...
-
防范ARP网关欺骗, ip mac双向绑定脚本
客户局域网内的一台数据库服务器, 重新安装操作系统后,不能上网了,ping网关192.168.0.1出现在800多ms的响应时间,还会超时丢包,检查了ip,路由配置,都没有问题.通过IE打开路由器管理 ...
-
BZOJ3166: [Heoi2013]Alo
3166: [Heoi2013]Alo Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 394 Solved: 204[Submit][Status] ...
-
VB.NET中vbcr 是回车、vbcrlf 是回车和换行的结合、vblf 是换行
cr 是回车,是到本行的头部 lf 是换行,是到下一行 crlf 是到下一行的头部 vbcrlf=vbcr & vblf Windows 一般使用vbcrlf换行 Unix ...
-
vsftp 虚拟用户
首先安装vsftp db-4wiki mkdir -p /opt/ftp 创建用户 sudo useradd virtual -d /opt/ftp -s /bin/false sudo chown ...
-
java面试题复习(八)
71.如何通过反射创建对象? 方法1:通过类对象调用newInstance()方法,例如:String.class.newInstance() 方法2:通过类对象的getConstructor()或 ...
-
Extjs TreePanel API详解
转自:http://web.qhwins.com/CSS-JS-XML/2011091312092944999107.html config定义{ animate : Boolean, contain ...
-
20145325张梓靖 《Java程序设计》第2周学习总结
20145325张梓靖 <Java程序设计>第2周学习总结 教材学习内容总结 整数 short 2字节,int 4字节,long 8字节 字节 byte 1字节 浮点数 float 4字节 ...
-
python接口测试:自动保存cookies
接口测试中遇到上一个请求返回响应包含cookie(如下图登录请求的响应结果).需将cookies保存下来,后续请求自动带入,否则会提示未登录. python requests的cookie类型是< ...
-
js小数点后保留几位方法:toFixed
(0.22223343534).toFixed(2) 结果:0.22