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

java API学习记录

 
阅读更多
API(ApplicationProgrammingInterface)



1.String和StringBuffer类位于java.lang中

Stringx="a"+4+"c";

字符串常量实际上就是一种特殊的匿名String对象

System.in.read();可以从键盘读取一个字节,需要捕捉IOException异常


[code="java"]publicclassReadLine
{
publicstaticvoidmain(String[]args)
{
byte[]buf=newbyte[1024];
StringstrInfo=null;
intpos=0;
intch=0;
while(true)
{
try{
ch=System.in.read();
}catch(IOExceptione){
e.printStackTrace();
}
switch(ch)
{
case'/r':
break;
case'/n':
strInfo=newString(buf,0,pos);
if(strInfo.equals("bye"))
{
return;
}
else
{
System.out.println(strInfo);
pos=0;
break;
}
default:
buf[pos++]=(byte)ch;
break;
}
}
}
}


构造方法:String(byte[]bytes,intoffset,intlength)

indexOf(intch)方法:用于返回字符在字符串首次出现的位置,没有返回-1

Substring(intbeginIndex,intendIndex):返回其间的字符

toString():返回一个String类型对象

2.基本数据类型的对象包装类

许多方法中都使用了Object对象,如果需要使用这样的方法就必须使用包装类

第三种方法与前两种不同的是第三种方法转换之后是一个Integer类型

集合类用于存储一组对象,其中每个对象称之为元素,经常会用到的 Vector,Enumeration,ArrayList,Collection,lterator,Set,List等

如果不能预先确定预先要保存的对象的数目,或者需要方便获得某个对象的存放 位置时,可以选择Vector类

[code="java"]publicclassTestVector
{
@SuppressWarnings("unchecked")
publicstaticvoidmain(Stringargs[])
{
Vectorv=newVector();
intb=0;
System.out.println("pleaseenternumber:");
while(true)
{
try{
b=System.in.read();
}catch(IOExceptione){
e.printStackTrace();
}
if(b=='/r'||b=='/n')
{
break;
}
else
{
intnum=b-'0';
v.addElement(newInteger(num));
//向Vector对象中加入这个整数对象
}
}
intsum=0;
Enumeratione=v.elements();
//v.elements()返回一个Enumeration接口对象
while(e.hasMoreElements()){//如果还有元素,指示器将返回true
IntegerintObj=(Integer)e.nextElement();
//nextElement()返回的是一个对象
//返回指示器正在指向的那个对象,并将指示器指向下一个对象
sum+=intObj.intValue();
//intValue可以把Integer对象转换为int类型
}
System.out.println(sum);
}
}

(2).Collection接口与Iterator接口


[code="java"]importjava.io.IOException;
importjava.util.ArrayList;
importjava.util.Iterator;

publicclassTestCollection
{
@SuppressWarnings("unchecked")
publicstaticvoidmain(Stringargs[])
{
ArrayListv=newArrayList();
intb=0;
System.out.println("pleaseenternumber:");
while(true)
{
try{
b=System.in.read();
}catch(IOExceptione){
e.printStackTrace();
}
if(b=='/r'||b=='/n')
{
break;
}
else
{
intnum=b-'0';
v.add(newInteger(num));
//向ArrayList对象中加入这个整数对象
}
}
intsum=0;
Iteratore=v.iterator();
//v.iterator()返回一个Enumeration接口对象
while(e.hasNext()){//如果还有元素,指示器将返回true
IntegerintObj=(Integer)e.next();
//next()返回的是一个对象
//返回指示器正在指向的那个对象,并将指示器指向下一个对象
sum+=intObj.intValue();
//intValue可以把Integer对象转换为int类型
}
System.out.println(sum);
}
}

以下是JDK文档中的提示:

(3).Collection,Set,List区别:

Collection各对象之间没有指定的顺序,允许有重复元素和多个null元素对象

List各元素对象之间有指定顺序,允许重复对象,和多个null元素对象

