JAVA笔记大全(非常难得)

JAVA笔记大全(非常难得)
JAVA笔记大全(非常难得)

JDBC

java -version查看JAVA版本

JDBC一套允许Java同一个SQL数据库对话的程序设计接口.

JDBC是执行SQL语句的API,其本身是一个产品的商标名.它由一组用Java语言编写的类与接口组成。JDBC已成为一种供工具/数据库开发者使用的标准API,用户可以用纯Java API来编写数据库应用程序。使用JDBC可以很容易地把SQL语句传送到任何关系型数据库中。

JDBC是用于将Java程序和关系数据库连接起来的程序接口,通过这个接口,使用户可以将访问请求语句以SQL语句的形式编写出来,然后将该程序接口传送到数据库,结果再由同一个接口返回JDBC力求达到SQL级API,这就意味着JDBC允许用户建立SQL语句,并将其嵌入到Java API 调用中,即为Java定义一个“调用级”(Call-level)的SQL接口

JDBC API被描述成一组抽象的Java接口,使得应用程序可以对某个数据库打开连接,执行SQL 语句,并且处理结果。

JDBC是一组由驱动程序实现的Java接口。驱动程序负责从标准JDBC调用向支持的数据库所要的具体调用转变

每个JDBC应用程序(或小程序)至少要有一个JDBC驱动程序,每个驱动程序是针对一种DBMS 的。但驱动程序不必直接连到数据库

JDBC接口分为两个层次,一个是面向程序开发人员的应程序层(JDBC API),开发人员用API 通过SQL调用数据库和取得结果。另外一个是底层的驱动程序层(JDBC Driver API),处理与具体驱动程序版本的所有通信

java.sql包括了所有的JDBC API

java.sql.DriverManager 负责处理驱动程序的调入并且对产生新的数据库连接提供支持

java.sql.Connection 代表对特定数据库的连接

java.sql.Statement 代表一个特定的容器,用来对一个特定的数据库执行SQL语句

java.sql.ResultSet 控制对一个特定语句行数据的存取

其中java.sql.Statement又有两个子类型:

java.sql.PreparedStatement 用于执行预编译的SQL语句

java.sql.CallableStatement 用于执行对一个数据库内嵌过程的调用

JDBC提供了连接数据库的几种方法:直接通信、通过JDBC驱动程序通信、通过ODBC通信(JDBC通过JDBC-ODBC桥与ODBC数据源相连)

基本的JDBC数据库访问流程:

1.建立数据源:这里所建的数据源是指建立ODBC数据源。这一点是ODBC所必须的。当我们使用JDBC-ODBC桥来建立连接时,必须先建立ODBC数据源

2.装入JDBC驱动程序:加载驱动程序的操作只需要一句代码。如果class name是jdbc.DriverXYZ,那么就把代码写成:Class.forName("jdbc.DriverXYZ");对于JDBC-ODBC 桥来说,如果class name是sun.jdbc.odbc.JdbcOdbcDriver,实际代码可写成Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")(sun.jdbc.odbc是JDBC-ODBC桥的驱动

程序所在的程序包,根据开发环境不同可能不同)

3.建立连接:与数据库建立连接的标准方法是调用方法DriverManager.getConnection(String url,String user,String password)。DriverManager 类用于处理驱动程序的调入并且对新的数据库连接提供支持,它位于JDBC的管理层,通过该类,能够连到由URL表示的数据库的驱动程序。JDBC URL的标准语法是:jdbc::,其中subprotocol说明了使用哪种JDBC驱动程序,比如若是用的是JDBC-ODBC桥,就写为"odbc",若使用的是Sybase的JDBC驱动程序,就写"Sybase";subname则为驱动程序提供了连接数据库所需要的一切信息,比如jdbc:Sybase://jdbcstudy:4233/db_books,表示使用sybase JDBC驱动程序,且连接安装在名为jdbcstudy的服务器的4233端口的db_books数据库中。对于JDBC-ODBC桥来说,subname就是数据源名。为了存取数据,还要提供用户名和口令。

例如:

String url="jdbc:odbc:source";

Connection con=DriverManager.getConnection(url,"user","password");

4.执行SQL语句:JDBC提供了Statement类来发送SQL语句,Statement类的对象用createStatement方法创建;SQL语句发送后,返回的结果通常存放在一个ResultSet类的对象中,ResultSet可以看作是一个表,这个表包含由SQL返回的列名和相应的值,ResultSet对象中维持了一个指向当前行的指标,通过一系列的getXXX方法,可以检索当前行的各个列,并显示出来

5.检索结果:对Result对象进行处理后,才能见查询结果显示给用户。Result对象包括一个由查询语句返回的一个表ResultSet,这个表中包含所有的查询结果。对Result对象的处理必须逐行进行,ResultSet.next方法使指针下移一行。而对每一行中的各个列,则可以按任何顺序进行处理。Result类的getXXX方法可将结果集中的SQL数据类型转换为Java数据类型,如getInt、getString、getTime等

6.关闭连接:对象使用完毕后,应当关闭连接

执行一个数据库调用不外乎就是创建一个Statement类(通过Connect接口),并通过该类的execute方法来实现。用executeQuery()方法返回一个ResultSet,而executeUpdate()方法返回UPDATE、INSERT或DELETE语句所影响的行数

缺省情况下,JDBC在每一个SQL语句被送到数据库时才提交这些语句,这被称为“自动提交”。实际上,为了使程序能够更好地进行错误处理,我们可以常见一个Connection对象,用以保证在未提交之前,数据库不会有任何改变,每一个Connection对象都是独立的,某一个该对象中的提交操作都不会对其他的对象造成影响。Connection类提供了setAutoCommit()方法,使得我们可以关闭“自动提交”

import java.sql.*

import java.awt.*

public class Jdbcexp

{

public static void main(String[] args)

{

String URL="jdbc:odbc:source";//source是ODBC数据源

Connection con=null;//public interface Connection:A connection (session) with a specific database. SQL statements are executed and results are returned within the context of a connection.

Statement sm=null;//public interface Statement:The object used for executing a

static SQL statement and returning the results it produces.

ResultSet rs=null;//public interface ResultSet:A table of data representing a database result set, which is usually generated by executing a statement that queries the database.

try

{ //加载JDBC-ODBC bridge驱动程序

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//public final class Class:Instances of the class Class represent classes and interfaces in a running Java application;static Class forName(String className):Returns the Class object associated with the class or interface with the given string name.

}

catch(Exception e)

{

System.out.println("无法加载JDBC-ODBC bridge驱动程序");

return;

}

//与数据库连接并显示

try

{

con=DriverManager.getConnection(URL);//public class DriverManager:When the method getConnection is called, the DriverManager will attempt to locate a suitable driver from amongst those loaded at initialization and those loaded explicitly using the same classloader as the current applet or application;static Connection getConnection(String url):Attempts to establish a connection to the given database URL.

sm=con.createStatement();//Statement createStatement():Creates a Statement object for sending SQL statements to the database.

//执行SQL语句并显示

rs=sm.executeQuery("SELECT * FROM authors WHERE au_id>20000000");// ResultSet executeQuery(String sql):Executes the given SQL statement, which returns a single ResultSet object.

System.out.println("结果为:");

while(rs.next())//boolean next():Moves the cursor down one row from its current position.

{

//取各个字段的值

int au_id=rs.getint(1);//int getInt(int columnIndex):Retrieves the value of the designated column in the current row of this ResultSet object as an int in the Java programming language.

String au_name=rs.getString(2);// String getString(int columnIndex):Retrieves the value of the designated column in the current row of this ResultSet object as a String in the Java programming language.

String phone=rs.getString(3);

System.out.println("au_id="+au_id);

System.out.println("au_name="+au_name);

System.out.println("phone="+phone);

}

}

catch(SQLException e)

{}

finally//在finally作用范围内的代码块中的语句不管怎样都必须执行。当程序运行中发生异常时,方法中的执行流程将被中断,赭石它就会跳过一些语句,过早地从程序中退出。但是,在本例中,即使发生了异常使程序中断,也还是希望数据库连接能被正常关闭

{

try

{

//关闭对象

rs.close();

sm.close();

//关闭连接

con.close();

}

catch(SQLException e)

{}

}

}

}

----------------------------------------------------------------------------------------------- import java.sql.*

import java.awt.*

public class Jdbcexp1//不固定URL、用户名和口令,而是把它们作为参数,在程序执行的时候由用户输入

{

public static void main(String[] args)

{

String URL="jdbc:odbc:source";//source是ODBC数据源

Connection con=null;

if(args.length!=4)

{

//要求输入参数

System.out.println("语法:java Jdbctexp"+"DRIVER URL UID PASSWORD");

}

try

{ //加载JDBC驱动程序

Class.forName(args[0]);

}

catch(Exception e)

{

System.out.println("无法加载JDBC-ODBC bridge驱动程序");

return;

}

//与数据库连接并显示

try

{

con=DriverManager.getConnection(args[1],args[2],args[3]);

System.out.println("连接成功");

}

catch(SQLException e)

{

e.printStackTrace();

}

finally

{

try

{

//关闭连接

con.close();

}

catch(SQLException e)

{

e.printStackTrace();

}

}

}

}

11:08 | 发送消息 | 固定链接 | 查看引用通告(0) | 写入日志 | JDBC与Java数据库程序设计访问数据库

Java语言增加了一个非常重要的内容:Java数据库连接(Java Database Connectivity),简称JDBC

在关系型数据库中,有一个很重要的概念就是:数据是唯一的。也就是说,不管是什么样的数据,一定会有一种方法,使得我们能够唯一地确定某一条记录

现代计算机环境都是分布式的,客户机/服务器(CLient/Server,简称C/S)就是分布式的一个例子。

