【笔记】常用 API的基本知识以及常用方法
2017-09-04 10:55
381 查看
public class API{
public static void main(String[] args) {
/*-----------字符串的基本知识------------
/*生成对象的两种方式
String strA = "hello";
String strB = new String("hello");//新定义一块内存
String strC = "hello";//将指针直接指向 strA 已拥有的对象,不用再新定义
/*字符串的两种比较方式
System.out.println(strA == strB);//比较地址
System.out.println(strA.equals(strB));//比较内容(有方法可以忽略大小写->验证码)
System.out.println(strA.compareTo("Hello"));//返回两个字符串中第一个不同字符的 ASCII 编码差(同样可以忽略大小写)使用+可以对字符串进行连接操作
在字符串里面有特殊字符,需要转义字符‘\’
字符串的不可变性。当我们执行修改它的时候,会生成新字符串
/*------------String 常用方法1-------------
/*字符串内容判断:
strA.startWith("he")//判断字符是否以 he 开头/同理还有 endWith
/*字符串查找:
strA.contains("ell")//返回布尔值
strA.indexOf("ell")//返回 ell 在 strA 中的位置
strA.indexOf("ell",3)//跳过前3个字符
strA.lastIndexOf("l")//最后出现l的位置
/*字符串截取:
str.substring(4)//截取从第 4 到末尾的字符
str.substring(4,7) //截取从第 4 到第 7 个字符,即包头不含尾
/*字符串替换:
str.replaceFirst("o","-") //替换第一个 o 为-;
str.replaceAll("o","-") //和 replace 效果一样,但是它符合正则
/*字符串拆分:
str.split("") // 按照标准拆分为数组
str.split("",2) // 指定从头拆分为长度为2的数组
/*获取指定下标的字符
str.charAt(4) // 获取下标为 4 的字符
/*获取字符串的长度
str.length() // 汉字算一个字符,和数组长度的区别,数组是属性,字符串是方法
/*判断字符串是否为空
str.isEmpty() // 返回布尔值(也可用长度和 equals 来判断)
/*把字符串转大小写
str.toUpperCase() // 转为大写
str.toLowerCase() // 转为小写
/*去掉字符串中空格
str.trim() 可以去掉两端的空格
/*字符串连接
+ 最常用
str.concat("!"); //参数为后面要加的字符
/*字符串与其他类型相转换
str.toCharArray() //转换为 char 数组(可检查密码中是否有大小写)
String.valueOf(a) //把对象 a 转化为新字符串
/*-----------------包装类的使用------------------------*/
Byte //字节
Short //短整型
Integer //整型
Long //长整型
Double //双浮点型
Float //浮点型
Character //字符型
Boolean //布尔型
包装类可以表示空,基础类型不能表示空
//装箱操作:将基础数据放置到包装类的过程
int x = 1;
Integer i1 = new Integer(x); //构造方法
Integer i2 = Integer.valueOf(2) //静态方法
//拆箱操作
int r1 = i1.intValue;
double r2 = i1.doubleValue;
*注*
jdk1.5 后可以执行自动装箱和拆箱(也就是不同类型可以混用)
/*包装类的静态属性
Integer.MAX_VALUE //最大值
Integer.MIN_VALUE //最小值
Integer.BYTES //位
Integer.SIXE //int 占用的位
Integer.toBinaryString(int1) //将 int1 转换为二进制数据,以字符串打印
Integer.toHexString(int) //八进制
Boolean.parseBoolean(str) //将 str 转化为 boolean 值(如果 str==“true”,那么就为真)
/*比较
1.看是不是==或 !=来比较的,如果不是,只看内容就行
2.如果是,先看运算符两边是不是对象,如果不都是,比较的也只是内容
3.如果不是,那么看两个引用有没有指向同一个对象
/*--------math 类-----------
/*math 类有 final 所以他不能有子类
Math.PI // π
/*数字舍入
Math.pow(2,3) //次方计算,2的3次方
Math.round(15.5) //四舍五入,得到16,进行整数
Math.round(-15.5) //得到-15对负数进行退位
Math.round(-15.5) //得到-16,以0.5为界
*保留任意位数小数方法*
prublic double accrateRound(double a , int scale){
double temp1 = a * Math.pow(10,scale);
double temp2 = Math.round(temp1);
double result = temp2/Math.pow(10.0,scale);
return result;
}
/*大数字处理
Long.MAX_VALUE // long 的最大表示范围:9223372036854775807
String num1 = "3564566511";
String num2 = "546464646";
BigInteger big1 = new BigInteger(num1);
BigInteger big2 = new BigInteger(num2);
big1.add(big2) //加
big1.subtract(big2) //减
big1.multiply(big2) //乘
big1.divide(big2) //除
BigInteger[] result = big1.divideAndRemainder(big2); //除,并且取余,放在一个数组里
//如果是浮点数(BigDecimal)除法需要重载方法,设定保留小数位数(BigDecimal.ROUND_HALF_UP代表四舍五入)
针对整型小数无法正常表示,可以用大数字来做
*在这做一个浮点乘法方法*
public double accrateMutiply(double a,double b){
String str1 = String.valueOf(a);
String str2 = String.valueOf(b);
BigDecimal big1 = new BigDecemal(str1);
BigDecimal big2 = new BigDecemal(str2);
double result = big1.multiplt(big2).doubleValue();
return result;
}
/*-------Random 类的使用--------
/*创建随机数
Random rd = new Random();
double d = rd.nextDoule(); //范围在0-1之间,可以等于0.
int d1 = rd.nextInt(); //范围是 int 的取值范围
如果有种子(就是构造方法里面的参数),那么产生的数字将固定
可以产生一个随机数数组
1. int[] array = new int[5];
rd.nextInts(array);//可以产生范围为 int 的随机序列
(jdk1.8)2. IntStream is = rd.ints(10,0,100); //产生了一个随机序列,10个,最小值0,小于100。
int[] array = is.toArray(); //转换为数组
/*--------日期时间的学习--------
/*date创建(不提倡使用)
date d1 = new Date(108,7,8,20,0,0)d1.setYear(); // 也可以用
Date d = new Date(); //获得现在的时间
d.getYear() //上面有横线,标示不建议使用。因为他是从1900年当做初始年的
d.getMonth() //有横线,因为月份是从0开始算的
d.getDate() //得到日
d.getHours() //得到时
d.getMinutes() //得到分
d.getSeconds() //得到秒
/*Calendar 创建
Calendar c = Calendar.getInstance();
c.set(2008,7,8,20,8,0);
c.get(Calendar.YEAE); //获得当前的年份
c.get(Calendar.MONTH); //获得当前的月(从0开始)
其余一样
Date d1 = c.getTime(); //将 Calendar 对象赋值给 date;
d1.toString()
/*转换
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
syso(sdf.format(d1));
/*时间戳
d2.getTime() // d2时间到1900.1.1的毫秒数
/*-------集合-----------
/*基本常识
集合中只能存放对象(引用),不能存放基础类型
存到集合中的东西叫做元素
不管集合里面是什么都可以看做是 Object 对象
在使用前都需要将其还原为以前的类型
/*分类
分为三类:列表、映射、集
列表:List
线性、元素致密有序
映射:Map
键值对、键不重复、有自身的排序机制
集:Set
无序、元素不重复
/*实现类
三种集合的接口
List:
ArrayList Vector
LinkesList Stack
Map:
HashTable HashMap
WeakHashMap TreeMap
Set:
HashSet TreeSet
/*---------List集合----------
/*创建
List al = new ArratList();
Dog dog1 = new Dog();
Dog dog2 = new Dog();
/*存放(增)
al.add(dog1);
al.add(dog2);
al.add(2,dog1);//将一个 dog1 插入到02号位置。但不能超出集合长度
/*获取(查)
(al.get(0)得到的是一个 object 对象,需要强制转换)
Dog d1 = (Dog)al.get(0);
/*取代(改)
al.set(2,new Dog(30)); //用 Dog30 取代02处的对象。/*移除(删)
al.remove(2); //移除02号元素。
al.remove(dog1); //移除dog1元素。
/*其他
(和 Vector 可以互换,区别在于线程安全。ArrayList 线程不安全。Vector 线程安全)
al.clear(); //清空集合
al.isEmpty() //判断集合是否为空,返回布尔值
*/
}
}
public static void main(String[] args) {
/*-----------字符串的基本知识------------
/*生成对象的两种方式
String strA = "hello";
String strB = new String("hello");//新定义一块内存
String strC = "hello";//将指针直接指向 strA 已拥有的对象,不用再新定义
/*字符串的两种比较方式
System.out.println(strA == strB);//比较地址
System.out.println(strA.equals(strB));//比较内容(有方法可以忽略大小写->验证码)
System.out.println(strA.compareTo("Hello"));//返回两个字符串中第一个不同字符的 ASCII 编码差(同样可以忽略大小写)使用+可以对字符串进行连接操作
在字符串里面有特殊字符,需要转义字符‘\’
字符串的不可变性。当我们执行修改它的时候,会生成新字符串
/*------------String 常用方法1-------------
/*字符串内容判断:
strA.startWith("he")//判断字符是否以 he 开头/同理还有 endWith
/*字符串查找:
strA.contains("ell")//返回布尔值
strA.indexOf("ell")//返回 ell 在 strA 中的位置
strA.indexOf("ell",3)//跳过前3个字符
strA.lastIndexOf("l")//最后出现l的位置
/*字符串截取:
str.substring(4)//截取从第 4 到末尾的字符
str.substring(4,7) //截取从第 4 到第 7 个字符,即包头不含尾
/*字符串替换:
str.replaceFirst("o","-") //替换第一个 o 为-;
str.replaceAll("o","-") //和 replace 效果一样,但是它符合正则
/*字符串拆分:
str.split("") // 按照标准拆分为数组
str.split("",2) // 指定从头拆分为长度为2的数组
/*获取指定下标的字符
str.charAt(4) // 获取下标为 4 的字符
/*获取字符串的长度
str.length() // 汉字算一个字符,和数组长度的区别,数组是属性,字符串是方法
/*判断字符串是否为空
str.isEmpty() // 返回布尔值(也可用长度和 equals 来判断)
/*把字符串转大小写
str.toUpperCase() // 转为大写
str.toLowerCase() // 转为小写
/*去掉字符串中空格
str.trim() 可以去掉两端的空格
/*字符串连接
+ 最常用
str.concat("!"); //参数为后面要加的字符
/*字符串与其他类型相转换
str.toCharArray() //转换为 char 数组(可检查密码中是否有大小写)
String.valueOf(a) //把对象 a 转化为新字符串
/*-----------------包装类的使用------------------------*/
Byte //字节
Short //短整型
Integer //整型
Long //长整型
Double //双浮点型
Float //浮点型
Character //字符型
Boolean //布尔型
包装类可以表示空,基础类型不能表示空
//装箱操作:将基础数据放置到包装类的过程
int x = 1;
Integer i1 = new Integer(x); //构造方法
Integer i2 = Integer.valueOf(2) //静态方法
//拆箱操作
int r1 = i1.intValue;
double r2 = i1.doubleValue;
*注*
jdk1.5 后可以执行自动装箱和拆箱(也就是不同类型可以混用)
/*包装类的静态属性
Integer.MAX_VALUE //最大值
Integer.MIN_VALUE //最小值
Integer.BYTES //位
Integer.SIXE //int 占用的位
Integer.toBinaryString(int1) //将 int1 转换为二进制数据,以字符串打印
Integer.toHexString(int) //八进制
Boolean.parseBoolean(str) //将 str 转化为 boolean 值(如果 str==“true”,那么就为真)
/*比较
1.看是不是==或 !=来比较的,如果不是,只看内容就行
2.如果是,先看运算符两边是不是对象,如果不都是,比较的也只是内容
3.如果不是,那么看两个引用有没有指向同一个对象
/*--------math 类-----------
/*math 类有 final 所以他不能有子类
Math.PI // π
/*数字舍入
Math.pow(2,3) //次方计算,2的3次方
Math.round(15.5) //四舍五入,得到16,进行整数
Math.round(-15.5) //得到-15对负数进行退位
Math.round(-15.5) //得到-16,以0.5为界
*保留任意位数小数方法*
prublic double accrateRound(double a , int scale){
double temp1 = a * Math.pow(10,scale);
double temp2 = Math.round(temp1);
double result = temp2/Math.pow(10.0,scale);
return result;
}
/*大数字处理
Long.MAX_VALUE // long 的最大表示范围:9223372036854775807
String num1 = "3564566511";
String num2 = "546464646";
BigInteger big1 = new BigInteger(num1);
BigInteger big2 = new BigInteger(num2);
big1.add(big2) //加
big1.subtract(big2) //减
big1.multiply(big2) //乘
big1.divide(big2) //除
BigInteger[] result = big1.divideAndRemainder(big2); //除,并且取余,放在一个数组里
//如果是浮点数(BigDecimal)除法需要重载方法,设定保留小数位数(BigDecimal.ROUND_HALF_UP代表四舍五入)
针对整型小数无法正常表示,可以用大数字来做
*在这做一个浮点乘法方法*
public double accrateMutiply(double a,double b){
String str1 = String.valueOf(a);
String str2 = String.valueOf(b);
BigDecimal big1 = new BigDecemal(str1);
BigDecimal big2 = new BigDecemal(str2);
double result = big1.multiplt(big2).doubleValue();
return result;
}
/*-------Random 类的使用--------
/*创建随机数
Random rd = new Random();
double d = rd.nextDoule(); //范围在0-1之间,可以等于0.
int d1 = rd.nextInt(); //范围是 int 的取值范围
如果有种子(就是构造方法里面的参数),那么产生的数字将固定
可以产生一个随机数数组
1. int[] array = new int[5];
rd.nextInts(array);//可以产生范围为 int 的随机序列
(jdk1.8)2. IntStream is = rd.ints(10,0,100); //产生了一个随机序列,10个,最小值0,小于100。
int[] array = is.toArray(); //转换为数组
/*--------日期时间的学习--------
/*date创建(不提倡使用)
date d1 = new Date(108,7,8,20,0,0)d1.setYear(); // 也可以用
Date d = new Date(); //获得现在的时间
d.getYear() //上面有横线,标示不建议使用。因为他是从1900年当做初始年的
d.getMonth() //有横线,因为月份是从0开始算的
d.getDate() //得到日
d.getHours() //得到时
d.getMinutes() //得到分
d.getSeconds() //得到秒
/*Calendar 创建
Calendar c = Calendar.getInstance();
c.set(2008,7,8,20,8,0);
c.get(Calendar.YEAE); //获得当前的年份
c.get(Calendar.MONTH); //获得当前的月(从0开始)
其余一样
Date d1 = c.getTime(); //将 Calendar 对象赋值给 date;
d1.toString()
/*转换
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
syso(sdf.format(d1));
/*时间戳
d2.getTime() // d2时间到1900.1.1的毫秒数
/*-------集合-----------
/*基本常识
集合中只能存放对象(引用),不能存放基础类型
存到集合中的东西叫做元素
不管集合里面是什么都可以看做是 Object 对象
在使用前都需要将其还原为以前的类型
/*分类
分为三类:列表、映射、集
列表:List
线性、元素致密有序
映射:Map
键值对、键不重复、有自身的排序机制
集:Set
无序、元素不重复
/*实现类
三种集合的接口
List:
ArrayList Vector
LinkesList Stack
Map:
HashTable HashMap
WeakHashMap TreeMap
Set:
HashSet TreeSet
/*---------List集合----------
/*创建
List al = new ArratList();
Dog dog1 = new Dog();
Dog dog2 = new Dog();
/*存放(增)
al.add(dog1);
al.add(dog2);
al.add(2,dog1);//将一个 dog1 插入到02号位置。但不能超出集合长度
/*获取(查)
(al.get(0)得到的是一个 object 对象,需要强制转换)
Dog d1 = (Dog)al.get(0);
/*取代(改)
al.set(2,new Dog(30)); //用 Dog30 取代02处的对象。/*移除(删)
al.remove(2); //移除02号元素。
al.remove(dog1); //移除dog1元素。
/*其他
(和 Vector 可以互换,区别在于线程安全。ArrayList 线程不安全。Vector 线程安全)
al.clear(); //清空集合
al.isEmpty() //判断集合是否为空,返回布尔值
*/
}
}
相关文章推荐
- Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API
- java TCP/IP Socket编程-----基本套接字-----常用API方法解释-----笔记4
- 【Java学习笔记】基础知识学习3【基本循环方法技巧】
- 简析项目中常用的七参数转换法和四参数转换法以及涉及到的基本测量学知识
- 黑马程序员——常用API(StringBuilder和StringBuffer以及基本数据类型包装类)
- Form表单基础知识和常用兼容方法笔记(一)
- FusionCharts JavaScript API - Functions 常用方法整理笔记
- C# Windows Api的一些方法 封装 以及 常用参数 .
- SQlite3基本语法及常用方法(API)
- java常用的数组、字符串、集合操作以及数据结构与算法基本知识
- 多线程学习笔记六-------------线程的消亡以及一些常用方法的介绍
- 【Python_OpenCv】笔记4:python,OpenCv中对图片像素的操作以及图片基本属性的获取方法
- 13 API-常用类(StringBuffer,数组高级以及Arrays,基本类型包装类{Integer,Character})
- javadoc常用的标记以及生成API文档的方法
- Form表单基础知识和常用兼容方法笔记(二)
- C# Windows Api的一些方法 封装 以及 常用参数
- iOS开发笔记——常用API方法
- Form表单基础知识和常用兼容方法笔记(三)
- Objective-C中基本数据烦类型与对象数据类型相互转换的方法(OC中NSString的常用API的基础应用3)
- 学习笔记-java基本类型的包装类,常用方法