1. Arrays数组工具类
package cn.hncu_01;
import java.util.Arrays;
/*
* Arrays:
* 此类包含用来操作数组(比如排序和搜索)的各种方法。
*
* public static String toString(int[] a):把一个数组转成字符串
* public static void sort(int[] a):按从小到大的顺序排序
* public static int binarySearch(int[] a,int key):二分查找(注意:先排序)
*
*/
public class Demo {
public static void main(String[] args) {
int[] a = {11,21,13,42};
//System.out.println(a);
Arrays.sort(a);
System.out.println(Arrays.toString(a));
System.out.println(Arrays.binarySearch(a, 421));
}
}
2. 包装类
package cn.hncu_02;
/*
* 包装类
* java为了对基本数据类型进行更多的操作,就提供了基本类型的包装类.
* byte Byte
* short Short
* int Integer
* long Long
* float Float
* double Double
* char Character
* boolean Boolean
*
* Integer
* 该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,
* 还提供了处理 int 类型时非常有用的其他一些常量和方法。
*
* 构造方法
* public Integer(int value):把int类型数据转成Integer
* public Integer(String s):把String转成Integer
* 注意:这个字符串必须有数字字符组成
*/
public class Demo {
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
}
}
package cn.hncu_02;
/*
* int类型和String类型的相互转换(重点)
* 实现的方法有很多,重点记着下面2个方法
* int – String
* String.valeuOf(int i)
* String – int
* Integer.parseInt(String s)
*/
public class Demo2 {
public static void main(String[] args) {
//int – String
int i = 100;
String s = String.valueOf(i);
System.out.println(s);
//String – int
int i2 = Integer.parseInt(s);
System.out.println(i2);
}
}
package cn.hncu_02;
/*
* 常用的基本进制转换
* public static String toBinaryString(int i)
* public static String toOctalString(int i)
* public static String toHexString(int i)
* 十进制到其他进制
* public static String toString(int i,int radix)
* 其他进制到十进制
* public static int parseInt(String s,int radix)
*/
public class Demo3 {
public static void main(String[] args) {
System.out.println(Integer.toBinaryString(3));
System.out.println(Integer.toOctalString(9));
//26个英文字母+10个数字
System.out.println(Integer.toString(300,36));
System.out.println(Integer.parseInt("111",2));
}
}
3. JDK5的新特性
package cn.hncu_02;
/*
*
*/
public class Demo4 {
public static void main(String[] args) {
int i =100;
i++;
Integer ii = new Integer(100);
Integer iii = 100;//自动装箱:把基本数据类型自动转换成包装类型
iii++;//自动拆箱:把包装类型自动转换成基本类型
}
}
4.Character类
package cn.hncu_03;
/*
* Character
* Character 类在对象中包装一个基本类型 char 的值
* 此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然
*
* public static boolean isUpperCase(char ch):判断ch是否是大写字母
* public static boolean isLowerCase(char ch):判断ch是否是小写字母
* public static boolean isDigit(char ch)::判断ch是否是数字
* public static char toUpperCase(char ch):把ch转成大写字母
* public static char toLowerCase(char ch):把ch转成小写字母
*
* 统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。
*/
public class Demo {
public static void main(String[] args) {
// 1. 定义一个已知的字符串
String s = "asWWa1";
int bigCounte = 0;
int smallCounte = 0;
int digitCounte = 0;
// 2. 遍历这个字符串
for(int i =0; i<s.length(); i++){
char ch = s.charAt(i);
if(Character.isUpperCase(ch)){
bigCounte++;
}else if(Character.isLowerCase(ch)){
smallCounte++;
}else if(Character.isDigit(ch)){
digitCounte++;
}
}
System.out.println("大写字母的个数:" + bigCounte);
System.out.println("小写字母的个数:" + smallCounte);
System.out.println("数字的个数:" + digitCounte);
}
}
5. Math类
package cn.hncu_04;
/*
* Math类
* Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
*
* public static int abs(int a):求绝对值
* public static double ceil(double a):向上取整
* public static double floor(double a):向下取整
* public static int max(int a,int b) min自学:最大值
* public static double pow(double a,double b):a的b次方
* public static double random():随机数 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
* public static int round(float a) 参数为double的自学:四舍五入
* public static double sqrt(double a):求a的平方根
*
* 思考:
* 产生[1-100]的随机数,我希望结果是int
* (int)(100*Math.random())+1
*
* 我要参数任意范围的随机数,怎么办?
* [start,end]
* int(Math.random()*(end-start +1)) + start
*
*/
public class Demo {
public static void main(String[] args) {
/*System.out.println(Math.E);
System.out.println(Math.PI);
System.out.println(Math.ceil(2.1));*/
for(int i=0;i<50;i++){
System.out.println((int)(100*Math.random())+1);
}
}
}
6.Random类
package cn.hncu_05;
import java.util.Random;
/*
* Random类
* 此类的实例用于生成伪随机数流
*
* public Random():创建一个新的随机数生成器 以当前时间为种子
* public Random(long seed): 使用单个 long 种子创建一个新的随机数生成器
* 给定种子后,每次得到的随机数是相同的.所以叫伪随机数
*
* public int nextInt():生成int数据范围的一个整数
* public int nextInt(int n):生成0-n的随机数
*/
public class Demo {
public static void main(String[] args) {
Random random = new Random();
for(int i =0;i<5;i++){
System.out.println(random.nextInt(100));
}
}
}