C/S是一种应用程序结构,它事实上是一种适当安排软硬件的概念。主要是将运算功能与资源分散在服务器与工作站的架构,这种架构通常用于数据库处理工作中。这种结构将对数据的处理划分成不同的应用程序,并分布到不同的机器上。一个C/S程序将对数据的存储和检索交给数据库处理,而将对数据的操作和获得放到其它地方。服务器是数据库引擎,负责数据的存储,是给予者;客户机

则负责创建和获得数据,是需求者。C/S结构通过消息传递机制,由客户端发出请求给服务器,服务器进行相应处理后经传递机制送回客户端。一个C/S系统以服务器为中心,并允许多个客户机访问相同的数据。

我们一般所讲的C/S系统是一个两层结构。一般来说,工作站所构成的那一层被称为客户机,又称为表示层,而数据存储层则是服务器,这个服务器是一个典型的包含所有信息的资源库。

客户机/服务器在分布处理过程中,使用基于连接的网络通信模式。该通信模式首先在客户机和服务器之间定义一套通信协议,并创建一个Socket类,利用这个类建立一条可靠的链接;然后,客户机/服务器再在这条链接上可靠地传输数据。客户机发出请求,服务器监听来自客户机的请求,并为客户机提供响应服务,即“请求—应答”模式。

实际上,系统的结构取决于应用程序。由于在两层模型中,客户机直接连接到数据库上,这就是的应用程序对数据模型有很强的依赖性,一旦数据改变,应用程序也就不得不重写,这就导致了C/S 模型的可扩充性差;此外C/S结构也导致了“肥客户机”问题;对象重用也是C/S结构所不能解决的问题

Browser/Server模型把C/S模型的服务器进一步深化,分解成一个应用服务器(Web服务器)和一个或多个数据库服务器,从而成为三层C/S结构。B/S模型简化了C/S中的客户端,客户端只需装上OS、网络协议软件及浏览器;而服务器端则集中了所有的应用逻辑,开发、维护等几乎所有工作也都集中在服务器端。这是的客户机被称为“瘦客户机”,服务器被称为“肥服务器”

三层C/S结构将Client端与用户界面无关的功能移到了中间层(第二层)。所谓三层结构包括:表示层:是用户接口部分,是用户与系统间交互信息的界面。它的主要功能是检查用户输入的数据,显示系统输出的数据。如果表示层需要修改时,只需改写显示控制和数据校验程序,而不影响其他两层。检查的内容也只限于数据格式和取值范围,不包括有关业务本身的处理逻辑应用层:是应用的主体,它包括了应用中全部的业务处理程序。换句话说,除了输入/输出功能在表示层、数据库在数据层以外,全部的统计、汇总、分析、打印功能全部存放在应用层表示层和应用层之间的数据交换要尽可能简洁。在应用设计中,一定要避免一次业务处理在表示层和应用层之间进行多次数据交换的现象发生

数据层:是数据库管理系统(DBMS)和数据库,负责管理对数据库数据的读写B/S结构是由三层C/S结构转化而来的。它将Web浏览器作为表示层,将大量的业务处理程序放在应用服务层上作为应用层,而将数据库放在数据库服务器(DB Server)上作为数据层。在B/S 结构中,应用服务器又被称为Web服务器,实质上,客户机与Web服务器之间类似于一种终端与主机的模式,而Web服务器与数据库服务器之间是一种C/S数据库模式。Web服务器在逻辑上是独立的,但在物理上它既可以是独立的服务器,也可以与应用服务器(?)一起放在同一个服务器中,构成B/S结构

在三层结构中,应用层包含了所有的事务处理程序,一般由数据存储接口和公用API组成:表示层并不直接与数据库连接,而是通过应用层中的事物对象(Business Object)来访问数据。一个事务对象提供了在数据库中存取数据的方法,而这些方法在对象之外都是不能获得的,而这些方法在对象之外都是不能获得的,也就是说,它不会影响其他的对象,但同时,事物对象也为外部对象提供了访问其公共接口的方法

在B/S结构中,采用Internet浏览器作为表示层

目前许多数据库系统均支持SQL,对于由SQL数据库组成的异构数据库系统,JDBC和ODBC 为访问其异构成员提供了统一的方式。

ODBC(Open Database Connectivity),即开放式数据库连接,是用C语言写成的一种在不同

数据库管理系统中存取数据的标准应用程序接口

ODBC使用结构化查询语言(SQL)作为其数据库访问语言。其总体结构有4个组件:

应用程序:执行处理并调用ODBC API函数,以提交SQL语句并执行结果

驱动程序管理器(Driver Manager):根据应用程序需要加载/卸载驱动程序,处理ODBC函数调用,或把它们传送到驱动程序上

驱动程序:处理ODBC函数调用,提交SQL请求到一个指定的数据源,并把结果返回到应用程序。如果有必要,驱动程序修改一个应用程序请求,以使请求与相关的DBMS支持的语法一致数据源:包括用户要访问的数据及其相关的操作系统、DBMS及用于访问DBMS的网络平台每种数据库引擎都需要向驱动程序管理器注册它自己的ODBC驱动程序,当一个程序向ODBC 发出一个SQL查询指令,驱动程序管理器就将请求从应用程序传给ODBC驱动程序,并由ODBC 驱动程序翻译这个指令,以便相应的数据源识别出这个查询,并正确的响应。ODBC驱动程序的使用把应用程序从具体的数据调用中隔离开来,驱动程序管理器针对特定数据库的各个驱动程序进行集中管理,并向应用程序提供统一的标准接口

JDBC(Java Database Connectivity),是用于执行SQL语句的Java应用程序接口,是一套API集合,在这个集合中设置了许多允许Java程序连接数据库的框架。JDBC由一组用Java语言写成的类和接口组成,是一种连接不同数据库的规范,其宗旨是让各数据库开发商为Java程序员提供标准的数据库访问类和接口。JDBC与Java结合,使用户可以很容易地把SQL语句传送到任何关系型数据库中,程序员用它编写的数据库应用程序,可以在各种数据库系统上运行JDBC和ODBC都是基于X/Open的SQL调用级接口,JDBC沿袭了ODBC的设计思想,同时在其主要抽象和SQL CLI实现上也沿袭了ODBC,其总体结构也类似于ODBC,有四个组件:应用程序、驱动程序管理器、驱动程序和数据源

JDBC使用相同源代码的应用程序通过动态加载不同的JDBC驱动程序,可以访问不同的DBMS。连接不同的DBMS时,各个DBMS之间通过不同的URL进行标识。JDBC的DatabaseMetaData 接口提供了一系列方法,可以检查DBMS对特定特性的支持,并相应确定有什么特性,从而能对特定数据库的特性予以支持。与ODBC一样,JDBC也支持在应用程序中同时建立多个数据库连接JDBC除了具有ODBC的上述特点外,更具有对硬件平台、操作系统异构性的支持,因为JDBC 使用的是Java语言。此外,JDBC驱动程序管理器是内置的,驱动程序本身也开通过Web浏览器自动下载,无须安装、配置;而ODBC驱动程序管理器和ODBC驱动程序必须在每个客户机上分别安装、配置

11:07 | 发送消息 | 固定链接 | 查看引用通告(0) | 写入日志 | JDBC与Java数据库程序设计Java编程基础篇

Java语言在本质上是解释执行的

在程序被编译时,实际上是在对程序进行词法分析,并把源代码分解为词法符号和空白符号。忽略空白符号后,再对剩余的部分进行处理。Java语言中的词法符号一共有5种:关键字、标识符、常量、运算符和分隔符

在Java语言中,数据类型可分为两大类:基本数据类型和引用类型

基本数据类型是不能再分解的数据类型(8种:byte、short、int、long、char、float、double、boolean),数据在作为函数参数是以“传值”方式工作的;

引用类型有时也称复合类型,它是可以分解为基本类型的数据类型,其数据在作为函数参数时是以“传址”的方式工作的。Java的引用类型包括类(class)、接口(interface)、数组(array)

int的能表示的数值范围超过了20亿,如果要以“毫秒”为单位来表示一年,就需要使用long 型

字符型数据是指用单引号括起来的一个或多个字符,单引号用来表示字符常数。例如'A'代表一个字符,而"A"是包含了单个字符的一个字串。字符型变量的类型为char,在Java语言中,字符型数据不能用作整数,因为Java语言中没有无符号整数类型。但是字符型数据可以转换为整数来运算。字符型数据除转义符外只能存放一个字符

java语言中的布尔型不能和任何其他类型进行转换

字符串类型String。当用"+"连接一个字符串和一个非字符串的值时,非字符串变量将被自动转换成字符串。如String mystr="ID"+100,这句会把mystr赋值为"ID100",所以可以用语句System.out.println("The number is"+num)输出我们想要的内容

求一个字符串的子串可以用String类所提供的substring方法,substring(a,b)中的b是你不打算留下的字符串的第一个位置

length方法可以得到一个字符串的长度

charAt(n)方法返回字符串中位于n位置的那个字符

我们可以用equals方法来检查两个字符串是否相等s1.equals(s2)。对于equals方法来说,s1和s2既可以是字符串变量,也可以是字符串常量。如"mystring".equals(s)。如果在检测字符串是否相等时,希望忽略字母大小写的区别,可以用equalsIgnoreCase方法

int compareTo(String other):按字典顺序,字符串若在other之前,返回负值;之后,返回正值;相等,返回0

boolean endsWith(String suffix):若指定字符串以suffix结尾,返回ture

boolean startsWith(String prefix):若指定字符串以prefix开始,返回ture

int indexOf(String str),int indexOf(String str,int fromIndex):返回与str相等的第一个字串的起始位置,从索引位置0或fromIndex开始

Sring replace(char oldChar,char newChar):返回一个新串,它用newChar替换oldChar Sring toLowerCase():将指定字符串中的字符全部转换为小写

Sring toUpperCase():将指定字符串中的字符全部转换为大写