[code="java"]importjava.util.ArrayList;
importjava.util.Collections;
publicclassTestSort
{
@SuppressWarnings("unchecked")
publicstaticvoidmain(String[]args)
{
ArrayListal=newArrayList();
al.add(newInteger(1));
al.add(newInteger(3));
al.add(newInteger(2));
System.out.println(al.toString());
Collections.sort(al);//用来操作集合类对象
System.out.println(al.toString());
}
}

(4).Hashtable类

代码如下:

[code="java"]importjava.util.Enumeration;
importjava.util.Hashtable;

publicclassHashtableTest
{
@SuppressWarnings("unchecked")
publicstaticvoidmain(String[]args)
{
Hashtablenumbers=newHashtable();
numbers.put(newMyKey("zhangsan",18),newInteger(1));
numbers.put(newMyKey("lisi",15),newInteger(2));
numbers.put(newMyKey("wangwu",20),newInteger(3));
Enumeratione=numbers.keys();
//取出所有关键字的集合(Integer)
while(e.hasMoreElements()){
MyKeykey=(MyKey)e.nextElement();
System.out.print(key.toString()+"=");
//key隐式的调用toString方法,可以直接写成key...
System.out.println(numbers.get(key));
//这里的key是直接从hastable里面取出来的,不用再比较了
//key是hastable的一部分,这样检索比较方便
}
System.out.println(numbers.get(new MyKey("zhangsan",18))); }
}
publicclassMyKey
{
privateStringname=null;
privateintage=0;
publicMyKey(Stringstring,inti){
this.name=string;
this.age=i;
}
publicStringtoString()
{
returnname+","+age;
}
//equals方法,hashCode方法并不是被程序调用的,而是被get方法调用
//numbers.get(key)
publicbooleanequals(Objectobj)
{
if(objinstanceofMyKey)
{
MyKeyobjTemp=(MyKey)obj;
if(name.equals(objTemp.name)&&age==objTemp.age)
{
return true;
}
else
{
return false;
}
}
else{
returnfalse;
}
}
publicinthashCode(){
returnname.hashCode()+age;
}
}

(5).Properties类是Hashtable的子类

示例代码:

#Programisused:

count=0

[code="java"]importjava.util.Properties;
importjava.io.*;

publicclassPropertiesFile
{
publicstaticvoidmain(Stringargs[])
{
Propertiessettings=newProperties();
try{
settings.load(newFileInputStream("C://Users//姜康 //Desktop//java//count.txt"));
}catch(IOExceptione){
e.printStackTrace();
settings.setProperty("count",String.valueOf(0));
System.out.println("!!");
}
//settings.get("count");需要转换成字符串
intc=Integer.parseInt(settings.getProperty("count"))+1;
//getProperty直接得到一个字符串
System.out.println("这个第"+c+"次运行");
//settings.put("count",newInteger(c).toString());
//Integer(c).toString()把整数类型转换为string类型
//put方法可以接收非字符串对象做参数,setProperty只能是字符串
settings.setProperty("count",newInteger(c).toString());
try{
settings.store(newFileOutputStream("C://Users//姜康 //Desktop//java//count.txt"),"Programisused:");
}catch(IOExceptione){
System.out.println(e.getMessage());
}
//把properties属性列表加入到输出流中,第二个参数是设置标题
}
}
(6).System与Runtime类

JVM的系统属性

Runtime类

不能通过new来创建Runtime

实例程序:

[code="java"]importjava.util.*;
publicclassTestProperties、
{
@SuppressWarnings("unchecked")
publicstaticvoidmain(String[]args)
{
Propertiessp=System.getProperties();
Enumeratione=sp.propertyNames();
while(e.hasMoreElements())
{
Stringkey=(String)e.nextElement();
System.out.println(key+"="+sp.getProperty(key));
}
}
}
下面一个例子是打开一个文件,然后几秒钟后关闭

[code="java"]packageapi.test;
importjava.io.IOException;
importjava.util.*;

publicclassTestProperties
{
@SuppressWarnings("unchecked")
publicstaticvoidmain(String[]args)
{
//Process为一个类,代表JVM启动的一个子线程
Processp=null;
try{
p = Runtime.getRuntime().exec("notepad.exeC://Users// 姜康//Desktop//java//Test.java");
}catch(IOExceptione1){
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}
try{
Thread.sleep(5000);
}catch(InterruptedExceptione1){
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}
p.destroy();
}
}

