`
crazywen2011
  • 浏览: 38811 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java SE 基础精华之深入javaAPI

    博客分类:
  • Java
阅读更多

1     JAVA SE. 3

1.1      深入JAVA API3

1.1.1       Lang... 3

 位于java.lang包中,这个包中的类使用时不用导入。

String类一旦初始化就不可以改变,而stringbuffer则可以。它用于封装内容可变的字符串。它可以使用tostring()转换成string字符串。

String x=”a”+4+”c”编译时等效于String x=new StringBuffer().append(“a”).append(4).append(“c”).toString();

字符串常量是一种特殊的匿名对象,String s1=”hello”;String s2=”hello”;s1==s2;因为他们指向同一个匿名对象。

如果String s1=new String(“hello”);String s2=new String(“hello”);s1!=s2;


/*逐行读取键盘输入,直到输入为“bye”时,结束程序
 注:对于回车换行,在windows下面,有'\r'和'\n'两个,而unix下面只有'\n',但是写程序的时候都要把他区分开*/
public class Readline {
	public static void main(String args[]) {
		String strInfo = null;
		int pos = 0;
		byte[] buf = new byte[1024];// 定义一个数组,存放换行前的各个字符
		int ch = 0; // 存放读入的字符
		System.out.println("Please input a string:");
		while (true) {
			try {
				ch = System.in.read(); // 该方法每次读入一个字节的内容到ch变量中。
			} catch (Exception e) {
			}
			switch (ch) {
			case '\r': // 回车时,不进行处理
				break;
			case '\n': // 换行时,将数组总的内容放进字符串中
				strInfo = new String(buf, 0, pos); // 该方法将数组中从第0个开始,到第pos个结束存入字符串。
				if (strInfo.equals("bye")) // 如果该字符串内容为bye,则退出程序。
				{
					return;
				} else // 如果不为bye,则输出,并且竟pos置为0,准备下次存入。
				{
					System.out.println(strInfo);
					pos = 0;
					break;
				}
			default:
				buf[pos++] = (byte) ch; // 如果不是回车,换行,则将读取的数据存入数组中。
			}
		}
	}
}

 String类的常用成员方法

1、   构造方法:

    String(byte[] byte,int offset,int length);这个在上面已经用到。

2、    equalsIgnoreCase:忽略大小写的比较,上例中如果您输入的是BYE,则不会退出,因为大小写不同,但是如果使用这个方法,则会退出。

3、   indexOf(int ch);返回字符ch在字符串中首次出现的位置

4、   substring(int benginIndex);

5、   substring(int beginIndex,int endIndex);

返回字符串的子字符串,4返回从benginindex位置开始到结束的子字符串,5返回beginindexendindex-1之间的子字符串。

    基本数据类型包装类的作用是:将基本的数据类型包装成对象。因为有些方法不可以直接处理基本数据类型,只能处理对象,例如vectoradd方法,参数就只能是对象。这时就需要使用他们的包装类将他们包装成对象。

   

/**
 * 例:在屏幕上打印出一个*组成的矩形,矩形的宽度和高度通过启动程序时传递给main()方法的参数指定。
 * 
 * @author administrator
 * 
 */
public class Rectangular {

	public static void main(String[] args) {
		int length = new Integer(args[0]).intValue();
		int width = Integer.parseInt(args[1]);
		// int width = Integer.valueOf(args[1]).intValue();
		// 以上为三种将字符串转换成整形的方法。
		System.out.println("lenght:" + length + "\nwidth:" + width);
		for (int i = 0; i < width; i++) {
			StringBuffer sb = new StringBuffer(); // 使用stringbuffer,是因为它是可追加的。
			for (int j = 0; j < length; j++) {
				sb.append('*');
			}
			System.out.println(sb.toString()); // 在打印之前,要将stringbuffer转化为string类型。
		}
	}

}

 比较下面两段代码的执行效率:

//1.
		String sb = new String();
		for (int j = 0; j < width; j++) {
			sb = sb + '*';
		}
		//2.
		StringBuffer sb = new StringBuffer();
		for (int j = 0; j < width; j++) {
			sb.append('*');
		}

 

(1)     (1和(2)在运行结果上相同,但效率相差很多。

(1) 在每一次循环中,都要先将string类型转换为stringbuffer类型,然后将‘*’追加进去,然后再调用tostring()方法,转换为string类型,效率很低。

(2)   在没次循环中,都只是调用原来的那个stringbuffer对象,没有创建新的对象,所以效率比较高。

   System类与Runtime类:

    由于java不支持全局函数和全局变量,所以java设计者将一些与系统相关的重要函数和变量放在system类中。

我们不能直接创建runtime的实例,只能通过runtime.getruntime()静态方法来获得。

 

/**
 * 在java程序中启动一个windows记事本程序的运行实例,并在该运行实例中打开该运行程序的源文件,启动的记事本程序5秒后关闭。
 * 
 * @author administrator
 * 
 */
public class Property {

	public static void main(String[] args) {

		Process p = null;
		try {
			p = Runtime.getRuntime().exec("notepad.exe Property.java");
		} catch (Exception e) {
			System.out.println(e);
		}
		try {
			Thread.sleep(5000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		p.destroy();

	}

}

 

 

分享到:
评论

相关推荐

    Java SE 7 API文档

    Java SE 7 API文档。jdk7 API文档。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向...

    java SE 6 API chm

    java SE 6 API chmjava SE 6 API chm

    Java SE基础 API代码练习 Java学习资料

    Java SE基础 API代码练习 Java学习资料

    java se 7 api chm

    java se 7 api chm english so salasala ~~yi ya ~~

    (超赞)JAVA精华之--深入JAVA API

    1.1 深入JAVA API 1.1.1 Lang包 1.1.2 集合类 1.1.2.1.1 日期类Date 1.1.2.1.2 日历类Calendar 1.1.2.1.3 随机数类Random 1.1.2.1.4 向量类Vector 1.1.2.1.5 栈类Stack 1.1.2.1.6 哈希表类Hashtable 1.1.2.1.7 ...

    JAVA SE API HELP

    JAVA SE API HELP TEXT.HELP YOU LEARN JAVA SE

    java se 5.0 中文api chm

    java se 5.0 中文api chm

    Java SE 8 API

    也可以自己去官网下载自己需要的API 下载的地址 http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html 选择 Accept License Agreement 就可以下载了

    JavaAPI文档中文版

    JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI...

    JAVA SE6.0 API文档

    JAVA SE6.0 API文档

    JAVA api 汉化版

    JAVA api JAVA api 汉化版JAVA api JAVA api 汉化版JAVA api JAVA api 汉化版JAVA api JAVA api 汉化版JAVA api JAVA api 汉化版JAVA api JAVA api 汉化版JAVA api JAVA api 汉化版

    JAVA SE 6.0 中文版 API 手册

    JAVA SE 6.0 中文版 API 手册 此文件为CHM格式,中文版的JAVA SE API 手册

    Java SE5.0中文 api.chm

    Java SE5.0中文 api.chm

    java SE java EE API

    java SE java EE API

    Java SE 8_API

    有一些类虽然不像集合、多线程、网络编程中的类那样属于Java中的核心类,但是它们在开发过程中给我们带来很多便利,多看下API文档

    Java SE 7 的API

    Java 7的去年的API,原来是HTML的,做了一个CHM文件,供大家参考。

    Java SE编程入门教程 java 常用API(共22页).pptx

    Java SE编程入门教程 java 常用API(共22页).pptx Java SE编程入门教程 javaGUI编程快速入门(1)(共82页).pptx Java SE编程入门教程 java包装器(共9页).pptx Java SE编程入门教程 java反射机制(共16页).pptx ...

    JAVA精华版深入API

    java精华版,深入API,深入程序开发语言

    Java2 SE 中文版API.rar

    Java SE Platform 软件包 java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含用于创建用户界面和绘制图形图像的所有类。 java.awt.color 提供用于颜色空间的类。 ...

    java api 操作手册

    JAVA SE API 1.8中文手册|JAVA SE API1.8中文文档|JAVA SE API1.8中文说明。Google机翻+人工校对。如果出现打不开的情况,请右击-属性-安全-解除锁定。

Global site tag (gtag.js) - Google Analytics