String trim():去掉指定字符串中开头和结尾部分的空格

在Java语言中没有专门的乘幂运算符,要进行幂运算,必须采用pow方法。pow方法是https://www.360docs.net/doc/f26663404.html,ng中的Math类的一部分,其使用方法如下double y=Math.pow(x,a) Java语言不支持运算符重载

Java语言对加法运算法进行了扩展,使之能够进行字符串的连接

左移一位(<<右位补零)相当于乘以2

右移一位(>>最高位作为补位)相当于除以2

超类是相对于子类而言的,某一个类的父类就是这个类的超类

实例就是一个特定的对象,是某个特定类所描述的一个对象,是类的具体实现。而类则是各个实例间相似性的描述。即,类是实例的抽象,实例是类的具体

在Java语言中,一个新的类必须在已有类的基础上构造,即由已有的类派生出来,类定义的一般形式如下:

[accessSpecifier] class NameofClass [extends parentClass] [implements interfacelist] {//按照一般约定,用首字母大写的字符串表示类名

[variablemodifier] type instance_variable;

[methodmodifier] type Nameofmethod(parameterlist)

{

method_body;

}

}

构造方法就是用来初始化新建对象的一个特殊方法:

构造方法名与类名相同;

构造方法可以由一个或多个参数,也可以没有参数;

构造方法只能通过new运算符来使用,而不能直接引用方法名;

构造方法没有返回值;

构造方法不能从超类中直接继承;

构造方法可以重载,一个类可以有多个构造方法,他们的参数状态各不相同

与构造方法相对的就是结束方法finalize,其作用一般是进行关闭文件和释放网络资源的操作。结束方法不需要在程序中被现实地调用,只要在类中有一个名为finalize的方法,Java运行器便会在回收对象空间时自动调用这个方法。结束方法没有返回值,也不带任何参数

复制数组:System.arraycopy(from,fromIndex,to,toIndex,count);将from数组中,从下标fromIndex开始的count个元素复制到to数组从toIndex下标开始的位置数组可以作为参数和返回值

Java没有多维数组,只有一维数组,多维数组被用作“数组的数组”

public static switchrow()

{

int[][] a={{1,2,3},{4,5,6},{7,8,9}};

int[] temp=a[2];

a[2]=a[0];

a[0]=temp;

}

Java中用接口来解决不能多重继承的问题。对接口的定义只能由常量和抽象方法组成

接口定义的一般格式为:

[accessSpecifier] interface iterfaceName [extends superinterfacelist]

{

body;

}

从本质上说,接口使你的类可以实现特定的方法,不存在任何关系的两个类之间因为实现了相同的接口而共享其中定义的变量和方法

例如,标准库中定义了一个名为Comparable的接口,其代码形式可简化为如下形式:

public interface Compable

{

public int compareTo(Object b)

}

这段代码说明,只要是实现了Comparable接口的任何一个类都会有一个compareTo方法,而不管他们的超类中是否有此方法,并且,这些类的所有子类也都会自动实现Comparable。对于一个特定的类,则可以定义不同的compareTo的实现方法。要告诉Java自定义的一个类实现了Comparable,需要作如下定义:

class Myclass extends ParentClass implements Comparable

若父类已经实现了一个接口,那么它的子类就不必显示地使用关键字implements

Java应用程序接口(Java Application Programming Interface),简称Java API,其概念与C/C++类库差不多,我们也可以把它看成是Java类库。

所有系统定义的类被分成8个包,其名称和用途如表所示

https://www.360docs.net/doc/f26663404.html,ng:包含了Java语言的核心部分

java.io:程序的输入、输出

java.util:工具类

https://www.360docs.net/doc/f26663404.html,:程序与网络的信息交换

java.awt:建立图形用户界面

java.awt.image:图像处理

java.awt.peer:有关系统跨平台移植的处理

java.applet:使Applet运行

JavaBeans概述

与VB相比,用Java语言编程需要更多的人工编程,涉及到大量的代码。为此,Sun公司可通过JavaBeans为Java编程环境引入了以组件为基础的“粘合”模型。JavaBeans被用来开发组件软件,它实际上有些类似ActiveX控件,它能做与Activex差不多的事情,它是用来开发即插即用组件的一种规范。与ActiveX控件不同的是,JavaBeans自然具有Java语言的跨平台工作能力,同时还自动配备了一个安全管理器。JavaBeans的提出使得Java语言能够创建和处理以组件形式出现的特殊的Java类。

任何JavaBeans组件都能与本地虚拟机上的其它组件通信,它与远程服务器的连接则通过3种对象总线进行,即:远程方法调用(RMI)、Internet InterORB(IIOP)以及Java数据库连接(JDBC),分别实现与Java虚拟机服务器、CORBA服务器和数据库服务器的连接。

11:06 | 发送消息 | 固定链接 | 查看引用通告(0) | 写入日志 | JDBC与Java数据库程序设计Java笔记(八图形界面编程)

AWT(Abstract Windows Toolkit),抽象窗口工具包,SUN公司提供的用于图形界面编程(GUI)的类库。基本的AWT库处理用户界面元素的方法是把这些元素的创建和行为委托给每个目标平台上(Windows、Unix、Macintosh等)的本地GUI工具进行处理。例如:如果我们使用AWT在一个Java窗口放置一个按钮,那么实际上是用的是一个具有本地外观和感觉的按钮。这样,从理论上来说,我们说编写的图形界面程序能运行在任何平台上,做到了图形界面程序的跨平台运行Component是Java中所有图形界面组件的一个基类

Container是Component的子类,一个容器(Container)是可以容纳其他组件的组件

Window继承了Container,A Window object is a top-level window with no borders and no menubar.

Frame继承自Window,A Frame is a top-level window with a title and a border。要产

生一个图形界面的程序,首先就要产生一个框架窗口

布局管理器

容器里组件的位置和大小是由布局管理器来决定的。容器对布局管理器的特定实例保持一个引用。当容器需要定位一个组件时,它将调用布局管理器来完成。当决定一个组件的大小时,也是如此在AWT中,给我们提供了五种布局管理器:BorderLayout(缺省)、FlowLayout、GridLayout、CardLayout、GridBagLauout

AWT事件模型

Events(事件):描述发生了什么的对象

Event source(事件源):事件的产生器

Event handlers(事件处理器):接收事件对象、解释事件对象并处理用户交互的方法

委托模型:事件监听器是实现了监听器接口(java.awt.event中的WindowListenter)的类。一个监听器对象是一个实现了专门的监听器接口的类的实例

import java.awt.*;

import java.awt.event.*;

public class MyFrame

{

public static void main(String[] args)

{

Frame f=new Frame("llilac");//Frame(String title):Constructs a new, initially invisible Frame object with the specified title.

f.setSize(600,400);//public void setSize(int width,int height):Resizes this component so that it has width width and height height.

f.setLocation(100,100);//左上角是计算机屏幕的原点public void setLocation(int x,int y):Moves this component to a new location. The top-left corner of the new location is specified by the x and y parameters in the coordinate space of this component's parent.

f.setBackground(Color.GREEN);//public void setBackground(Color c):Sets the background color of this component.

//f.setLayout(new BorderLayout(10,10));//缺省布局管理器BorderLayout

//f.setLayout(new FlowLayout(FlowLayout.LEFT));

f.setLayout(new GridLayout(3,2,10,10));//3行2列,垂直水平间隙为10

Button btn1=new Button("hi");//Button(String label):Constructs a Button with the specified label.

Button btn2=new Button("hello");

Button btn3=new Button("Nice");

Button btn4=new Button("to");

Button btn5=new Button("metting");

f.add(btn1,"North");//void add(Component comp, Object constraints):Adds the specified component to the end of this container.

f.add(btn2,"South");

f.add(btn3,"West");

f.add(btn4,"East");

f.add(btn5,"Center");//要在f.show()前面

//f.addWindowListener(new MyWindowListener());//注册一个事件监听器

//f.addWindowListener(new YouWindowListener());

f.addWindowListener(new WindowAdapter()//用匿名的内部类,因为WindowAdapter 是抽象类,所以加上{}进行实现。采用此种方法时,不再需要MyWindowListener类和YouWindowListener类

{

public void windowClosing(WindowEvent e) //Invoked when the user attempts to close the window from the window's system menu.

{

System.exit(0);

}

});

f.show();//继承自Window,public void show():Makes the Window visible. If the Window and/or its owner are not yet displayable, both are made displayable. The Window will be validated prior to being made visible. If the Window is already visible, this will bring the Window to the front.还有一个方法,是继承自Component,public void setVisible(boolean b):Shows or hides this component depending on the value of parameter b. 但这个方法只能让窗口可见,不能让窗口到最前面

}

}

class MyWindowListener implements WindowListener//定义了一个事件监听器类

{

public void windowActivated(WindowEvent e)

{

}

public void windowClosed(WindowEvent e)//用来对窗口已经关闭之后的事件进行响应Invoked when a window has been closed as the result of calling dispose on the window.

{

}

public void windowClosing(WindowEvent e) //Invoked when the user attempts to close the window from the window's system menu.

{

System.exit(0);

}

public void windowDeactivated(WindowEvent e)

{

}

public void windowDeiconified(WindowEvent e)

{

}

public void windowIconified(WindowEvent e)

{

}

public void windowOpened(WindowEvent e)

{

}

}//如果用的是实现接口的话,就要实现接口中所有的类。这样很麻烦。于是Java提供了一种类叫适配器类,接口WindowListener对应的适配器类是WindowAdapter,它实现了WindowListener 的所有方法,但都是空实现。

class YouWindowListener extends WindowAdapter//Java把适配器类WindowAdapter声明为abstract,因为它对接口方法的实现都是空实现,所以直接实例化适配器的一个类是没有意义的,所以Java把他声明为了abstract,以防用户直接实例化。我们只要直接从适配器类WindowAdapter 派生一个子类就行了