(7).与日期和时间有关的类

Calendar类:add()方法

Set()方法修改年月日...

GregorianCalendar子类



@SuppressWarnings("static-access")

Calendarc1=Calendar.getInstance();

System.out.print(c1.get(c1.YEAR)+"年"+c1.get(c1.MONTH)+"月"+c1.get(Calendar.DAY_OF_MONTH)+"日");

c1.add(c1.DAY_OF_YEAR,315);

System.out.println(c1.get(c1.HOUR)+":"+c1.get(c1.MINUTE)+":"+c1.get(c1.SECOND));

}



[code="java"]importjava.util.Date;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
publicclassTestCalendar
{
publicstaticvoidmain(String[]args)
{
SimpleDateFormatsdf1=new
SimpleDateFormat("yyyy-mm-dd");
SimpleDateFormatsdf2=new
SimpleDateFormat("yyyy年mm月dd");
Dated=null;
try
{
d=sdf1.parse("2003-03-15");
}catch(ParseExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
System.out.println(sdf2.format(d));
//用于把指定对象的值输出
}
}
(8).Timer/TimerTask类

与每个Timer对象相对应的是单个后台线程,用于顺序地执行所有计时器任务。计时器任务应该迅速完成。如果完成某个计时器任务的时间太长,那么它会“独占”计时器的任务执行线程。因此,这就可能延迟后续任务的执行,而这些任务就可能“堆在一起”,并且在上述令人讨厌的任务最终完成时才能够被快速连续地执行。

Schedule(TimerTasktask,longdelay)

TimerTask实现Runable接口,要执行的任务由它里面实现的run方法完成

[code="java"]importjava.util.Timer;
importjava.util.TimerTask;
publicclassTestTimer{
publicstaticvoidmain(Stringargs[])
{
//使用匿名对象来完成,无法访问到Timer对象
/*newTimer().schedule({
//需要覆盖子类的run方法
publicvoidrun(){
try{
Runtime.getRuntime().exec("calc.exe");
}catch(Exceptione){
e.printStackTrace();
}
}
},1000);*/
//结束任务线程的代码
Timertm=newTimer();
tm.schedule(newMyTimerTask(tm),3000);
}
}
classMyTimerTaskextendsTimerTask{
@SuppressWarnings("unused")
privateTimertm=null;
//传递过来的是tm对象
publicMyTimerTask(Timertm){
this.tm=tm;
}
publicvoidrun(){
try{
Runtime.getRuntime().exec("calc.exe");
}catch(Exceptione){
e.printStackTrace();
}
tm.cancel();
//可以结束线程
}
}

(9).Math与Random类

Random类是一个伪随机数产生器

分享到:
评论

相关推荐

    javaAPI学习总结

    Java API 学习总结 Java 是一种广泛使用的面向对象的编程语言,它的API(Application Programming Interface)提供了大量的类和接口,使得开发者能够高效地构建各种应用程序。本文将重点关注Java的基础知识,特别是...

    KETTLE JAVA API学习

    以下是对Kettle Java API学习的重要知识点的详细说明: 1. **Kettle核心概念**: - **转换(Transformation)**:Kettle的核心工作单元,用于定义一系列数据处理步骤,每个步骤之间可以有数据流连接。 - **作业...

    Java学习常用API

    在这个“Java学习常用API”中,我们可能会涵盖以下关键知识点: 1. **基础类库**: - **String类**:用于处理文本字符串,提供了大量的操作方法如concat、substring、indexOf等。 - **ArrayList和LinkedList**:...

    Java基础 学习笔记 Markdownr版

    本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...

    面向对象大胆向前 Java API 实战-Markdown格式的笔记

    通过这份笔记的学习,开发者不仅能掌握Java API的基本用法,还能了解到如何在实际项目中运用这些知识,解决复杂问题。对于提升面向对象编程能力,理解Java API的内部工作原理,以及进行更高效、更可靠的编程实践具有...

    sapBI-javaApi学习大全

    在"**sapBI-javaApi学习大全**"这个资源中,很可能包含了详细的教程、实例代码、最佳实践和常见问题解答,帮助学习者全面掌握如何利用Java API与SAP BI系统进行交互。通过深入学习,开发者将能够创建定制化的数据...

    java学习笔记markdown

    【Java学习笔记Markdown版】是针对Java初学者和进阶者的一份详尽教程,以Markdown格式编写,便于阅读和整理。Markdown是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML...

    JAVA常用API文档 中文完整版.zip

    这份中文完整版的Java API文档不仅包含上述知识点的详细说明,还包括了每个类的构造函数、方法、常量的描述,以及实例代码和异常信息,对于学习和查阅Java相关知识非常有帮助。开发者可以通过阅读和理解这些API,...

    JavaAPI文档中文版

    Java API文档是Java开发者不可或缺的参考资料,它详细记录了Java平台标准版(Java SE)中的所有公共类、接口、枚举、注解等组件。这个中文版的文档为中国的Java开发者提供了极大的便利,免去了语言障碍,使得学习和...

    tm1的javaapi(tm1 development for java用的着)

    8. **Javadoc**:JAVADOC文件通常包含API的所有公共类、方法和接口的详细文档,是学习和使用TM1 Java API的重要资源。通过阅读Javadoc,开发者可以快速了解每个方法的作用,参数含义,以及可能抛出的异常。 在实际...

    javaapi.rar_Javaapi _javaAPI文档

    "javaapi.rar_Javaapi_javaAPI文档"这个压缩包显然包含了关于Java API的中文版文档,这对于中文环境下的Java开发者来说是一个非常宝贵的资源。 "j2se5.0CN.chm"文件很可能是Java 2 Standard Edition(J2SE)5.0的...

    Java 学习笔记Java学习笔记

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。

    Java JDK7学习笔记-光盘

    《Java JDK7学习笔记》是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习java时遇到的概念、操作、应用或认证考试等问题及解决方案。《Java JDK7学习笔记》针对java se 7新功能全面改版,无论是章节架构...

    JavaAPI文档-在线和离线JavaAPI

    Java API文档是Java开发者不可或缺的工具,它详细记录了Java平台标准版(Java SE)的各种类库、接口和方法,提供了全面的编程指南和技术规范。本资料包包含了Java6、Java7、Java8以及Java9四个主要版本的在线和离线...

    javaapi合集

    同时,"新建文本文档.txt"可能是某个开发者留下的笔记或记录,虽然在这个问题中没有具体提及其内容,但通常这种文本文件可能会包含一些个人的学习心得、代码片段或是对API的特定理解和使用技巧。

    javaAPI文档.rar

    这份"javaAPI文档.rar"压缩包文件包含了Java 1.6版本的官方API文档,这在Java编程中具有重要的参考价值。 API(Application Programming Interface)是一系列预先定义的函数,允许开发者使用特定功能或执行特定任务...

    Java API 6.0(中文版),开发手册

    Java API 6.0(中文版)开发手册是Java开发者不可或缺的重要参考资料,它详细记录了Java SE 6.0版本中的各种类库、接口、方法和异常,为开发者提供了全面的编程指南。这个中文版的文档使得国内的开发者能够更方便地...

    JAVA全套API手册整理.zip

    通过深入学习和熟练使用Java API,开发者可以更好地掌握Java编程技巧,提高开发效率,减少错误,提升代码质量。在阅读和使用手册时,建议结合实际项目进行实践,将理论知识转化为实际技能。同时,理解API的设计理念...

    Java学习笔记(源码)

    【Java学习笔记(源码)】是一份详细记录了Java编程语言学习过程的资源集合,包含实际的源代码示例。这份笔记旨在帮助初学者和有一定经验的开发者深入理解和掌握Java语言的核心概念、语法以及常见应用。以下是笔记中...

    Java API文档正式中文版

    Java API文档是Java开发者不可或缺的参考资料,它详细记录了Java平台标准版(Java SE)的所有类、接口和方法。这份“Java API文档正式中文版”为CHM(Compiled Help Manual)格式,使得中国开发者能够更加方便地阅读...

Global site tag (gtag.js) - Google Analytics