黑马程序员——java中的常用类
2015-11-06 23:36
459 查看
黑马程序员——java中的常用类
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-一、Object类
Object类特点:Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类。
Object类是Java中唯一没有父类的类。
其他所有的类,包括标准容器类,比如数组,都继承了Object类中的方法。
二、String类
String类的部分方法:获取
获取字符串字符的个数(长度):int length();
根据位置获取字符:char charAt(int index);
根据字符获取在字符串的位置;int indexOf(int ch);
获取字符串中的一部分字符串,叫子串:String substring(int beginIndex,int endIndex);
示例代码:
class Demo { public static void main(String[] args) { String str="你好,世界!"; //输出字符串的长度 System.out.println("字符串的长度:"+str.length()); //获取指定位置的字符 System.out.println("字符串的第1个字符是:"+str.charAt(0)); //获取字符在字符串的位置(角标从0开始) System.out.println("获取“好”在字符串的角标:"+str.indexOf('好')); //获取"你好"子字符串 System.out.println("获取“你好”子字符串:"+str.substring(0,2)); } }
转换
将字符串变成字符串数组(字符串的切割):String[] split(String regex);
将字符串变成字符数组:char[] toCharArray();
将字符串变成字节数组:byte[] getBytes();
将字符串中的字母转成大小写:大写,String toUpperCase();小写,String toLowerCase();
字符串中的内容进行替换:String replace(char oldChar,char newCh);
去除字符串两端的空格:String trim();
将字符串进行连接:String concat();
class Demo { public static void main(String[] args) { String str="Hello World"; //将字符串中的字母全部转为小写 System.out.println(str.toLowerCase()); //将字符串中的字母全部转为大写 System.out.println(str.toUpperCase()); } }
判断
两个字符串内容是否相等:bolean equals(Object obj);
忽略大小写比较字符串内容:boolean equalsIgnoreCase(Object obj);
字符串中是否包含指定字符串:boolean contains(String str);
字符串是否以指定字符开头:boolean startsWith(String str);
字符串是否以指定字符结尾:boolean endsWith(String str);
class Demo { public static void main(String[] args) { String str="boy"; String str1=new String("boy"); //判断字符串的类容是否相同 System.out.println(str.equals(str1)); } }
比较
int compareTo(String str): 如果参数字符串等于此字符串,则返回值0;如果此字符串按字典顺序小于字符串参数,则返回一个小于0的值;如果此字符串按字典顺序大于字符串参数,则返回一个大于0的值。
String intern():当调用intern方法时,如果池已经包含一个等于此String对象的字符串(用equals(Object)方法确定),则返回池中的字符串。否则,将此String对象添加到池中,并返回此String对象的引用。
三、StringBuffer和StringBuilder类
StringBuffer类
StringBuffer:就是字符串缓冲区,用于存储数据的容器。StringBuffer的特点:
长度是可变的。
可以存储不同的类型数据。
最终要转成字符串进行使用。
StringBuffer的部分方法:
添加
StringBuffer append(data);添加数据。
StringBuffer insert(index,data);在指定位置插入指定数据。
删除
StringBuffer delete(int start,int end);包含头,不包含尾。
StringBuffer deleteCharAt(int index);删除指定位置的元素。
查找
char charAt(int index);获取指定位置的数据。
int indexOf(String str);从头部开始查找,获取指定元素的位置。
int lastIndexOf(String str);从尾部开始查找,获取指定元素的位置。
修改
StringBuffer replace(int start,int end,String str); 包含头,不包含尾。
void setCharAt(int index,char ch);修改指定位置的字符。
其他方法
void setLength(int newLength);设置字符序列的长度
public StringBuffer reverse();将字符序列用其反转形式取代
StringBuilder类
StringBuilder: jdk1.5以后出现的功能和StringBuffer一模一样就是StringBuilder。StringBuffer和StringBuilder的不同点:
StringBuffer是线程同步的,通常用于多线程。
StringBuilder是线程不同步的,通常用于单线程,它的出现能够提高程序效率。
四、基本数据类型包装类
定义:将基本数据类型封装成了对象,在对象中定义属性和方法基本类型–>字符串
基本数据值+”“。
用String类中的静态方法ValueOf(基本类型数值)。
字符串–>基本类型
使用包装类中的静态方法xxx parseXxx(“xxx”);
如果字符串被Integer进行对象的封装,可使用另一个非静态的方法,intValue。将一个Integer对象转成基本数据类型值。
Integer in=new Integer(“123”); //字符串被Integer进行对象封装
int i=in.intValue(); //调用intValue方法将Integer类型转成int型
System.out.println(i+1) ;
用Integer的静态方法valueOf(String s):返回值为Integer类型。
十进制–>其他进制方法
转换成二进制:String toBinaryString(int i);
转换成八进制:String toOctalString(int i);
转换成十六进制:String toHexString(int i);
根据radix(基数)转换成其他进制:String toString(int i,int radix);
其他进制–>十进制方法
int parseInt(String s,int radix);
五、Scanner类
定义:一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器,位于java.util包,被final修饰,该类不可以被继承Scanner的基本使用方法:
Scanner(File source) //构造一个新的Scanner,它生成的值是从指定文件扫描的
Scanner(InputStream source) //构造一个新的 Scanner,它生成的值是从指定的输入流扫描的。
Scanner(String source) //构造一个新的Scanner,它生成的值是从指定字符串扫描的。
Scanner类的一般方法
hasNextXxx() 判断是否还有下一个输入项,其中Xxx可以是Int,Double等。如果需要判断是否包含下一个字符串,则可以省略Xxx。
xxx nextXxx() 获取下一个输入项。Xxx的含义和上个方法中的Xxx相同,默认情况下,Scanner使用空格,回车等作为分隔符。
六、枚举类
定义:实例固定且有限的类就在Java中称作枚举类,Java从JDK1.5以后增加了对枚举类(关键字enum 与class、interface关键字的地位相同)的支持。
特点:
非抽象的枚举默认会使用fianl修饰,因此枚举不能派生子类。
枚举类的构造器只能使用private访问控制,若省略默认为private。
其所有实例必须在第一行显示列出,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略。
在switch语句中的可以使用
枚举类的常见方法
int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
int compareTo(E o) 比较此枚举与指定对象的顺序。
String name() 返回此枚举常量的名称,在其枚举声明中对其进行声明。
String toString()返回枚举常量的名称,它包含在声明中。
T valueOf(Class type,String name)返回带指定名称的指定枚举类型的枚举常量。
values() 此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便
七、Math类
Math:提供了操作数学运算的方法,都是静态的。常用方法:
ceil():返回大于参数的最小整数。
floor():返回小于参数的最大整数。
round():返回四舍五入的整数。
pow(a,b):a的b次方。
示例:
代码:
import java.util.*; class MathDemo { public static void main(String[] args) { double d1=Math.ceil(12.56); double d2=Math.floor(12.56); double d3=Math.round(12.56); //输出大于12.56的最小整数 System.out.println(d1); //输出小于12.56的最大整数 System.out.println(d2); //输出12.56四舍五入的整数 System.out.println(d3); } }
输出结果:
相关文章推荐
- java常见面试题及三大框架面试
- Java工程师三大框架面试题汇总
- 黑马程序员——OC基础---Foundation之字典
- 2015年360公司面试
- 黑马程序员——OC基础---Foundation之数组
- 一个大四学生眼中的顶尖程序员是什么样子的?
- Java程序员进化为架构师掌握的知识
- String s=new String("abc")产生了几个对象?[权威面试版]
- 【小松教你手游开发】【面试必读(编程基础)】.NET垃圾回收:原理浅析
- 【小松教你手游开发】【面试必读(编程基础)】堆和栈的区别
- 《Java程序员面试宝典(第4版)》 试读感想
- Java面试题--沙袋装箱问题
- J2EE程序员需掌握的技术
- 技术面试那点事情儿
- 程序员常去的14个顶级开发社区
- 嵌入式软件工程师前期职业生涯规划
- 给程序员的五点建议--如何成为编程高手并以此创业
- 这些 iOS 面试基础题目,你都深入了解吗?
- 程序员的七宗罪,你犯错了吗
- 黑马程序员——OC基础---Foundation框架之结构体