{

public void windowClosing(WindowEvent e) //Invoked when the user attempts to close the window from the window's system menu.

{

System.exit(0);

}

}

-----------------------------------------------------------------------------

//实现Win记事本部分功能

import java.awt.*;

import java.awt.event.*;

import java.io.*;

public class HisFrame//创建菜单:菜单栏(MenuBar类)-菜单(Menu类)-菜单项(MenuItem类) {

public static void main(String[] args)

{

final Frame f=new Frame("http://llilac");

f.setSize(600,400);

f.setLocation(100,100);

/*构造文本域,只能存放单行文本

TextField tf=new TextField(20);

f.add(tf,"North");

*/

final TextArea tf=new TextArea();

f.add(tf);

f.addWindowListener(new WindowAdapter()//窗口监听器

{

public void sindowClosing(WindowEvent e)

{

System.exit(0);

}

});

MenuBar mb=new MenuBar();

Menu m1=new Menu("File");

Menu m2=new Menu("Edit");

MenuItem mi1=new MenuItem("New");

MenuItem mi2=new MenuItem("open");

mi2.addActionListener(new ActionListener()//打开文件功能

{

public void actionPerformed(ActionEvent e)

{

FileDialog fd=new FileDialog(f,"Open File Dialog",FileDialog.LOAD);//public FileDialog(Frame parent,String title,int mode):parent - the owner of the dialog;title - the title of the dialog;mode - the mode of the dialog; either FileDialog.LOAD or FileDialog.SAVE

fd.show();

/*把文件的内容读进来,此时只能读入当前目录下的文件,因为getFile()知识返回文件名,构建输入流后它只在当前目录下查找,所以要想读取其它目录的文件,要给出路经

String strFile=fd.getFile();

if(strFile!=null)

{

try

{

FileInputStream fis=new FileInputStream(strFile);

byte[] buf=new byte[10*1024];

int len=fis.read(buf);

tf.append(new String(buf,0,len));

fis.close();

}

catch (Exception ex)

{ex.printStackTrace();}

}

*/

//把文件的内容读进来,此时可以读取其它目录的文件,因为给出了路经

String strFile=fd.getDirectory()+fd.getFile();//获取的是完整的路径名

if(strFile!=null)

{

try

{

FileInputStream fis=new FileInputStream(strFile);

byte[] buf=new byte[10*1024];

int len=fis.read(buf);

tf.append(new String(buf,0,len));

fis.close();

}

catch (Exception ex)

{ex.printStackTrace();}

}

}

});

MenuItem mi3=new MenuItem("save");

MenuItem mi4=new MenuItem("exit");

mi4.addActionListener(new ActionListener()//退出功能

{

public void actionPerformed(ActionEvent e)

{

System.exit(0);

}

});

MenuItem mi5=new MenuItem("copy");

MenuItem mi6=new MenuItem("paste");

m1.add(mi1);

m1.add(mi2);

m1.add(mi3);

m1.add(mi4);

m2.add(mi5);

m2.add(mi6);

mb.add(m1);

mb.add(m2);

f.setMenuBar(mb);

f.show();

}

}

--------------------------------------------------------------------------------

java.awt包中还有一些表较常用的组件,比如choice—下拉列表框;Checkbox—复选框;Label —标签

Java基础类

JFC(Java foundation Classes):Java基础类,是关于GUI组件和服务的完整集合,主要包括5个API:AWT、Java2D、Accessiblility、Drag&Drop、Swing。JFC提供了帮助开发人员设计复杂应用程序的一整套应用程序开发包

Java2D是一图形API,它为Java应用程序提供了一套高级的有关二维(2D)图形图像处理的类,Java2D API扩展了java.awt和java.awt.image类,并提供了丰富的绘图风格,定义了复杂图形

的机制和精心调节绘制过程的方法和类。这些API使得独立于平台的图形应用程序的开发更加简便Accessiblility API提供了一套高级工具,用以辅助开发使用非传统输入和输出的应用程序。它提供了一个辅助的技术接口,如:屏幕阅读器,屏幕放大器,听觉文本阅读器(语音处理)等等Drag&Drop技术提供了Java和本地应用程序之间的互操作性,用来在Java应用程序和不支持Java技术的应用程序之间交换数据

JFC模块的重点在Swing。Swing用来进行基于窗口的应用程序开发,它提供了一套丰富的组件和工作框架,以指定GUI如何独立于平台地展现其视觉效果

javax.Swing中的组件都是以JComponent这个类为基类的

import javax.swing.*;

public class SwingTest

{

public static void main(String[] args)

{

JFrame jf=new JFrame("llilac");

jf.setSize(600,400);

jf.setLocation(100,100);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//public static final int EXIT_ON_CLOSE:The exit application default window close operation.

JButton btn=new JButton("l");

jf.getContentPane().add(btn,"West");//首先获取一个内容面板,然后将组件增加到内容面板上

jf.show();

}

}

10:47 | 发送消息 | 固定链接 | 查看引用通告(0) | 写入日志 | Java基础

Java笔记(七I/O操作与字节流)

Sun公司提供的Java源代码在安装目录下的scr压缩包中\java下

java.io包中

File类An abstract representation of file and directory pathnames.

一个File类的对象,表示了磁盘上的文件或目录

File类提供了与平台无关的方法来对磁盘上的文件或目录进行操作

import java.io.*;

class FileTest

{

public static void main(String[] args) throws Exception

{

/*相对路径

File f=new File("1.txt");

f.createNewFile();//boolean createNewFile():Atomically creates a new, empty file named by this abstract pathname if and only if a file with this name does not yet exist.

//f.mkdir();//boolean mkdir():Creates the directory named by this abstract pathname.在当前目录下

*/

/*Windows平台下

File f=new File("D:\\JAVA\\L6\\1.txt");

f.createNewFile();

*/

File fDir=new File(File.separator);//static String separator:The system-dependent default name-separator character, represented as a string for convenience. 这里fDir表示当前程序所在根目录

String strFile="JavaLesson"+File.separator+"Lesson07"+File.separator+"1.txt";

File f=new File(fDir,strFile);//File(File parent, String child):Creates a new File instance from a parent abstract pathname and a child pathname string.

//f.createNewFile();

//f.delete();//boolean delete():Deletes the file or directory denoted by this abstract pathname.

f.deleteOnExit();//void deleteOnExit():Requests that the file or directory denoted by this abstract pathname be deleted when the virtual machine terminates.

/*

for(int i=0;i<5;i++)

{

File f=File.createTempFile("1",".txt");//static File createTempFile(String prefix, String suffix):Creates an empty file in the default temporary-file directory, using the given prefix and suffix to generate its name.

f.deleteOnExit();

}

*/

/*

File fDir=new File(File.separator);

String strFile="Java"+File.separator+"L6";

File f=new File(fDir,strFile);

String[] names=f.list();

for(int i=0;i

{

System.out.println(names[i]);

}

*/

File fDir=new File(File.separator);

String strFile="Java"+File.separator+"L6";

File f=new File(fDir,strFile);

String[] names=f.list(new FilenameFilter()// String[] list(FilenameFilter filter):Returns an array of strings naming the files and directories in the directory denoted by this abstract pathname that satisfy the specified filter;Interface FilenameFilter

{

public boolean accept(File dir, String name)//boolean accept(File dir, String name):Tests if a specified file should be included in a file list

{

return name.indexOf(".java")!=-1;//int indexOf(String str):Returns the index within this string of the first occurrence of the specified substring.

}

});

for(int i=0;i

{

System.out.println(names[i]);

}

}

}

流式I/O

流(Stream)是字节的源或目的

两种基本的流是:输入流(Input Stream)和输入流(Output Stream)。可从中读出一系列字节的对象称为输入流。而能向其中写入一系列字节的对象称为输入流

流的分类:

节点流:从特定的地方读写的流类,例如:磁盘或一块内存区域

过滤流:使用节点流作为输入或输出。过滤流是使用一个已经存在的输入流或输出流连接创建的

抽象基类InputStream

三个基本的读方法

abstract int read():读取一个字节数据(但返回的是整型,整型是四个字节的,也就是说这个整型中只有第一个字节是有用的),并返回读到的数据,如果返回-1,表示读到了输入流的末尾int read(byte[] b):将数据读入一个字节数组,同时返回实际读取的字节数。如果返回-1,表示读到了输入流的末尾

int read(byte[] b,int off,int len):将数据读入一个字节数组,同时返回实际读取的字节数。如果返回-1,表示读到了输入流的末尾。off指定在数组b中存放数据的起始偏移位置;len指定读取的最大字节数

其他方法

long skip(long n):在输入流中跳过n个字节,并返回实际跳过的字节数

int available():返回在不发生阻塞的情况下,可读取的字节数

void close():关闭输入流,释放和这个流相关的系统资源

void mark(int readlimit):在输入流的当前位置放置一个标记,如果读取的字节数多于

readlimit设置的值,则流忽略这个标记

抽象基类OutputStream

三个基本的写方法

abstract void write(int b):往输出流中写入一个字节(写入的是整型b的第一个字节)

void write(byte[] b):往输出流中写入数组b中的所有字节

void write(byte[] b,int off,int len):往输出流中写入数组b中从偏移量off开始的len个字节的数据

其他方法

void flush():刷新输出流,强制缓冲区中的输出字节被写出

void close():关闭输出流,释放和这个流相关的系统资源

基本的流类:

FileInputStream和FileOutputStream:节点流,用于从文件中读取或往文件中写入字节流。如果在构造FileOutputStream时,文件已经存在,则覆盖这个文件

BufferedInputStream和BufferedOutputStream:过滤流,需要使用已经存在的节点流来构造,提供带缓冲的读写,提高了读写的效率(用它们来构造缓冲输入流和缓冲输出流)DataInputStream和DataOutputStream:过滤流,需要使用已经存在的节点流来构造,提供了读写Java中的基本数据类型的功能

PipedInputStream和PipedOutputStream:管道流,用于线程间的通信。一个线程的PipedInputStream对象从另一个线程的PipedOutputStream对象读取输入。要使管道流有用,必须同时构造管道输入流和管道输出流

import java.io.*;

class StreamTest

{

public static void main(String[] args) throws Exception

{

/*从屏幕输入,输入什么回车后会直接在屏幕上输出,ctrl+C退出

int data;

while((data=System.in.read())!=-1)

{

System.out.write(data);

}

*/

/*往文件中写入

FileOutputStream fos=new FileOutputStream("1.txt");//FilterOutputStream(OutputStream out):Creates an output stream filter built on top of the specified underlying output stream

fos.write("https://www.360docs.net/doc/f26663404.html,".getBytes());//FileOutputStream的write方法只接受byte和int型void write(byte[] b):Writes b.length bytes to this output stream;byte[] getBytes():Encodes this String into a sequence of bytes using the platform's default charset, storing the result into a new byte array.

fos.close();//void close():Closes this output stream and releases any system

resources associated with the stream.

*/

/*文件输入流读取数据,输出到屏幕上

FileInputStream fis=new FileInputStream("1.txt");//protected FilterInputStream(InputStream in):Creates a FilterInputStream by assigning the argument in to the field this.in so as to remember it for later use.

byte[] buf=new byte[100];

int len=fis.read(buf);//int read(byte[] b):Reads up to byte.length bytes of data from this input stream into an array of bytes.

System.out.println(new String(buf,0,len));//void println(String x):Print a String and then terminate the line;String(byte[] bytes, int offset, int length):Constructs a new String by decoding the specified subarray of bytes using the platform's default charset.

fis.close();// void close():Closes this input stream and releases any system resources associated with the stream.

*/

/*BufferedOutputStream缓冲输出流,需要使用已经存在的节点流来构造(从FilterOutputStream继承)

FileOutputStream fos=new FileOutputStream("1.txt");

BufferedOutputStream bos=new BufferedOutputStream(fos);//BufferedOutputStream(OutputStream out):Creates a new buffered output stream to write data to the specified underlying output stream with a default 512-byte buffer size.

bos.write("https://www.360docs.net/doc/f26663404.html,".getBytes());//数据写入缓冲区

bos.flush();//void flush():Flushes this buffered output stream.将缓冲区中数据写入文件

//bos.close();//也可将缓冲区中数据写入文件,但此时就不能再继续写入数据了

*/

/*BufferedInputStream缓冲输入流

FileInputStream fis=new FileInputStream("1.txt");

BufferedInputStream bis=new BufferedInputStream(fis);

byte[] buf=new byte[100];

int len=bis.read(buf);

System.out.println(new String(buf,0,len));//void println(String x):Print a String and then terminate the line;String(byte[] bytes, int offset, int length):Constructs a new String by decoding the specified subarray of bytes using the platform's default charset.

bis.close();

*/

/*DataOutputStream提供了读写Java中的基本数据类型的功能

FileOutputStream fos=new FileOutputStream("1.txt");

行测总结笔记-学霸笔记-必过知识讲解

行测总结笔记-学霸笔 记-必过

现在开始 资料分析 之所以把资料分析放在第一,是因为本人以前最怕资料分析不难但由于位于最后,时间紧加上数字繁琐,得分率一直很低。而各大论坛上的普遍说法是资料分析分值较高,不可小觑。有一次去面试,有个行测考90分的牛人说他拿到试卷先做资料分析,我也试过,发觉效果并不好,细想来经验因人而议,私以为资料分析还是应该放在最后,只是需要保证平均5分钟一篇的时间余量,胆大心细。 一、基本概念和公式 1、同比增长速度(即同比增长率)=(本期数-去年同期数)/ 去年同期数x100% =本期数/去年同期数-1 显然后一种快得多环比增长速度(即环比增长率)=(本期数-上期数)/上期数=本期数/上期数-1 2、百分数、百分比(略) 3、比重(略) 4、倍数和翻番 翻番是指数量的加倍,翻番的数量以2^n次变化 5、平均数(略) 6、年均增长率

如果第一年的数据为A,第1年为B 二、下面重点讲一下资料分析速算技巧 1、÷(1)≈b×(1)结果会比正确答案略小,记住是略小,如果 看到有个选项比你用这种方法算出来的结果略大,那么就可以选;比它小的结果不管多接近一律排除;x越小越精确 ÷(1)≈(1)结果会比正确答案略小,x越小越精确 特别注意: ⑴当选项差距比较大时,推荐使用该方法,当差距比较小时,需验证 ⑵增长率或者负增长率大于10%,不适用此方法 2、分子分母比较法 ⑴分子大分母小的分数大于分子小分母大的分数 ⑵差分法★ 若其中一个分数的分子和分母都大于另外一个分数的分子和分母,且大一点点时,差分法非常适用。 例:2008年产猪6584头,2009年产猪8613头,2010年产猪10624头,问2009与2010哪一年的增长率高

java基础知识点总结

Created by AIwen on 2017/5/14. java是面向对象的程序设计语言;类可被认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都是引用变量,它们将会引用到类的对象。类用于描述客观世界里某一类对象的共同特征,而对象则是类的具体存在,java程序使用类的构造器来创建该类的对象。 java也支持面向对象的三大特征:封装、继承、和多态。java提供了private、protected、和public三个访问控制修饰符来实现良好的封装,提供了extends关键字让子类继承父类,子类继承父类就可以继承到父类的成员变量和和方法,如果访问控制允许,子类实例可以直接调用父类里定义的方法。继承是实现类复用的重要手段。使用继承关系来实现复用时,子类对象可以直接赋给父类变量,这个变量具有多态性。 面向对象的程序设计过程中有两个重要的概念:类(Class)和对象(object,也被称为实例,instance)。类可以包含三种最常见的成员:构造器、成员变量、和方法。 构造器用于构造该类的实例,java语言通过new关键字类调用构造器,从而返回该类的实例。构造器是一个类创建对象的根本途径,如果一个类没有构造器,这个类通常无法创建实例。因此java语言提供了一个功能:如果程序员没有为一个类编写构造器,则系统会为该类提供一个默认的构造器,这个构造器总是没有参数的。一旦程序员为一个类提供了构造器,系统将不再为该类提供构造器。 构造器用于对类实例进行初始化操作,构造器支持重载,如果多个重载的构造器里包含了相同的初始化代码,则可以把这些初始化代码放置在普通初始化块里完成,初始化块总在构造器执行之前被调用。静态初始化块代码用于初始化类,在类初始化阶段被执行。如果继承树里某一个类需要被初始化时,系统将会同时初始化该类的所有父类。 构造器修饰符:可以是public、protected、private其中之一,或者省略构造器名:构造器名必须和类名相同。 注意:构造器既不能定义返回值类型,也不能使用void声明构造器没有返回值。如果为构造器定义了返回值类型,或使用void声明构造器没有返回值,编译时不会出错,但java会把这个所谓的构造器当成方法来处理——它就不再是构造器。 实际上类的构造器是有返回值的,当使用new关键字来调用构造器时,构造器返回该类的实例,可以把这个类的实例当成构造器的返回值。因此构造器的返回值类型总是当前类,无须定义返回值类型。不要在构造器里显式的使用return来返回当前类的对象,因为构造器的返回值是隐式的。 java类名必须是由一个或多个有意义的单词连缀而成的,每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。 成员变量: 成员变量的修饰符:public、protected、private、static、final前三个只能出现一个再和后面的修饰符组合起来修饰成员变量,也可省略。 成员变量:由一个或者多个有意义的单词连缀而成,第一个单词首字母小写,后面每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。 类型:可以是java语言允许的任何数据类型,包括基本类型和引用类型。 成员方法: 方法修饰符:public、protected、private、static、final、abstract,前三个只能出现一个,static和final最多只能出现其中的一个,和abstract组合起来使用。也可省略。 返回值类型:可以是java语言的允许的任何数据类型,包括基本类型和引用类型。 方法名:和成员变量的方法命名规则相同,通常建议方法名以英文动词开头。 方法体里多条可执行语句之间有严格的执行顺序,排在方法体前面的语句总先执行,排在方法体后面的语句总是后执行。 static是一个特殊的关键字,它可用于修饰方法、成员变量等成员。static修饰的成员表明它属于这个类本身,而

行测总结笔记学霸笔记必过模板

现在开始 资料分析 之所以把资料分析放在第一,是因为本人以前最怕资料分析不难但由于位于最后,时间紧加上数字繁琐,得分率一直很低。而各大论坛上的普遍说法是资料分析分值较高,不可小觑。有一次去面试,有个行测考90分的牛人说他拿到试卷先做资料分析,我也试过,发觉效果并不好,细想来经验因人而议,私以为资料分析还是应该放在最后,只是需要保证平均5分钟一篇的时间余量,胆大心细。 一、基本概念和公式 1、同比增长速度(即同比增长率)=(本期数-去年同期数)/去年同期数x100% =本期数/去年同期数-1 显然后一种快得多 环比增长速度(即环比增长率)=(本期数-上期数)/上期数=本期数/上期数-1 2、百分数、百分比(略) 3、比重(略) 4、倍数和翻番 翻番是指数量的加倍,翻番的数量以2^n次变化 5、平均数(略) 6、年均增长率 如果第一年的数据为A,第n+1年为B 二、下面重点讲一下资料分析速算技巧 1、a=b÷(1+x%)≈b×(1-x%)结果会比正确答案略小,记住是略小,如果看到有个选项比 你用这种方法算出来的结果略大,那么就可以选;比它小的结果不管多接近一律排除; x越小越精确 a=b÷(1-x%)≈bX(1+x%)结果会比正确答案略小,x越小越精确 特别注意: ⑴当选项差距比较大时,推荐使用该方法,当差距比较小时,需验证 ⑵增长率或者负增长率大于10%,不适用此方法 2、分子分母比较法 ⑴分子大分母小的分数大于分子小分母大的分数 ⑵差分法★ 若其中一个分数的分子和分母都大于另外一个分数的分子和分母,且大一点点时,差分法非常适用。 例:2008年产猪6584头,2009年产猪8613头,2010年产猪10624头,问2009与2010哪一年的增长率高 答:2009增长率8613/6584-1 ,2010增长率10624/8613-1,-1不用看,利用差分法

Java基础学习心得笔记

Java基础学习心得笔记 对于很多只会C语言的初学者而言,面对java基础语法学习,反而感觉很难,其实其中最大的问题不是语法难,而是一种编程思想的转变。面向过程就是把你的代码封装成函数,然后依次去做一件事情,面向过程是把你要做的事情抽象成对象,告诉对象去做。所以要想学好java入门,必须知道类和对象的概念。 类是对生活中事物的抽象描述,比如人类,动物类,交通工具类;对象即是对类的具体实例化,比如张三是人,猫是动物,飞机是交通工具(对象-----类)。Java基础入门学习路线可以总结为四步走: 1.java开发环境的搭建; 2.java初级之基础语法学习(80%类似C语言); 3.java中级之面向对象编程学习(重点); 4.java中级之应用编程学习。 第一步:JDK软件开发包时java软件开发环境, 包括jre运行环境和jvm虚拟机,在oricle官网下载javaSE版本JDK包;配置好环境变量就可以使用了。 第二步:java初级语法学习, 1.基本数据类型整形,字符型,字节型,长整形,短整形,浮点型,双精度,布尔型;

2.运算符+,-,*,/,%等; 3.控制流(while,switch,if else); 4.数组的定义方式。 此阶段基本无难度,只要了解练习例题。 第三步:java面向对象学习, 1.类和对象; 2.java语言三大特性,封装、继承、多态; 3.一些关键字学习(static,final,abstract,extends)等。 这是重点,大家根据知识点一步步研究学习才是关键。 第四步:java应用编程, 例如:文件IO,集合(类似C语言数据结构),异常处理,线程,网络,JDBC数据库操作等,都是掌握面向对象以后,在查找不同的类使用类中不同的方法达到应用的效果,所以并不会很难。等基础语法掌握了就可以继续后面框架学习(java web方向,android学习),相信明确思路你会豁然开朗,更有学习动力。 以上没有具体的实例和知识点讲解,分享的只是完全没接触过java的初学者自学java的思路和学习的流程,应该把握的重点,希望大家有所帮助。 如果你想学好Java,找一家靠谱的培训机构,能让你的学习事半功倍。

资料分析报告笔记整理好

资料分析笔记整理 一.资料分析基础概念与解题技巧 1.资料分析核心运算公式 2.资料分析常用基本概念 3.资料分析速算技巧 二.资料分析高频高点梳理 1.ABR类问题 2.比重类问题 资料分析基础概念与解题技巧 一、基期、本期 基期,表示的是在比较两个时期的变化时,用来做比较值(基准值)的时期,该时期的数值通常作为计算过程中的除数或者减数; 本期,相对于基期而言,是当前所处的时期,该时期的数值通常作为计算过程中的被除数或者被减数。 【注】和谁相比,谁做基期。 二、增长量、增长率(增长速度、增长幅度) 增长量,表示的是本期与基期之间的绝对差异,是一绝对值。 增长率,表示的是末期与基期之间的相对差异,是一相对值。 增长率=增长速度(增速)=增长幅度(增幅) 【注】在一些“最值”比较题的题干表述中,经常出现“增加(长)最多”和“增加(长)最快”,我们需要注意,前者比较的是增长量,而后者则比较的是增长率。 三、同比、环比 同比和环比均表示的是两个时期的变化情况,但是这两个概念比较的基期不同。同比,指的是本期发展水平与历史同期的发展水平的变化情况,其基期对应的是历史同期。 环比,指的是本期发展水平与上个统计周期的发展水平的变化情况,其基期对应的是上个统计周期。 【注】环比常出现在月份、季度相关问题。 四、公式运用与练习 资料分析的考察离不开对于两个时期的数值的比较,由此得出四个概念,

即基期(A),本期(B),增长率(R),增长量(X)。 增长量=基期量*增长率=本期量-基期量=本期量-本期量/1+增长率 增长率=增长量/基期量=(本期量-基期量)/基期量=本期量/基期量-1 本期=基期+增长量=基期+基期*增长率=基期*(1+增长率) 基期=本期-增长量=本期/1+增长率 【习题演练】 【例一】2012年1-3月,全国进出口总值为8593.7亿美元,同比增长7.3%,其中:出口4300.2亿美元,增长7.6%;进口4293.6亿美元,增长6.9%。3月当月,全国进出口总值为3259.7亿美元,同比增加216亿美元,其中:出口1656.6亿美元,增长135.4亿美元;进口1603.1亿美元,增长5.3%。 1、2011年一季度,全国进出口总值约为多少? 2、2012年一季度,全国出口额同比增长多少? 3、2011年三月份,全国进出口总值约为多少? 4、2012年三月份,全国出口总值同比增速约为多少? 【注】进出口相关问题,为资料分析中的一个易错点,注意题目中进出口、进口、出口的表述,注意进出口量与进出口额的不同,理解顺差、逆差的含义 出口-进口=顺差,反之则是逆差 2、资料分析常用基本概念 一、百分数、百分点 百分数,表示的是将相比较的基期的数值抽象为100,然后计算出来的数值,用“%”表示,一般通过数值相除得到,在资料分析题目常用在以下情况:(1)部分在整体中所占的比重;(2)表示某个指标的增长率或者减少率。 百分点,表示的是增长率、比例等以百分数表示的指标的变化情况,一般通过百分数相减得到,在资料分析题目常用在以下情况:(1)两个增长率、比例等以百分数表示的数值的差值;(2)在A拉动B增长几个百分点,这样的表述中。【例1】2010年,某省地区生产总值达到6835.7亿元,比去年同期增长14.9%。其中,第一产业增加值为483.5亿元,比去年同期增长25.8%,第二产业增加值为2985.6亿元,同比增长12.5%。 1、2010年,该省第一产业增加值占地区生产总值的比重为()。A.12.63% B.12.63个百分点 C.7.07% D.7.07个百分点 2、2010年,该省第一产业增加值同比增速比第二产业增加值增速高()。A.13.3% B.13.3个百分点 C.14.3% D.14.3个百分点 二、倍数、翻番 倍数,指将对比的基数抽象为1,从而计算出的数值。 翻番,指数量的加倍,如:如果某指标是原来的2倍,则意味着翻了一番,是原来的4倍,则意味着翻了两番,依此类推。所用的公式为:末期/基期=2n,即翻了n番。 【注】注意“超过N倍”“是xx的N倍”两种说法的区别。超过N倍,说明是基数的N+1倍。

黑马毕向东JAVA基础总结笔记

Java基础知识总结(超级经典) 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。 4,代码实现。用具体的java语言代码把思路体现出来。 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用。demo 4,该技术什么时候用?test。 ----------------------------------------------------------------------------------------------- 一:java概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器; 1994年将Oak语言更名为Java; Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发; JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础; JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序; 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。 2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。 环境变量的配置: 1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk path=%JAVA_HOME%\bin 2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin 特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。classpath的配置: 1):永久配置方式:classpath=.;c:\;e:\ 2):临时配置方式:set classpath=.;c:\;e:\ 注意:在定义classpath环境变量时,需要注意的情况 如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件; 如果指定了classpath,那么会在指定的目录下查找要运行的类文件。 还会在当前目录找吗?两种情况: 1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。 2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。 一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。 4,javac命令和java命令做什么事情呢? 要知道java是分两部分的:一个是编译,一个是运行。 javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java 文件进行编译。生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。 java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行. 一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数. ----------------------------------------------------------------------------------------------

公务员考试行测资料分析状元笔记

2017年公务员考试行测资料分析状元笔记通用阅读——上看标题,下看注释,中间看时间,单位(重点) 1文字性材料——难的是阅读(结构阅读是重点) 文字性材料阅读结构和中心 结构几段落——总分和并列—并列部分找中心词(圈点标点,括号标结构,圈标中心词)无结构小段,就仔细阅读,创造结构(圈点标点,标点暗示结构,括号标结构,圈标中心词)无结构大段,就直接读题—找两个关键词——区分性(平均气温),明显性(符号数字字母,例如括号,摄氏度,顿号之类的)——2007年底比2007年更合适 多个题目涉及同一个关键词的,可以一起做 2表格型材料——难的是计算 阅读横标目和纵标目 分清合计和项目和地区 3图形型材料——难的是理解 饼状图——看周围类别名称(包括大小的排名要心中有印象) 柱状趋势图——看横轴和纵轴(要注意两个纵轴的分别对应柱状和点) 柱状分两种:一种是绝对值(高低差异),一种是比例(高低相同,柱状分几个部分) 4统计术语(不是重点) 增长率是属于后一年(所以第一年的增长率是算不出来的) 前一年的总量=后一年除以(1+增长率)后一年除以(1-增长率) 增长率的对比(很容易会出隔两年的总量,倒推2次):增长率增长或降低了5个百分点(直接加减) 乘以2看成除以5 乘以5看成除以2 乘以25看成除以4 除以125看成乘以8 同比是与上一年的同一期相比较 环比是挨着的相同时间段相比较 同比和环比:如果有注释按注释为准 今年5月份环比=今年4月份 今年5月份同比=去年5月份 5统计性数据的要素——时间和单位(重点) 1时间表述(陷阱)——对时间很敏感 1.计算的年份不一样 2.计算的时间段不一样 2单位表述(陷阱)——对单位很敏感 1.饼状图有单位,就不是百分比 相比较的数据的单位不一样(注意是百分号还是千分号。年利率往往用百分,月利率用千分之) 2.计算的单位不一样 下列选项一定正确和一定错误的题目是最难的,可以放在最后做。

java基础笔记

1什么是变量? 答:是指代在内存中开辟的储存空间,用于存放运算过程中需要用到的数据。 一个类中不能有2个public以为有pulic要和类名保持一致,有2个的话就不知道是和谁保持一致了,可以用很多类。 2变量的声明 答:当需要使用一个变量的时候,必须要对该变量就行声明,变量的声明包含2点,1是变量的基本数 据类型,2是变量名比如int a ;int是数据类型a是变量名,可以声明多个变量,比如int a,b,c;等 3,变量的初始化 答:有2种初始化方法, 1是在变量声明时初始化,变量类型变量名=初始值,比如int a=0; 2是先声明变量,然后再初始化给变量赋值,,比如int a;a=0; 3.1可以对变量中的值进行存取,操作,变量使用之前,要使用与其变量符合的数据类型。 3.2基本数据类型,8种 1整数类行:byte,short int(常用),long(常用)2浮点类型:float,double(常用)3,boolean 4 char 类型名称字节空间使用场景 ------------------------------------------------------------------------------------------------------------ byte 丨1字节(8位)丨储存字节数据(较少用) --------------------------------------------------------------------------------------------------------------- short 丨2字节(16位)丨兼容性考虑(很少用) ------------------------------------------------------------------------------------------------------------ int 丨4字节(32位)丨存储普通整数(常用) -------------------------------------------------------------------------------------------------------------- long 丨8字节(64位)丨存储长整数(常用) ------------------------------------------------------------------------------------------------------------- float 丨4字节(32位)丨存储浮动数(不常用) ------------------------------------------------------------------------------------------------------------ double 丨8字节(64位)丨存储双精浮点数(常用) ----------------------------------------------------------------------------------------------------------- boolean 丨1字节(8位)丨存储逻辑变量(true,fales)(常用) --------------------------------------------------------------------------------------------------------------- char 丨2字节(16位)丨存储一个字符(常用) ---------------------------------------------------------------------------------------------------------------

资料分析笔记整理样本

资料分析笔记整顿 一.资料分析基本概念与解题技巧 1.资料分析核心运算公式 2.资料分析惯用基本概念 3.资料分析速算技巧 二.资料分析高频高点梳理 1.ABR类问题 2.比重类问题 资料分析基本概念与解题技巧 一、基期、本期 基期,表达是在比较两个时期变化时,用来做比较值(基准值)时期,该时期数值普通作为计算过程中除数或者减数; 本期,相对于基期而言,是当前所处时期,该时期数值普通作为计算过程中被除数或者被减数。 【注】和谁相比,谁做基期。 二、增长量、增长率(增长速度、增长幅度) 增长量,表达是本期与基期之间绝对差别,是一绝对值。 增长率,表达是末期与基期之间相对差别,是一相对值。 增长率=增长速度(增速)=增长幅度(增幅) 【注】在某些“最值”比较题题干表述中,经常浮现“增长(长)最多”和“增长(长)最快”,咱们需要注意,前者比较是增长量,而后者则比较是增长率。 三、同比、环比 同比和环比均表达是两个时期变化状况,但是这两个概念比较基期不同。 同比,指是本期发展水平与历史同期发展水平变化状况,其基期相应是历史同期。

环比,指是本期发展水平与上个记录周期发展水平变化状况,其基期相应是上个记录周期。 【注】环比常出当前月份、季度有关问题。 四、公式运用与练习 资料分析考察离不开对于两个时期数值比较,由此得出四个概念, 即基期(A),本期(B),增长率(R),增长量(X)。 增长量=基期量*增长率=本期量-基期量=本期量-本期量/1+增长率 增长率=增长量/基期量=(本期量-基期量)/基期量=本期量/基期量-1 本期=基期+增长量=基期+基期*增长率=基期*(1+增长率) 基期=本期-增长量=本期/1+增长率 【习题演习】 【例一】1-3月,全国进出口总值为8593.7亿美元,同比增长7.3%,其中:出口4300.2亿美元,增长7.6%;进口4293.6亿美元,增长6.9%。3月当月,全国进出口总值为3259.7亿美元,同比增长216亿美元,其中:出口1656.6亿美元,增长135.4亿美元;进口1603.1亿美元,增长5.3%。 1、一季度,全国进出口总值约为多少? 2、一季度,全国出口额同比增长多少? 3、三月份,全国进出口总值约为多少? 4、三月份,全国出口总值同比增速约为多少? 【注】进出口有关问题,为资料分析中一种易错点,注意题目中进出口、进口、出口表述,注意进出口量与进出口额不同,理解顺差、逆差含义 出口-进口=顺差,反之则是逆差 2、资料分析惯用基本概念 一、百分数、百分点 百分数,表达是将相比较基期数值抽象为100,然后计算出来数值,用“%”表

马士兵java基础笔记 pdf版 面向对象部分

一面向对象设计思想 ◆面向对象设计思想是,从现实世界中客观存在的事物出发构造软件系统,并在系统的构 造中尽可能运用人类的自然思维方式。 ◆面向对象更加强调运用人类在日常思维逻辑中经常采用的思想方法与原则,如抽象、分 类、继承、聚合、多态。 ◆对象用计算机语言对问题与中事物的描述,对象通过属性(attribute)和方法(method)来分 别对应事物所具有的静态属性和动态属性。 ◆类是用于描述同一类型的对象的一个抽象的概念,类中定义了这一对象所因具有的静态 和动态属性。 ◆类可以看成一类对象的模板,对象可以看成该类的一个具体实例。 ◆类(对象)之间的关系: 1.关联关系:映射到代码一个类的方法里面是另外一个类的对象,我的方法的参数是 你这个类的对象 2.继承关系:什么什么是什么 3.聚合关系 聚集:谁谁是谁的一部分。组合:咱们俩密不可分! 4.实现关系:

5.多态 总结: ●考虑问题里面有哪几个类,哪几个对象;找名词 ●每种类有哪些属性和方法; ●类和类之间的关系。 二Java与面向对象 ◆对象是Java的核心,在Java中“万事万物皆对象”。 ◆对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体。 ◆类是用来创建同一类型的对象的模板,在一个类中定义了该类对象所具有的成员变量以 及方法。 ◆为什么用对象? 1)Reusable 2)Extensiblity 3)维护和替换更加方便。 三Java中面向对象内存分析 1.Java类的定义 2.成员变量(返回值输出之后也消失,返回值在栈中) 3.引用 Java语言中除基本类型之外的变量类型都称之为引用类型。 Java中的对象是通过引用对其操作的。 引用类型占两块内存,堆栈中的引用,对里面的对象 String s = new String(“aaa”); s→[],s在栈中,”aaa”在堆里面。 4.对象的创建和使用 ◆必须使用new关键字创建对象。 ◆使用对象(引用).成员变量或来引用对象的成员变量。

【黑马程序员】毕向东老师Java基础入门教程笔记

【黑马程序员】毕向东老师Java基础入门教程笔记 毕向东Java基础视频教程_适合初学者入门 完整视频:https://www.360docs.net/doc/f26663404.html,/course/7.html?1911sxkqq 提取码:ks8m 课程资料:https://https://www.360docs.net/doc/f26663404.html,/s/1jAjI85SlUTlrTuF_J2QNeQ 提取码:4bfg 黑马程序员视频库网址:https://www.360docs.net/doc/f26663404.html,(海量热门编程视频、资料免费学习)学习路线图、学习大纲、各阶段知识点、资料网盘免费领取+QQ 3285264708 / 3549664195 1.编程:人与计算机之间交流的过程就是编程。 2.Java语言特点:跨平台性。原理:JAVA程序是通过java虚拟机运行在系统平台上的, 只要该系统可以安装相应的java虚拟机,该系统就可以运行JAVA程序。 3.JRE和JDK的区别: JDK:开发工具包,JDK是提供给开发人员使用的工具包。 JRE:JAVA运行环境包括java虚拟机和java程序所需的核心类库。 4.JAVA虚拟机jvm 是JAVA语言的运行环境,jvm读取并处理编译过的与平台无关的字节码文件 5.JAVA程序运行机制 Java源文件通过javac.exe 编译器编译成字节码文件,然后再通过jvm运行。 6.Java中需要注意的地方:一个JAVA源文件只定义一个类,不同的类使用不同的源文件 定义;将每个源文件中单独定义的类都定义成public的;保持JAVA源文件的主文件名与源文件中的类名一致;

7.Main方法的作用:程序的入口,保证程序的独立运行,被JVM调用。 8.文档注释: 单行注释:// 多行注释/* */ 文档注释/** */ 9.标识符的命名规则: 由字母、数字、下划线、$组成,不能以数字开头,严格区分大小写,不能使用关键字,10.Java中的常量和变量 定义变量的格式:数据类型变量名=初始化值; 作用范围:定义开始到定义它的代码块结束,定义范围内的左大括号开始,到右大括号结束。同一作用范围内,不允许多个局部变量命名冲突; 常量分为:整型常量小数常量布尔型常量字符型常量空常量(null)。、 11.整型常量:三种表现形式:计算机中存放的是二进制最低组成单位是八位,每八位 表示一个字节。 分为十进制八进制十六进制 12.局部变量和成员变量 局部变量:不是声明在类体括号里面的变量; 局部变量使用前必须初始化值; 局部变量没有默认初始化值; 局部变量的作用域是从定义开始到定义它的代码块结束; 成员变量:在方法体外,类体内声明的变量,又称字段(Field)或全局变量;(其实Java中没有全局变量,由于Java是面向对象语言,所有变量都是类成员),没有初始化时,会被赋予默认的初始化值。

粉笔资料分析听课笔记(整理版)

粉笔资料分析听课笔记(整理版) 一、常用分数、百分数、平方 1 3 =33.3% 1 4 =25% 1 5 =20% 1 6 =16.7% 1 7 =14.3% 1 8 =12.5% 1 9 =11.1% 1 10 =10% 1 11 =9.1% 1 12 =8.3% 1 13 =7.7% 1 14 =7.1% 1 15 =6.7% 1 16 =6.3% 1 1.5 =66.7% 1 2.25 =44% 1 2.5 =40% 1 3.5 =28.6% 1 4.5 =22% 1 5.5 =18.2% 1 6.5 =15.4% 1 7.5 =13.3% 1 8.5 =11.8% 1 9.5 =10.5% 1 10.5 =9.5% 1 11.5 =8.7% 1 12.5 =7.8% 1 13.5 =7.4% 1 14.5 =6.9% 1 15.5 =6.5% 1 16.5 =6.1% 22=2 32=9 42=16 52=25 62=36 72=49 82=64 92=81 102=100 112= 121 122=144 132=169 142=196 152=225 162=256 172=289 182=324 192=361 202=400 212=441 222=484 232=529 242=576 252 =625 262=676 272=729 282=784 292=841 二、截位直除速算法 逍遥龙舞公考笔记1

三、其他速算技巧 1、一个数×1.5,等于这个数本身加上这个数的一半。 2、一个数×1.1 等于这个数错位相加. 3、一个数×0.9 等于这个数错位相减. 4、一个数÷5,等于这个数乘以2,乘积小数点向前移 1 位。 5、一个数÷25,等于这个数乘以4,乘积小数点向前移 2 位。 6、一个数÷125,等于这个数乘以8,乘积小数点向前移 3 位。 7、比较类:①分母相同,分子大的大;分子相同,分母小的大。 ②分子大分母小>分子小分母大。③当分母大分子大,分母小分子小 时,看分母与分母的倍数,分子与分子的倍数,谁倍数大听谁的,谁 小统统看为1,再比较。 四、统计术语 1、基期:相对于今年来说,去年的就是基期。 2、现期:相对于去年来说,今年的就是现期。 3、基期量:相对于今年来说,去年的量就是基期量。 4、现期量:相对于去年来说,今年的量就是基期量。 5、增长量:现期量和基期量的差值,就是增长量。 6、增长率:增长量与基期量的比值,就是增长率。 7、倍数:A是B的多少倍;A为B 的多少倍,等于增长率加1。 辨析:A比B增长了500%,那么就是A比B增长(多)5 倍,A是B的6 倍。 逍遥龙舞公考笔记2

java各知识点详细总结(毕向东笔记整理)

Java基础知识总结 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。 4,代码实现。用具体的java语言代码把思路体现出来。 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用。demo 4,该技术什么时候用?test。 ----------------------------------------------------------------------------------------------- 一:java概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器; 1994年将Oak语言更名为Java; Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发; JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础; JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序; 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。 2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java 虚拟机)。 3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。 环境变量的配置: 1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk path=%JAVA_HOME%\bin 2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin 特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。 classpath的配置: 1):永久配置方式:classpath=.;c:\;e:\ 2):临时配置方式:set classpath=.;c:\;e:\ 注意:在定义classpath环境变量时,需要注意的情况 如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件; 如果指定了classpath,那么会在指定的目录下查找要运行的类文件。 还会在当前目录找吗?两种情况: 1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。 2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目

资料分析知识点(整理版)

资料分析 第一节 增长 【例1】2012年国家外汇储备33116亿美元,2011年国家外汇储备31812亿美元。 {求增长量}○12012年国家外汇储备比上年增加了多少亿美元? {求增长率}○22012年国家外汇储备比上年增加了百分之几? 解析:○133116-31812;○2%10013181233116%100318123181233116??? ? ??-=?- 【例2】2012年2月因低温冷冻天气造成直接经济损失61亿元,比1月份减少27亿元,比2011年2月减少21亿元。2012年2月的损失比1月减少了百分之几?比上年2月减少了百分之几? 解析:○1%100276127?+;○ 2%100216121?+ 【例3】2012年社会消费品零售总额183996亿元,2012年社会消费品零售总额比2011年增长了14.3%。

{求基期量}①2011年社会消费品零售总额为多少亿元?(% 3.141183996+) {求现期量}②按此增速,到2013年社会消费品零售总额预计达到多少亿元?(()%3.141183996+?) {求现期量}③2012年社会消费品零售总额比2011年多多少亿元?(%3.14% 3.141183996?+) 第二节 同比增长与环比增长 1.同比是强调相同时间特性下的两个量之间的比较;而环比则是强调时间顺延下的两个量之间的比较。 2、有关公式

第三节 年均增长与年均增长率 时间差 首段时间该指标量末段时间该指标量平均增长量-= 如果第m 年数据指标为A ,第n 年数据指标为B ,那么这几年 年均增长量=m n A B -- ★年均增长量是指标在一段时间内平均每年的增长幅度。如果第m 年数据指标为A ,第n 年数据指标为B ,这几年的年均增长率为x ,且1-=-m n A B x ① (1)已知第m 年数据指标为A ,年均增长率为x ,求第n 年数据指标B 。 [] 略大于该值)B x m n A x A B m n ()(1)1(-+?≈+?=-②(前提:x <10%) (2)已知第m 年数据指标为A ,第n 年数据指标为B ,求年均增长率。 第n 年相对于第m 年的增长率为x ,1-=A B x 根据①式得()A B x m n =+-1,则有()11+=+-x x m n 根据二项式展开得()()()2 2 1x m n m n x m n x ---+-≈③,()实际值1-

Java基础学习(基础语法)

Java语言学习笔记 1、java基础语法 1.1组成元素: 1.1-1标识符: (1)作用:起名字,变量、方法、源文件, (2)标识符规则:只能由字母、数字、_、$组成,数字不能打头,java 支持汉字,不推荐使用汉字,尽量见名知意,java严格区分大小写 1.1-2关键字:也叫保留字,系统保留的标示符,系统赋予关键字特殊的语法含义,我们不能将关键字当做普通的标示符使用,只能使用系统赋予的语法编程 1.1-3数据类型: (1)作用: ①、对变量类型严格控制; ②、对不同类型变量内存空间进行分配 (2)基本类型: ①、整数类型: a、byte占8位,[-128,127] b、short占16位,[-2^15,2^15-1] c、int占32位,[-2^31,2^31-1] d、java中整数默认是int类型,如果一个整数超过了int的范围则需要在其后加L(l)将int数据转换为long e、long占64位,[-2^63,2^63-1] f、int a = 5;

java中整数支持2进制,8进制和16进制 a、2进制整数用0b开头 b、8进制整数用0开头 c、16进制整数用0x开头 d、0x11~~16= a,b,c,d,e,f ②、小数类型:也叫浮点型 a、浮点型数据有精度的区分 float:单精度浮点型,精确位数为6到8位,小数点不占位数。 double:双精度浮点型,精确位数为14到16位。 java中小数默认是double类型,所以必须在使用float时需要在数据后加F(f)将double转换成float类型。 ③、字符类型: java采用的是unicode编码方式,使用两个字节对所有字符进行编码范围为[0,65535] (字符编码有:ascii、gbk、gb2312、gb18030、big5、iso-8859-1) char表示单个字符,使用 ' ' 括起来,汉字也是字符 转义字符:\; \\:表示\ ;\t:表示tab;\r:表示回车;\n:表示换行。 windows中enter键就是\r\n表示回车换行,linux中使用\n表示换行 (3)引用类型: ①、类(后面会补充) ②、接口(后面会补充)

(完整版)粉笔资料分析听课笔记(整理版)

粉笔资料分析听课笔记(整理版)一、常用分数、百分数、平方 1 3=33.3% 1 4 =25% 1 5 =20% 1 6 =16.7% 1 7 =14.3% 1 8 =12.5% 1 9=11.1% 1 10 =10% 1 11 =9.1% 1 12 =8.3% 1 13 =7.7% 1 14 =7.1% 1 15=6.7% 1 16 =6.3% 1 1.5=66.7% 1 2.25 =44% 1 2.5 =40% 1 3.5 =28.6% 1 4.5 =22% 1 5.5=18.2% 1 6.5 =15.4% 1 7.5 =13.3% 1 8.5 =11.8% 1 9.5 =10.5% 1 10.5=9.5% 1 11.5 =8.7% 1 12.5 =7.8% 1 13.5 =7.4% 1 14.5 =6.9% 1 15.5=6.5% 1 16.5 =6.1% 22=2 32=942=1652=2562=3672=4982=64 92=81 102=100112= 121122=144132=169 142=196152=225 162=256 172=289182=324192=361202=400212=441 222=484 232=529242=576252=625 262=676272=729 282=784 292=841 二、截位直除速算法

三、其他速算技巧 1、一个数×1.5,等于这个数本身加上这个数的一半。 2、一个数×1.1等于这个数错位相加. 3、一个数×0.9等于这个数错位相减. 4、一个数÷5,等于这个数乘以2,乘积小数点向前移1位。 5、一个数÷25,等于这个数乘以4,乘积小数点向前移2位。 6、一个数÷125,等于这个数乘以8,乘积小数点向前移3位。 7、比较类:①分母相同,分子大的大;分子相同,分母小的大。 ②分子大分母小>分子小分母大。③当分母大分子大,分母小分子小时,看分母与分母的倍数,分子与分子的倍数,谁倍数大听谁的,谁小统统看为1,再比较。 四、统计术语 1、基期:相对于今年来说,去年的就是基期。 2、现期:相对于去年来说,今年的就是现期。 3、基期量:相对于今年来说,去年的量就是基期量。 4、现期量:相对于去年来说,今年的量就是基期量。

相关文档
最新文档