当前位置:文档之家› java笔记

java笔记

java笔记
java笔记

前提

?j ava对大小写敏感,如果出现了大小写拼写错误,程序无法运行

? java的核心优势:跨平台

?main方法是java应用程序的入口方法,它有固定的书写格式:

—public static void main(String[] args){…}

?在java中,用花括号划分程序的各个部分,任何方法的代码都必须以“{”开始,以“}”

结束,由于编译器忽略空格,所以花括号风格不受限制。

?java一个语句可以跨多行。中每个语句必须以分号结束,回车不是语句的结束标志。?摩尔定律,IT行业每隔一年半就会翻一番。

?一个源文件可以有class,但是public class至多只能有一个,且public class的类名必须和文件名保持一致。

?//单行注释(注释内容从//到本行结尾)

/**/多行注释(多行注释不能嵌套)

?dos常用命令:

cd 进入一个目录

cd.. 进入上一个目录

dir 查看目录里面的内容

上下键查找敲过的命令

Tab键命令自动补齐

?标示符identifier

1.作用:给变量、类和方法命名。

2.java标识符有如下命名规则:

①标识符必须以字母、下划线_、美元符$开头

②标识符其他部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。

③java标识符大小写敏感,且长度无限制。

④不可以是java的关键字。

3.注:java不采用通常语言使用的ASCII字符集,而是采用unicode这样的标准的国字

符集。因此,这里的字母的含义:英文。汉字等等。(不建议大家使用汉字来定义标识符!)

4.不合法的标识符:

int 1a= 3; //不能用数字开头

int a#= 3; //不能包含#这样的特殊字符

intint= 3; //不能使用关键字

?一个字节8位

?java常用单词:

public 公共的

class 类

static 静态的

void 无返回类型

main 主要

String 字符串

args参数

System 系统的 out 输出设备 print 打印

\t 输出8个空格相当于一个制表位 \n 换行

一、JAVA 基本数据类型

?Java 是一种强类型语音,每个变量都必须声明其类型。

1.整数类型

注:比long 还大的是big integer (大整数的意思)

?Java语言整型常数的三种表示形式:

十进制整数,如99,-500,0

八进制整数,要求以0开头,如015

[八进制里面0.1.2.3.4.5.6.7.10(表示8)]

十六进制整数,要求以0x或0X开头,如0x15

[16进制里0.1.2.3.4.5.6.7.8.9.a(表示10).b.c.d.e.f.10(表示16)]

?Java语言整型常数的默认为int型,声明long型常量可以后加‘l’或‘L’(建议使用大写,小写容易误认为数字1)如:

long a=555555; //不出错,在int的表示范围内(21亿)

long b=55555555555555; //不加l出错,已经超过int表示的范围。此处应为

long b=55555555555555L

2.浮点类型

double d=1.0/10

System.out.println(f==d); //false

使用总结:

- 默认是double

- 浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产出舍入误差的精确数字计算,需要使用BigDecimal(大小数的意思)类。

- 最好避免比较中使用浮点数(有误差,例如float f=0.1f 不等于double d=1.0/10)

- float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足要求

- double表示这种类型的数值精确到float类型的两倍,又被称作双精度,绝大部分应用程序都采用double类型

- 浮点数值默认为double类型,要将其变成float类型,需要在后面加F/f,如3.14F

3字符型

?单引号用来表示字符的常量,例如’A’是一个字符,它与”A”是不同的,”A”表示含有一个字符的字符串

?char类型用来表示在Unicode编码表中的字符

?Unicode编码被设计用来处理各种语言的所有文字,他/它占2格字节,可以允许有65536格字符;

?java语言中还允许使用转义字符’\’来将其后的字符转变为其他的含义,char c2 =’\n’; //代表换行符

?char是在0-65535范围,运算时只当作整数来运算

?可以把0-65535之间的整数直接转型为char

4布尔型(一位,不是一个字节)

?boolean类型有两个值,true和false

?boolean类型用来判断逻辑条件,一般用于程序流程控制

实践:

-请不要这样写:if(is==true&&done==false),只有新手才那样写。

对于任何程序员if(whether&&!done)都不难理解吧。所以去掉所有的==fasle和==true。

二、数据类型转换

?图中黑色实线表示无数据丢失的自动类型转换,而红色的虚线表示在转换时可能会精度的损失

?容量小的数据类型可以自动转换为容量大的数据类型。

inti=3;

double d=i;

float f=I;

double d2=f;

?特例:

可以将整型常量直接赋值给byte,shot,char等类型的变量,而不需要进行强制类型转换,只要不超出其表数范围

?做所有的二元运算符(+-*/%),都会有类型提升的问题

?操作比较大的数时,要注意是否溢出,尤其是整数操作时。例如:

//一个人70年心跳多少次

long times = 70*60*24*365*70;

System.out.print(times); //这个时候就会溢出,所以要在数字后面将一个L来提升类型,但是加的时候最好加到第一位数字后面,因为加在后面有可能前面就已经溢出了,后面再提升类型还是溢出的。此处应为:

long times = 70L*60*24*365*70

?小数强制转型整数时只取小数的整数部分

三、变量和常量

1.变量

?变量在使用前必须对其声明,只有在变量声明以后才能对其分配相应长度的储存单元。变量包括声明+初始化(赋值)

?变量的声明可以在一行里面声明多个,一般建议一行声明一个

?局部变量:方法或语句块内部定义的变量

—在使用前必须先声明和初始化

?实例变量(成员变量):

—方法外部、类的内部定义的变量

—如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量初始化值是16位的0,布尔型默认是false)\u0000

例:

public class TestVarialbe {

int t; //实例变量(成员变量)

public class void main(String[]args){

int a;

a=5;

intx,y,z //局部变量

}

}

2.常量

?只能被初始化一次

?常量一般用大写

3.命名规范

?所有变量、方法、类名:见名知意

?变量、方法名:

—首字母小写和驼峰原则

—run(),runRun(),ageageNewminthSalary

?常量(final):

—大写字母和下划线:MAX_VALUE

—例:

public class Constants{ public static void main(String[] args){

final double Pl = 3.14; //Pl = 3.15; // 这是错误的,加上final 以后就是常量就不能再赋值了 } }

? 类名:

—首字母大写和驼峰原则:Man, GoodMan

四、运算符

?

java 语言支持如下运算符:

? —算术运算符: + ,-, *, /,%(前面为二元运算符后面为一元运算符),+ +,- -

—赋值运算符: =

—关系运算符:> ,<, >= ,<= ,= =, ! = instanceof —逻辑运算符:&&,||,!

—位运算符:&,|,^, ~ , >>, << , >>>(了解!!!) —条件运算符?:

—扩展赋值运算符: + =, - =, *= ,/= ? 二元运算符类型提升:

— 整数运算:

?如果两个操作数有一个为long ,则结果也为long

? 没有long 时,结果为int 。几十操作数全为shot ,byte ,结果也是int — 浮点运算:

?如果两个操作数有一个为double ,则结果为double 。 ?只有两个操作数是float ,则结果为float 。 ?一元运算符(+ + ,- -): int a = 3;

int b = a++; //执行完后,b=3.先给b 赋值,再自增。 int c = ++a; //执行完后,c=5.先自增,再给5赋值。 ?布尔逻辑表达符

? 逻辑与:&&

false

? 逻辑或:||? 逻辑非:! ? 逻辑与和逻辑或采用短路的方式

—Boolean c = 1>2&&2>(3/0);&&不会抛异常;说明没有执行3/0; ?位运算符:

~ ——取反&——按位与

| ——按位或 ^ ——按位异或(相同为0相异为1) <<——左移运算符 >>——右移运算符 例:

int m =8; //1000

int n =4; //0100

System.out.println(m&n); //0

?笔试可能会考:

—左移一位相当于乘2。

—右移一位相当于除2取商。

int a = 3*2*2;

int b = 3<<2; //相当于:3*2*2;

int a = 12/2/2;

int b = 12>>2;

?字符串连接符

—“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。例如

String str = “5”;

int s = 4;

System.out.println(s+str); //这样输出来的是45,因为含有字符串str,所以“+”

自动转换为连接符

?扩展运算符:

举例:

?条件运算符(三元运算符,三目运算符)

?三目条件运算符,语法格式:

—x?y:z

—其中x为boolean表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。

例:

int a =3;

int b=5;

String str=””;

/*

if(a

str = “a

}else{

str = “a>b”

}

*/

str = (ab”;

System.out.println(str);

?经常用来代替简单的if-else判断!

?运算优先级的问题

?不需要刻意的记优先级关系

?先加减后乘除,表达式里面优先使用小括号来组织!!

五、控制语句

?if

?if语句对条件表达式进行一个测试,若测试为真,则执行下面的语句,否则跳过该语句?附:

Math类的使用:

intI = (int)(6*Math.rathom());

//[0,5]之间的数。random是产生[0,1)之间的随机数

if-else双选择结构

?当条件表达式为真时,执行语句块1,否则,执行语句块2。也就是else的部分。

if-else if-else多选择结构

?if(布尔表达式1){

—语句块1;

?}else if(布尔表达式2){

—语句块2;

?}……

?else if(布尔表达式n){

—语句块n;

?}else{

—语句块n+1;

?}

?逐条if语句进行判断

—条件匹配,进入语句体

—否则对if语句继续匹配

?例:

public class TestIf {

public static void main(String[] args){

double d = Math.random();

int e = 1+(int)(d*6); //[1,6]

System.out.println(e);

if(e<3){

System.out.println("小数");

}else{

System.out.println("大数");

}

System.out.println("开始测试多选择结构");

if(e<=2){

System.out.println("我勒个叉");

}else if(e<=4){

System.out.println("还凑合");

}else if(e<=5){

System.out.println("这还差不多");

}else if(e==6){

System.out.println("我勒个叉叉叉这么厉害!");

}

}

}

switch多值选择结构

?switch语句会根据表达式的值从相匹配的执行,一直执行到break标签处开始ak语句处或者是switch语句的末尾。与任一case值不匹配,则进入default语句(如果有的话)?根据表达式值的不同执行许多不同的操作

switch(表达式){

case值1:

语句序列;

[break];

case 值2:

语句序列;

[break];

……………

[default]:

默认语句;]

}

例:

double d = Math.random();

int e =1+(int)(d*6);

System.out.println(e);

System.out.println("测试多选择结构");

if(e==6){

System.out.println("运气非常好!");

}else if(e==5){

System.out.println("运气很不错!");

}else if(e==4){

System.out.println("运气还行吧");

}else{ //1,2,3

System.out.println("运气不好!");

}

System.out.println("#########################");

switch(e){ //int,或者自动可以转为int的类型(byte,char,short)。枚举。//JDK7中可以放置字符串。

case 6:

System.out.println("运气非常好!");

break; //一般在每个case后面都要加break,防止出现case穿透现象。

case 5:

System.out.println("运气很不错!");

break;

case 4:

System.out.println("运气还行吧");

break;

default:

System.out.println("运气不好!");

break;

}

也可以这么用(教程18):

System.out.println("***************************下面例子反过来利用了case穿透现象!");

char c = 'a';

int rand =(int) (26*Math.random());

char c2 = (char)(c+rand);

System.out.print(c2 + ": ");

switch (c2) {

case 'a':

case 'e':

case 'i':

case 'o':

case 'u':

System.out.println("元音");

break;

case 'y':

case 'w':

System.out.println("半元音");

break;

default:

System.out.println("辅音");

}

JDK7新特性之:switch增强

?—JDK7之前:表达式结果只能是int(可以自动转为int的byte、shot、char),枚举类型。—JDK的表达式结果可以是:字符串

While循环

?在循环开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会开始前重新计算一次。

?语句中应有使循环趋向于结束的语句,否则会出现无限循环——“死”循环。

例:int a = 1; //初始化

while(a<=100){ //条件判断

System.out.println(a); //循环体

a++; //迭代

}

System.out.println("while循环结束!"); //从1写到100

? Do-while循环(用的很少,了解!!)

?Dowhile:先执行,后判断。

?While:先判断,后执行。

?它们的主要区别是:Dowhile总是保证循环体会被至少执行一次!

?For循环

?for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构

?语法形式

?for(初始表达式;布尔表达式;步进){

—循环体;

?for循环在执行条件测试后,先执行程序部分,在执行步进。

?在for语句的初始化部分声明的变量,其作用域为整个for循环体

?for循环的本质和while循环是一样的,上面while的例子也可以用for写成:for(inti = 1;i<=100;i++){ //初始化//条件判断//迭代

System.out.println(i); //循环体

}

System.out.println("while循环结束!");

练习一

? 1.用while和for循环分别计算100以内的奇数和偶数的和,并输出。? 2.用while和for循环输出1-1000之内能被5整除的数,且每行输出3个。? 3.打印输出九九乘法表。

? 4.编程求:∑1+∑2+……+∑100

? 5.编程求:1!+2!+3!+ (10)

答案:1

intoddSum = 0; //用来保存奇数的和

intevenSum = 0; //用来存放偶数的和

for(inti=0;i<=100;i++){

if(i%2!=0){

oddSum += i;

}else{

evenSum += i;

}

}

System.out.println("奇数的和:"+oddSum);

System.out.println("偶数的和:"+evenSum);

答案2:

for(int j = 1;j<=1000;j++){

if(j%5==0){

System.out.print(j+"\t");

}

if(j%(5*3)==0){

System.out.println();

答案3::

public static void main(String[] args) {

for (int m = 1; m <= 9; m++) {

for (inti = 1; i<= m; i++) {

System.out.print(i + "*" + m + "=" + (i * m) + "\t");

}

System.out.println();

答案4:

int sum=0 ;

for(int b=1;b<=100;b++){

int sum1=0;

for(int a =0;a<=b;a++){

sum1 +=a;

}

sum+=sum1;

}

System.out.println(sum); 答案5:

int sum=0 ;

for(int b=1;b<=10;b++){

int sum1=1;

for(int a =1;a<=b;a++){

sum1 *=a;

}

sum+=sum1;

}

System.out.println(sum);

break和continue

?在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中的剩余的语句。(break语句还可以用于多支语句switch中)

?continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断。

?带标签的break和continue(了解!)

goto关键字很早就在程序语言中出现。goto是java中的一个关键字,但是并没座正式使用。

java没有goto。然而在break和continue上我们仍然可以看出一些goto的影子——带标签的break和continue。

例:打印101~150之间所有的质数

int count = 0;

outer:for(inti =101; i< 150 ; i++){

for(int j=2; j

if(i % j = 0)

continue outer;

}

System.out.print( i + “”);

}

六、方法(method、function)

?java的方法类似于其他语言的函数,是一段用来完成特点功能的代码片段,声明格式:{修饰符1 修饰符2 …} 返回值类型方法名(形式参数列表){ java语句;………}

?形式参数:在方法被调用时用于接收外界输入的数据。

?实参:调用方法时实际传给方法的数据。

?返回值:方法在执行完毕后返回给调用它的环境的数据。

?返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。?java语言中使用下述形式调用方法:对象名、方法名(实参列表)

?实参的数目、数据类型和次序必须和锁调用方法声明的形参列表匹配

?return语句终止方法的运行并制定要返回的数据。{两个作用:结束方法(是这个方法,不是整个程序)的运行、返回值}

?java中进行方法调用中传递参数时,遵循值传递的原则:

基本类型传递的是该数据值本身。引用类型传递的是对对象的引用,而不是对象本身。? java中只有值传递!

?设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。

例:public static void test01(int a) {

intoddSum = 0; // 用来保存奇数的和

intevenSum = 0; // 用来存放偶数的和

for (inti = 0; i<= a; i++) {

if (i % 2 != 0) {

oddSum += i;

} else {

evenSum += i;

}

}

System.out.println("奇数的和:" + oddSum);

System.out.println("偶数的和:" + evenSum);

}

public static void test02(inta,intb,int c){

for (int j = 1; j <= a; j++) {

if (j % b == 0) {

System.out.print(j + "\t");

}

if (j % (b * c) == 0) {

System.out.println();

}

}

}

public static void main(String[] args) {

test01(1000);

test02(100,6,3); //1-100之间,可以被6整除,每行输出3个。

七、递归结构

?递归是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是“自己调用自己”,一个使用递归技术方法将会直接或者间接的调用自己。

?递归结构包括两个部分:

—定义递归头。解答:什么时候不调用自身的方法。如果没有头,将陷入死循环。

—递归体。解答:什么时候需要调用自身方法。

例:static long factorial/*阶乘*/( int n ){

if( n == 1){

return 1;

}else{

return5*factorial( n-1 )

}

八、API文档

?API是什么?

—Application Programming Interface应用程序编程接口

package包的用法

?package的简单用法

—java中的核心包:https://www.doczj.com/doc/6d2085278.html,ng包

?为什么需要package?

—为了解决类之间的重名问题。

—为了便于管理类:合适的类位于合适的包!

?package怎么用?

—通常是类的第一句非注释性语句(打包语句)。

—包名:域名倒着写即可,再加上模块名,并与内部管理类。

?注意事项:

?写项目时都要加包,不要使用默认包。

?com.gao和com.gao.car,这两个包没有包含关系,是两个完全独立的包。只是逻辑上看起来后者是前者的一部分。

? JDK中主要的包

?https://www.doczj.com/doc/6d2085278.html,ng

包含一些java语言的核心类,如String、Math、Interger、System和Thread,提供常用功能

?java.awt

包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。

?https://www.doczj.com/doc/6d2085278.html,

包含执行与网络相关的操作的类。

?java.io

包含能提供多种输入/输出功能的类。

?java.util

包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。

?生成自己项目的API文档

?特殊的注释:

—文档注释:/**

?使用JAVADOC生成API文档

—解决问题:代码和文档的分离

?常用的java注释标签:

—@Author作者

—@version版本

—@param参数

—@return 返回值的含义

—@throws 抛出异常描述

—@deprecated废弃。建议用户不再使用该方法

九、面向对象

?对象:是具体的事物

?类:是对对象的抽象(抽象抽出象的部分)

?先有具体的对象,然后抽象各个对象之间象的部分,归纳出类,通过类再认识其他对象。?面向对象(OOP)的本质:

—以类的方式组织代码,以对象的方式组织(封装)数据。

?对象和类的关系:特殊到一般,具体到抽象。

?类:我们叫做class 。对象:我们叫做Object,instance(实例)。我们说某个类的对象,某个类的实例,是一个意思。

?类可以看成一类对象的模板,对象可以看成该类的一个具体实例。

?类是用于描述一类形的对象的一个抽象的概念,类中定义了这一类对象所应具有的静态和动态属性。

?对象是java程序的核心,在java程序中“万事万物皆对象”。

?JDK提供了很多类供编程人员使用,程序人员也可以定义自己的类。

?Java语言中除基本类型之外的变量类型都称之为引用类型。

?Java中的对象是通过引用对其操作的。

类的属性

?属性field,或者叫成员变量

?属性用于定义该类或者该类对象包含的数据或者说静态属性。

?属性作用范围是整个类体

?在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。

(数值:0,0.0 char:\u0000, boolean:false,所有引用类型:null)

?属性的定义格式:

类的方法

?面向对象中,整个程序的基本单位是类,方法是从属于类的。

?方法定义的格式:

[修饰符] 方法返回值类型方法名(形参列表){

//n条语句

}

?Java中方法参数的传递是:值传递!

?局部变量只有初始化才能用,实例变量可以自动初始化;局部变量在方法内部,实例在方法外部。(但在类的内部)

内存分析

?栈:(自动分配连续的空间,后进先出。)存放:局部变量

?堆:(不连续)存放new出来的对象

?方法区:(也是堆)存放:类的信息(代码)、static变量、常量池(字符串常量)等。

面向对象的三大特征

?继承

?封装/隐藏

?多态(为了适应需求的多种变化,使代码变得更加通用!)

1.继承

?类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界更好的建模。?提高代码的复用性!

?extends的意思是“扩展”。子类是父类的扩展

?小结:

子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法)

java中类只有单继承,没有像C++那样的多继承。(一个类只有一个直接父类),多继承就是为了实现代码的复用性,却引入了复杂性,使得系统类之间的关系混乱。

java中的多继承,可以通过接口来实现

如果定义一个类,没有调用extends,则它的父类是:https://www.doczj.com/doc/6d2085278.html,ng.Object。

例:public class Animal {

String eye;

public void run(){

System.out.println("跑跑!");

}

}

class Mammal extends Animal {

public void taisheng(){

System.out.println("我是胎生");

}

?方法的重写(override)

—在子类中可以根据需要对从类中继承来的方法进行重写。

—重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。

—重写方法不能使用比重写方法更严格的访问权限。(由于多态)

?Object类

—Object类是所有java类的根基类

—如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类

—重写:toString方法:默认返回:包名+类名+@+哈希码(根据对象内存位置生成,唯一不重复!)

super关键字

?super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。?普通方法:没有顺序限制。可以随便调用。

?构造函数中:任何类的构造函数中,若是构造函数的第一行代码没有显示的调用super (…);那么java默认都会调用super();作为父类的初始化函数。所以你这里的super();

加不加都无所谓。

?所有的构造器里(除了Object构造器)第一句话总是super。

垃圾回收机制(Garbage Collection)(了解!!)

?对象空间的分配:使用new关键字创建对象即可

?对空间的释放:将对象赋值null即可。垃圾回收器将负责回收所有“不可达”对象的内存空间。

?要点:1.程序员无权调用垃圾回收站

2.程序员可以通过System.gc()。通知GC运行,但是JAVA规范并不能保证立刻运

行。

3.finalize方法,是java提供给程序员用来释放对象或资源的方法,但尽量少用。

十、构造器

?构造器又称为构造方法,constructor

?构造器用于构造该类的实例。

?格式如下:[修饰符] 类名(形参列表){

//n条语句

}

?是一种特殊的方法:

①通过new关键字调用!!

②构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类),不能

再构造器里调用return。

③如果我们没有定义构造器,则系统会自动定义一个无参数的构造函数。如果已定

义则编译器不会添加!

④构造的方法名必须和类名(不一定是文件名)一致!

⑤作用:构造该类的对象,经常也用来初始化对象的属性。

例://构造器和重载结合的例子

classMymath{

int a;

int b;

publicMyMath(){

}

publicMyMath(int a){

this.a = a;

}

publicMyMath(int b, int a){

this.b = b;

this.a = a;

}

}

重载(一个方法名可以对应多个方法,因为形参列表不同)

? 方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择相应的方法。 ? 两同三不同

—同一个类,同一个方法名

—不同:参数列表不同(类型,个数,顺序不同) ?

只有返回值不同不构成方法的重载( int a(String str ){}, void a{String i},

调用:a(), //不能说出调用哪个方法) ? 只有形参的名称不同,不构成方法的重载 ?

与普通方法一样,构造方法也可以重载

static 关键字

?

在类中,用static 声明的成员变量为静态变量,或者叫做:类属性,类变量。

它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显示初始

对于该类的所有对象来说,static 成员变量只有一份。被该类的所有对象共享!! 可以使用“对象.类属性”来调用。不过,一般都是用“类名.类属性”。 static 变量置于方法区中!

?

用static 声明的方法为静态方法(类方法) 不需要对象,就可以调用(类名.方法名)

在调用该方法时,不会将对象的引用传递给它,所以在static 方法中不可访问非

static 的成员。

? 类只能使用类的,对象既可以使用对象的也可以使用类的。

this 关键字(隐式参数)(当前对象的引用)

?普通方法中,this 总是指向调用该方法的对象。

?构造方法中,this 总是指向正要初始化的对象。 ?this 不能用于static 方法。 例:

public class Student {

Java笔记汇总

2010.3.11.Java笔记 1、定义一个年份判定这个年是否是闰年: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; publicclass near { publicstaticvoid main(String args[])throws IOException{ int year; String str; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in)); System.out.println("Input the year:"); str=buf.readLine(); year=Integer.parseInt(str); if(year%4==0&&year%100!=0||year%400==0) System.out.println("year"+year+"is a leap year."); else System.out.println("year"+year+"is not a leap year."); } } 2、求出1~100之间的奇数: publicclass qishu { publicstaticvoid main(String args[]){ int i,j; for(i=1;i<=100;i++){ if(i%2!=0){ System.out.print(i+" "); } } } } 3、一段刚才长2000米每天截取一半多少天后长度短于5米publicclass day { publicstaticvoid main(String args[]){ int i ,j=0; for(i=2000;i>0;i--){ if(i/2<5) j++;} System.out.print(j+" "); } } 4、求125的所有因子: publicclass yinzi { publicstaticvoid main(String args[]){ int i; for(i=1;i<=125;i++){ if(125%i==0){

最新计算机网络考研笔记

一、概述 1. 计算机网络最重要的功能 连通性:计算机网络使上网用户之间都可以交换信息 共享性:资源共享(信息共享,软件共享,硬件共享) 2. 因特网概述 网络:由若干节点和连接这些节点的链路组成 互联网:网络的网络 网络把很多计算机连在一起,因特网把很多网络连在一起 发展的三个阶段 第一阶段:由单个网络ARPANET向互联网发展的过程 第二阶段:建成了三级结构的因特网 第三阶段:逐渐形成了多层次ISP(Internet Service Provider)结构的因特网 因特网的标准化 因特网草案 建议标准 草案标准 因特网标准 3. 因特网的组成 边缘部分:所有连接在因特网上的主机组成,这部分是用户直接使用的 端系统(主机)进程之间通信的方式 客户/服务器(C/S)方式 客户是服务请求方,服务器是服务提供方 对等连接(P2P)方式 通信时并不区分哪一个是服务请求方还是服务提供方 核心部分:由大量网络和连接网络的路由器组成,为边缘部分提供服务的路由器:是实现分组交换的关键,转发收到的分组 电路交换:建立连接-通话-释放连接,线路的传输效率低 分组交换:采用存储-转发技术 报文:要发送的整块数据 首部(包头):报文划分成更小的数据块,数据块前面加上的必要的控制信息 分组(包):首部 + 数据段 优点:高效,灵活,迅速,可靠 问题:一定的时延,必须携带的控制信息也造成一定的开销主机:为用户进行信息处理的 4. 计算机网络的类型 计算机网络的定义:一些相互连接的,自治的计算机的集合 不同作用范围: 广域网(Wide Area Network) 城域网(Metropolitan Area Network) 局域网(Local Area Network) 个人区域网(Personal Area Network) 不同使用者:

(考研复试)计算机网络笔记

1:三网:电信网,有线电视网,计算机网 2:网络的功能:连通性,共享 3:网络发展3阶段:arpanet,三级结构因特网(围绕六个大型计算机中心建设的计算机网络,主干网,地区网,校园网),多层次ISP因特网。 4:因特网从工作方式上:边缘部分(用户直接使用),核心部分(联通和交换作用)。边缘部分的的各个主机的程序直接运行的通信方式主要有C/S客户服务器和P2P对等方式。客户:主动向服务器发起通信,不需要特殊的硬件和很复杂的操作系统。服务器一直运行等待客户程序。P2P就是两个主机不分服务器和客户机,只要建立连接就可以通信。核心部分向边缘部分提供连通性。 5:电路交换:电话机用,主叫和被叫之间建立一个连接,一直占用端到端的资源,建立连接,通话,释放链接,传输效率低,适合传送大量的数据以淡化连接时间 分组交换:采用存储转发技术,划分为等长的数据段,加上首部,首部中包含源地址,目的地址,序号等,各个分组通过不同的物理链路到达目的地,不先建立连接就可以向其他主机发送分组,高效,灵活,迅速,可靠。缺点:控制信息造成开销, 报文交换:整个报文为单位,存储转发。 6:广域网,城域网,局域网,个人局域网

7:性能指标:速率带宽(两点之间能通过的最高数据率)吞吐量时延(发送时延,传播时延,处理时延,排队时延)时延带宽积往返时间RTT 利用率 8:协议三要素:语法(数据和控制信息的格式)语义(需要发出何种信息,何种响应,完成何种动作)同步(事件实现顺序的说明) 9:分层的好处: (1)各层之间独立,某层不需要下层的实现,只需要知道借口。 (2)灵活性好,某一层发生变化,只要接口不变,其他层不改变 (3)结构上分开,各层采用最合适的技术实现。 (4)易于实现和维护 通常各层要完成的功能:差错控制,流量控制,分段和重装,复用分用,连接建立和释放。 10;OSI七层,TCP/IP 4层 11:应用层:直接为用户的应用进程提供服务。 表示层:为不同的进程的通信提供一种公共语言,并定义交换数据的表示形式。 会话层:维护两个会话实体之间的连接。 运输层:负责向两个进程之间的通信服务。有传输控制协议TCP 用户数据报UDP,一个主机有多个进程,所以有复

社会工作者初级实务重点笔记整理版

社会工作者初级实务重点笔记整理版 第一章社会工作实务的通用过程 第一节接案 一、接案的步骤及核心技巧(考点一、重点) (一)接案前的准备 1.什么是接案 “接案”是社会工作助人活动的开端,是社会工作者与潜在服务对象开始接触,了解其需要,帮助其逐渐成为服务对象并接受社会工作服务的过程.它的目标是要与服务对象建立一个良好的专业关系,为后续的预估和介入打下良好的工作基础 步骤或任务:p1★★★ 1、了解服务对象的求助原因和求助过程; 2、初步评估服务对象的问题; 3、决定是否接案; 4、订立初步协议。 2.了解服务对象的来源和类型 (1)了解服务对象的来源★:①主动求助者②由他人介绍或机构转介来的③外展 (2)认定服务对象的类型★:①自愿型服务对象②非自愿型服务对象 (3)现有服务对象与潜在服务对象★ (4)了解服务对象的求助过程★(自我解决——自然助人网络——社会工作者) 3.做好会谈的准备并拟定初次会谈提纲★ (1)服务对象资料的准备 (2)拟定初次面谈的提纲①介绍自己和自己的专长。②简要说明本次会谈的目的和内容、双方的角色和责任。③介绍机构的功能和服务、相关政策(如保密原则)和工作过程。④征求服务对象对会谈安排的意见,了解对机构和社会工作者的期望。⑤询问服务对象是否有需要紧急处理的事情,以便提供及时的协助。 (二)会谈 1.会谈的目的和会谈场所的安排 接案会谈的目的在于了解服务对象最关心的事项是什么,以便达成助人目标。 2.会谈的主要任务★★★ (1)界定服务对象的问题(2)澄清角色期望和义务(3)激励并促进服务对象进入角色(4)促进和诱导服务对象态度和行为的改变(5)达成初步协议 (6)决定工作进程:①终结服务②转介其他服务⑧进入下一个助人阶段 3.会谈的技巧 (1)主动介绍自己 (2)沟通:治疗性沟通,①提供支持;②减轻服务对象因求助带来内心的焦虑;③协助服务对象建立对自己和解决自己问题正确想法;

计算机网络技术笔记整理

全国计算机三级网络技术考试笔记整理 第一章计算机基础知识 1、计算机的发展阶段:经历了以下5个阶段(它们是并行关系):大型机阶段(经历四小阶段它们是取代关系)、小型机阶段、微型机阶段、客户机/服务器阶段(对等网络与非对等网络的概念)和互联网阶段(Arpanet是在1983年第一个使用TCP/IP协议的。在1991年6月我国第一条与国际互联网连接的专线建成它从中国科学院高能物理研究所接到美国斯坦福大学的直线加速器中心。在1994年实现4大主干网互连(中国公用计算机互联网Chinanet、中国科学技术网 Cstnet、中国教育和科研计算机网 Cernet、中国金桥信息网 ChinaGBN)) 2、计算机种类: 按照传统的分类方法:计算机可以分为6大类:大型主机、小型计算机、个人计算机、工作站、巨型计算机、小 巨型机。 按照现实的分类方法:计算机可以分为5大类:服务器、工作站、台式机、笔记本、手持设备。 3、计算机的公共配置:CPU、内存(RAM)、高速缓存(Cache)、硬盘、光驱、显示器(CRT、LCD)、操作系统(OS) 4、计算机的指标:位数指CPU寄存器中能够保存数据的位数、速度(MIPS、MFLOPS)指CPU每秒钟处理的指令数通常用主频来表示CPU的处理速度、容量(B、KB、MB、GB、TB)、数据传输率(Bps)、版本和可靠性(MTBF、 MTTR)。 5、计算机的应用领域:科学计算、事务处理、过程控制、辅助工程、人工智能、网络应用。(补充实例) 6、计算机系统的组成:硬件系统具有原子特性(芯片、板卡、设备、网络)与软件系统具有比特特性。且它们具有 同步性。 7、奔腾芯片的技术特点: 奔腾32位芯片,主要用于台式机和笔记本,奔腾采用了RISC和CISC技术(技术特点 10个请看书P8) 8、安腾芯片的技术特点:安腾是64位芯片,主要用于服务器和工作站。安腾采用简明并行指令计算(EPIC)技 术 9、主机板与插卡的组成: (1) 主机板简称主板(mainboard)或母板(motherboard)。由5部分组成(CPU、存储器、总线、插槽和电源)与 主板的分类

小组工作

小组工作概论 第一章小组工作概述 第一节小组工作的涵义 第二节小组工作的功能和类型 第三节小组工作的发展历史 第一节小组工作的涵义 一、什么是小组【了解】 小组是:团结,友爱、互相帮助,明确的分工,不要超过10人,彼此分享,互相信任,积极热情,活力奔放,思维创新,良好的沟通,理解,宽容,接纳,听从组长指挥 交流,互动,有归属感,共同成长,有责任的,可以共同完成任务,通过小组解决问题,自由自在的,坦诚,尊重,充分挖潜组员的潜能 小组的定义 小组是有组织,有秩序,有一定目标,彼此互相依存,有归属感和认同感,并持续互动的二人或以上的结合体。 二、什么是小组工作【掌握】 1、小组工作的定义: 海伦.诺森(Helen Northern): 小组工作将小组及当做过程也当做手段,他通过小组成员的支持,改善他们的态度、人际关系节气实际应付生存环境的能力。这种方法强调小组过程以及小组动力去影响案主的态度和行为。 2、小组工作的特征: 小组是由组员和工作者组成的专业关系体系(专业关系VS人际关系) 小组工作是在互动过程中,通过小组动力影响组员的态度和行为 影响小组发展的所有可能因素 小组工作既是过程,也是方法和手段 小组工作有明确的目标 第二节小组的功能和类型 一、小组工作功能 1、克莱恩【了解】 康复能力建立、矫正社会化、预防、社会行动、问题解决、社会价值 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的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目

(完整版)计算机网络(复习笔记)

计算机网络 第一章概论 Internet :指当前全球最大的、开放的、有众多网络相互连接而成的 特定计算机网路,它采用TCP/IP协议族。 1、因特网:从硬件和软件方面来说:数以百万计的互联的计算设备(主机= 端系统,通信链路communication link,运行网络应用);从分布式应用提供服务的联网基础设施:通信基础设施使能分布式应用,提供给应用 通信服务。 2、协议:定义了在两个或多个通信实体之间交换的报文格式和次序,以及 在报文传输和 / 或接受或其他事件方面所采取的动作。一组控制数据通信

的规则。 3、网络组成:网络边缘(应用与主机)、网络核心(路由器,网络的网络), 接入网。 4、网络边缘:面向连接服务——TCP( transmission Control protocol ):可靠 的,有序的字节流数据传送(丢包:确认和重传),采用流控制(发送方 不能过载接收方),拥塞控制(当网络拥塞时发送方“降低发送速率”)。 5、网络边缘:无连接服务——UDP( User Data protocol )用户数据报协议,无 连接,不可靠的数据传送,无流控,无拥塞控制。 6、网络核心:电路交换( circuit switching )和分组交换( packet switching )。 7、电路交换:为“呼叫”预留端到端资源,在电路交换网络中,沿着端系统 通信路径,为端系统之间通信所提供的资源在(缓存、链路传输速率) 在通信会话期间会被预留。(非共享)。将链路带宽划分为“片”,FDM 和TDM。 8、 FDM( frequency-division multiplexing )频分多路复用,该链路在连接期 间为每条连接专用一个频段。TDM(time-division multiplexing )时分多路复用,时间被划分为固定区间的帧,并且每帧又被划分为固定数量的时 隙,一个时隙可用于传输该连接。 9、分组交换(统计多路复用statistical multiplexing ):每个端到端数据划分为 分组,分组交换使用按需的方式分配链路。 10、分组交换与电路交换的对比:分组交换允许更多的用户使用网络;

小组工作笔记(周军版)

第一讲小组工作概述 第一节小组工作的涵义 个案工作 小组工作 社区工作 一、小组的定义 小组是有组织、有秩序、彼此相互依存、有归属感和认同感,并持续互动的两人以上的结合体。 案例讨论:一节火车车厢的乘客是小组吗? 二、小组的特征 1.包括两个以上的人 2.形成关系 3.有共同的目标和利益 4.成员间相互影响 5.有成员地位和角色的演变 6.成员有归属感 7.小组有发展的过程与阶段 8.有规范准则等社会控制 9.有小组的文化与气氛 三、小组工作的定义 工作者按照既定的目标、协助小组成员通过小组过程和小组动力,进行分享、分担及相互支持,从而改善他们的态度、人际关系和适应实际生存环境的能力,帮助组员解决问题和发展潜能。 思考问题:小组活动就是游戏吗? 四、小组工作的特征 1.小组工作是由工作者和组员组成的关系体系。 包含两种关系:一是工作者和组员的关系,二是组员和组员之间的关系。 注意:小组工作不是“个案工作的集合” 2.小组在互动过程中产生动力,带来改变 3.小组工作既是过程也是组员改变的方法的和手段。 4.小组工作都有明确的目标。 五、小组的效益 1.经济效益:可节省时间和人力,符合经济原则 2.小组具有不同的信息来源及多元的观点,为问题的了解、讨论与解决提供了丰富的参考意见。 3.小组成员可在互动中增进对自己及他人的了解。 4.小组能产生共同感受或经验。 5.回馈功能:小组提供给成员接受回馈的机会,小组中他人的建议、反应和看法都很有价值。 6.小组可提供“身临其境”的学习机会。 7.小组是真实生活的实验室。 六、小组的负面影响。

1.由于小组人多,容易产生冲突和竞争,如果处理不当,会对成员造成伤害。 2.组员在小组中过度袒露自己,造成伤害。 3.有些组员会在小组的压力下,做出不愿做的事或顺从大多数人的意见。 4.有些组员会对小组产生过度依赖。 5.有时在小组中解决问题比由个人来解决花费更长的时间。 6.小组成员彼此影响可能会产生消极作用。 第二节小组工作的功能 一、康复:指针对有问题的组员,帮助其在情绪、行为、态度和价值观等方面恢复到原来状态的过程。 二、能力建立:指组员透过教育和技能培训提升意识和自信心,为组员的个人成长和能力提高创造一个良好的环境。 例如:青少年野外拓展训练营 三、矫正:指协助违反社会秩序、道德规范或侵犯他人利益的“问题”组员,在小组工作中改变的过程,学习并巩 固符合社会规范的行为和价值。 例如:在矫治机构中“偏差青少年行为矫治小组” 四、社会化:指协助组员学习社会规范和人际关系技巧的过程。 例如:青少年人际关系成长小组 五、预防:对可能发生的困难做预测,在小组的经验分享和学习中,通过组员之间的互动,学习到可能会发生的困 难的解决方法。 例如:大学新任入学适应小组退休职工生活适应小组外地来京打工人员成长小组 六、社会行动:鼓励组员参加社会运动,使个人学会领导、服从、参与、决策等方法,并承担社会责任。调动组员 参加社会活动,促进社区环境的改变,甚至社会政策的改变。 例如:香港自闭症儿童家长小组争取患者的权益 七、问题解决:协助组员发现自己的问题,通过小组互动和民主决策,找到问题解决的途径。 例如:“空椅子”小组活动 八、社会价值:鼓励组员通过参加社会行动和组员间的互相帮助获得一种成就感和自我实现感,体现组员的社会价 值。 第三节小组工作的类型(不同类型小组的概念解释请见书) 一、按小组的形成 1.组成小组:通过外部的影响和干预而组建起来 例如:任务小组工作委员会兴趣小组 2.自然小组: 例如家庭朋辈小组街头玩伴群体 二、按照组员参与 1.自愿小组:组员主动、自愿参加小组 例如:志愿者小组大学生人际交往技巧训练小组 2.非自愿小组: 例如:矫治机构中用于成员转变个人行为的治疗性小组如戒毒小组 三、按成员间的关系 1.基本小组 例如:家庭小型的成长小组 2.次层小组 例如:同事成员之间相互联系少 四、按小组的结构 1.正式小组 具有正式的结构,组员有确定的角色和地位 例如:任务小组行动小组教育小组 2.非正式小组 例如:街头或者社区玩伴

Java工作笔记(必看经典)

JAVA的面向对象编程--------课堂笔记 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物皆对象) 所有的事物都有两个方面: 有什么(属性):用来描述对象。 能够做什么(方法):告诉外界对象有那些功能。 后者以前者为基础。 大的对象的属性也可以是一个对象。 为什么要使用面向对象: 首先,面向对象符合人类看待事物的一般规律。 对象的方法的实现细节是屏蔽的,只有对象方法的实现者了解细节。 方法的定义非常重要。方法有参数,也可能有返回值。 注意区分:对象(本身)、对象的实现者、对象的调用者。 分析对象主要从方法开始。 我们通过类来看待对象,类是对象的抽象。 其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。 对象之间的耦合性一定要低(比如不同硬盘和不同主板之间的关系)。这样才能使每个对象本身做成最好的。 对于对象的要求:高内聚、低耦合,这样容易拼装成为一个系统。 实现高内聚就是要最大限度低提高复用性(复用性好是因为高内聚)。 可复用性是OOP的基础。 比较面向过程的思想和面向对象的思想: 面向过程的思想:由过程、步骤、函数组成,以过程为核心; 面向对象的思想:以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能。 面向过程是先有算法,后有数据结构。 面向对象是先有数据结构,然后再有算法。 在用面向对象思想开发的过程中,可以复用对象就进行复用,如无法进行复用则开发新的对象。 开发过程是用对个简单的对象的多个简单的方法,来实现复杂的功能。 从语法上来看,一个类是一个新的数据类型。 在面向对象编程中,除了简单数据类型,就是对象类型。 定义类的格式: class Student{ 代码 } 注意类名中单词的首字母大写。 实例变量:定义在类中但在任何方法之外。(New出来的均有初值) 局部变量:定义在方法之中的变量。

计算机网络(复习笔记)

计算机网络 第一章 概论 Internet :指当前全球最大的、开放的、有众多网络相互连接而成的特定计算机网路,它采用TCP/IP 协议族。 1、 因特网:从硬件和软件方面来说:数以百万计的互联的计算设备(主机= 端系统,通信链路communication link ,运行网络应用);从分布式应用提供服务的联网基础设施:通信基础设施使能分布式应用,提供给应用通信服务。 2、 协议:定义了在两个或多个通信实体之间交换的报文格式和次序,以及 在报文传输和/或接受或其他事件方面所采取的动作。 一组控制数据通信

的规则。 3、网络组成:网络边缘(应用与主机)、网络核心(路由器,网络的网络), 接入网。 4、网络边缘:面向连接服务——TCP(transmission Control protocol):可靠 的,有序的字节流数据传送(丢包:确认和重传),采用流控制(发送方不能过载接收方),拥塞控制(当网络拥塞时发送方“降低发送速率”)。 5、网络边缘:无连接服务——UDP(User Data protocol)用户数据报协议, 无连接,不可靠的数据传送,无流控,无拥塞控制。 6、网络核心:电路交换(circuit switching)和分组交换(packet switching)。 7、电路交换:为“呼叫”预留端到端资源,在电路交换网络中,沿着端系统 通信路径,为端系统之间通信所提供的资源在(缓存、链路传输速率)在通信会话期间会被预留。(非共享)。将链路带宽划分为“片”,FDM和TDM。 8、FDM(frequency-division multiplexing)频分多路复用,该链路在连接期 间为每条连接专用一个频段。TDM(time-division multiplexing)时分多路复用,时间被划分为固定区间的帧,并且每帧又被划分为固定数量的时隙,一个时隙可用于传输该连接。 9、分组交换(统计多路复用statistical multiplexing):每个端到端数据划分 为分组,分组交换使用按需的方式分配链路。 10、分组交换与电路交换的对比:分组交换允许更多的用户使用网络;

java笔记

Java: Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 Java JDK 9学习笔记: 《Java JDK 9学习笔记》是作者多年来教学实践经验的总结,汇集了学员在学习Java 或认证考试时遇到的概念、操作、应用等问题及解决方案。 基本信息: 《Java JDK 9学习笔记》是作者多年来教学实践经验的总结,汇集了学员在学习Java 或认证考试时遇到的概念、操作、应用等问题及解决方案。《Java JDK 9学习笔记》针对Java SE 9 新功能全面改版,无论是章节架构或范例程序代码,都做了重新编写与全面翻新,并详细介绍了Java 9 的模块化,JVM、JRE、Java SE API、JDK 与IDE 之间的对照关系。必要时可从Java SE API 的源代码分析,了解各种语法在Java SE API 中如何应用。对于建议练习的范例提供了Lab 文档,以突出练习重点。此外,《Java JDK 9学习笔记》还将IDE 操作纳为教学内容之一,让读者能与实践相结合,轻松快速掌握Java 编程技巧。《Java JDK 9学习笔记》适合Java 的初、中级读者以及广大Java 应用开发人员阅读。

作者简介: 林信良(网名:良葛格),毕业于台湾大学电机工程学系。擅长技术写作、翻译与教育培训。喜好研究程序语言、框架、社群,从中学习设计、典范及文化,并利用闲暇之余记录所学技术,涵盖C/C++、Java、Ruby/Rails、Python、JavaScript、Haskell、OpenSCAD 等领域。目前出版的著作有《JSP & Servlet学习笔记(第2版)》《Spring技术手册》《Java JDK 8 学习笔记》等,译作有《Ajax实战手册》《jQuery实战手册(第2版)》。

社会工作考试笔记

社会工作考试笔记 第一章 1、社会工作的定义:以利他主义为指导,以科学的知识为基础,用科学的助人方法进行专业的助人活动,其本质是科学的助人活动。 2、社会工作的构成要素:工作对象,服务的提供者,目标,手段,社会工作的价值观。 3、学科性质:科学性、客观性、综合性。 4、社会工作的特点:服务性、客观性、补救性和发展性、批判性和建设性。(本质上是服务性) 5、社会工作的服务对象和领域:基本对象(弱势群体) 领域:(1)社会保障社会工作(运用社会工作方法,将社会政策转化为社会服务)。 (2)社会福利社会工作(是社会工作中最广泛的一项内容,主要包括老年人、儿童、残疾人、妇女的福利等)。 (3)医疗社会工作(各个医院诊所所提供的社会服务,公共卫生设施,心理卫生机构和精神病防治所提供的社会服务)(4)司法矫正社会工作(对违法犯罪失足者以及家属提供的社会服务,主要通过教育改造和劳动改造来实施)。 (5)城市社区服务(通过建立系统完整的社会服务网络,为社区居民提供物质和精神生活的各种福利和服务)。 (6)农村社会工作(农村社会救济、福利、计划生育、养老保险)。

(7)学校社会工作(通过专业性的服务,帮助学生发掘潜在的聪明才智,促进学生的正常的成长,改善学习环境,完善教育功能)。 (8)军事社会工作(是指在军人、军人家属、部队所在社区中为搞好社区建设和军人退役后的安置所开展的工作)。 6、社会工作的种类: (1)按社工的任务分:改善人们的物质生活和协调人们之间的相互关系两大类。 (2)按服务对象年龄分:儿童、青少年、老年社会工作。 (3)按社工所面对的问题:解决贫困、失业、残疾、犯罪、吸毒、家庭纠纷等进行的工作。 (4)按社工所要达到的目标:治疗性、预防性、发展性社会工作。(5)按照运用的方法:直接和间接的社会工作。 直接的社会工作是直接面对服务对象而进行的工作(包括个案、小组、社区社会工作)。 间接的社会工作是通过中介手段对服务对象进行帮助的工作(包括社会工作研究、行政)。 7、社会工作的功能:对社会对象的功能(治疗功能、促进人的发展) 对社会的功能(推进社会公平、促进社会整合) 第二章 8、结合济贫法案的内容分析其对待社工的影响 9、慈善组织会社(确立了服务到个人的思想,进一步推进了济贫工

Java学习笔记(必看经典)_New - 共33页

JAVA -------- EVERYTHING IS OBJECT OOP class Student{

New null public int/void addNumber( ) throw Excepion {} public int addNumber(int a,int b){ } int a,int b public Student s=new Student() Student Student “Student()” () Student s Student public student(string name,int a){ } public student(int a,string name){ }

static void changename(student stu){stu.setName “LUCY”} overloading overriding JAVA overriding overloading Overloading overloading overloading overloading public void teach(){}; public void teach(int a){}; public void teach(String a){} Overloading Byte—short—float—int—long—double this student(){}; student(string n){ this();// student() } student(int a) this(int a) this this This Public void printNum(){ Int number=40 System.out.println(this.number); } This.number this.number (this) number

网络技术笔记

1.计算机网络是由负责传输数据的网络传输介质和网络设备,使用网络的计算机终端设备和服务器、以及网络操作系统组成的。 2.网络传输介质:双绞线电缆、光钎、微波、同轴电缆。 网络交换设备:以太网交换机。atm交换机。帧中继网的帧中交换机、令牌网交换机、fddi交换机。hub//网络集线器 网络互联设备:路由器:转发数据报,不仅提供同类网络之间的互相链接,还提供不同网络之间的通讯。 调制解调器:用于将数字信号调制成频率带宽更窄的信号,以便适用于广域网的频率带宽。 中继器:延长网络电缆和光缆的设备,对衰减了的信号起再生作用。 网桥:被淘汰的网络产品。用来改善网络带宽拥挤。交换机完成网桥的功能现在。 3.网络终端和服务器网络终端:网络工作站,是使用网络的计算机,打印机等。 网络服务器是指被网络终端访问的计算机系统。服务器分为:文件服务器,数据库服务器。打印服务器,web服务器,电子邮件服务器,代理服务器。 网络操作系统:安装在网络终端和服务器上的软件,完成数据发送和接受所需的数据分组,报文封装,建立链接,流量控制,出错重发等工作,现在网络操作系统是和计算机操作系统一同开发的。 4.计算机分类:按照网络覆盖的地理范围分类:局域网,城域网,广域网。 根据链路传输控制技术分类:典型的网络链路传输控制技术:总线争用技术、令牌技术、FDDI技术,ATM//异步传输模式//技术,帧中继技术和ISDN技术。分别对应:以太网,令牌网/FDDI 网.ATM网.帧中继网和ISDN 网。 //atm asynchronous transter mode 异步传输模式,ATM采用光钎传输,传输以53个字节为单位的超小数据单元,称为信元。最大的吸引力之一就是灵活,用户只要用过atm交换机建立交换虚电路,就可以提供突发性、宽频带传输的支持,适应包括多媒体在内的各种数据传输,速度最高到达622mbps。 //我过的chinaframe 是使用帧中继技术的公共广域网,是有帧中继交换机组成的。使用虚电路模式的网络。 //虚电路:在通讯之前,在通讯所途径的各个交换机中根据通讯地址都建立起来数据输入端口到转发端口之间的对应关系,这样,当带有报头的数据帧到达帧中继网的交换机时,交换机按照报文中的地址依靠虚电路转发数据帧,提供高达数的传输速度,由于其可靠的带宽保证和相对网络的安全性,为大多数银行。大型企业和政府机关局域网互联的主要网络。 //ISDN是综合业务数据网,宗旨是在传统的电话线路上传输数字数据信号,通过时分多路复用技术,可以在一条电话线上同时传输多路信号。,传输带宽:144kbps-30mbps。 依靠网络拓扑结构分类:物理拓扑和逻辑拓扑。物理拓扑描述网络中由网络终端设备和接电组成的几何关系,=分为总线型结构,环形结构,星星结构,树形结构,网状结构。 网络传输介质 一电缆传输介质:信号和电缆的频率特征。1,有三种电信号:模拟信号,正选波信号。数字信号。 //模拟信号是一种连续变化的信号,正弦波信号实际上还是模拟信号。但是是特殊的,模拟信号的取值是连续的。数字信号是0,1变化的信号,数字信号的取值是离散的。数据即可用模拟信号表示,也可以用数字信号 2,不管模拟信号还是数字信号,都是由大量频率不同的正弦波信号合成的。信号理论:任何一个信号都是由武术个谐波组成的,//谐波(正弦波)数学解释:人呢和一个函数窦娥可以用付里埃级数展开为一个常数和无穷正玄函数。 3,一个信号有效谐波所占的频带宽度,带宽。 4,模拟量的电信号频率非常低。数字信号的高频成分非常丰富。

小组工作 笔记

小组工作刘梦主编 一、小组工作的含义与特征(大纲内容) 1、含义:小组工作是一种以两个或以上的个人组成的小组为工作对象的社会工作方法,它主要由社会工作者 通过有目的的小组活动和组员间的和互动,帮助小组成员共同参与集体活动,从中获得小组经验,处理个人、人与人之间、人与环境之间的问题,行为改变,恢复与发展社会功能,开发个人潜能,从而获得个人成长。 2、特征:有一个人以上;形成某种社会关系;有共同的目标和利益;成员间相互影响;地位和角色的演变; 成员有归属感;小组有发展阶段;有例如规范、准则等社会控制;小组有文化气氛。 1)小组是由组员和工作者组成的关系体系; 2)小组是在互动过程中产生动力,带来改变的; 3)小组工作既是过程,也是组员改变的方法和手段; 4)小组工作都有明确的目的。 二、小组工作的功能 1、影响个人发生转变 1)当人出现生存能力方面的各种问题或心理行为有偏差时,通过小组过程,可以恢复人的原有能力,达到社会化 2)小组过程可以影响个人的价值观念、态度及行为发生转变,成为家庭和社会中负责任的积极角色 3)通过不同经验的分享,可以丰富和扩大经验和见识,改善人际关系 4)可以使其成员发展面对问题与解决问题的能力,学习适应危机情景,促进个人成长 2、社会控制 使其成员学习遵从适应社会需要的行为规范,培养其社会责任心, 3、用集体的力量解决问题 4、再社会化:小组工作通过帮助其成员建立适应社会需要的新价值观、新知识、新技巧,来改变小组成员的 行为,使他们成为更适应社会生活的积极角色。 此外,对组员而言,有助于个人学习群体经验;对整个小组而言,有助于建立合作的团队精神和和谐的人际关系,使组员在健康的团队氛围中获得美好的情感体验;对社会环境而言,小组可以极大地丰富社会资本。 三、小组工作的类型 1、以小组成员的关系划分:初级小组与次级小组 2、以小组的组成划分:组成小组与自然小组 3、以小组工作结构划分:正式小组与非正式小组 4、以成员的参与程度划分:志愿小组与强制小组 5、以成员进出的自由程度划分:封闭小组与开放小组 6、以小组工作的目标划分: 朋辈小组、教育小组、服务小组、兴趣小组、成长小组、治疗小组、自助或互助小组 四、小组工作的价值观 1、互助互惠的原则:1)组员之间的关系是互助互惠的2)社会工作者与组员的关系也是 2、尊重组员的权力和能力:尊重组员选择参与的权力和自由 3、民主参与和决策 4、赋权的原则 5、高度的个别化原则 五、小组工作的理论(大纲内容) AA需要理论 (一)马斯洛的需要层次理论

社会工作实务_考研复习笔记

考试科目:社会工作实务 第一部分社会工作实务方法 一、个案工作 1个案工作的涵义与特点 个案工作是由专业社会工作者运用有关人与社会的专业知识和技巧为个人和家庭提供物质或者情感方面的支持与服务,目的在于帮助个人和家庭减低压力、解决问题,达到个人和社会的良好福利状态。这个定义界定了社会个案工作的性质,指明了个案工作的目标在于增进个人与社会的福利,手段和途径则是通过运用各种科学的助人知识及活动来帮助个人和家庭。 2个案工作的理论与主要模式 (1)危机介入模式 危机的概念由埃里克·林德曼和吉拉尔德·卡普兰在20c40y-50y提出,个案工作中危机是指一种对平衡稳定状态的改变,危机不一定非要是灾难性时间,可以是正常发展过程中的状态,同时也是有开头结尾的持续性过程,危机是问题与希望的并存。危机与压力不同,危机是短期现象,个人会力图尽快重建以前的和谐,压力的概念则含有长期压迫的感觉,但危机和压力又是有联系的,处于危机的征兆则有可能是人们的抱怨和忧伤。 危机介入术:1.开始阶段—第一次会谈时要收集案主的基本资料,并将会谈集中在正在经历的危机事件上,然后要弄清其最大问题是什么,从而把问题集中在目标上,找出真正问题。2.中间阶段—工作者进一步收集资料,扩大对案主的认识,如可以把当前发生的事件与过去生活经历相联系,指出前因后果的关系,以帮助案主改正对问题的认识。3.结束阶段—回顾开始时双方协议要做的事执行如何,提醒案主结束的时候到了,并与案主一同回顾已经取得的进步。 危机介入模式的有关理论:人格理论,自我心理学,观察学习理论 需要注意的问题:需要把引起危机的事件或者原因具体化,清晰化,为危机作出迅速判断,工作者要担当提供信息和建议,需要时可积极并系统化的介入个案的角色。要限定时间,鼓励案主面对未来。 (2)任务中心模式 任务中心模式认为,个案工作应该是一种目标集中的活动,在社会工作专业化的过程中,要注意效率和效果,既要考虑如何更有效的帮助案主,又要节约时间和金钱。该模式应用于人际冲突,不满意的社会关系,正式组织中的问题,角色困难,社会转型中的问题,情绪问题,资源不足问题和行为问题这八类。 步骤:1.开始接触、探索和协议。2.阐述目标以及要完成的任务。3.在快结束时与案主回顾重要的进步并鼓励案主,帮他确定进一步工作领域,从而结束个案工作。 该模式优点:在问题探索、协议和确定任务阶段,任务不仅是针对案主也是对于案主有关的系统的;该模式工作对象可以是个人、夫妇或家庭;强调案主的优点和优势及他们的网络资源的重要性;将工作者和案主置于同等地位而不是单向由案主向工作者倾诉。 该模式要求的能力:倾听、抓住问题核心、达成协议、沟通与回应的能力。

Java学习个人笔记(一)配置java环境变量(Feb04,2013

本文由我司收集整编,推荐下载,如有疑问,请与我司联系Java 学习个人笔记(一)配置java 环境变量(Feb04,2013 写这个个人笔记完全是出于记录自己所学,方便本人日后参考,可能很零 散。这个笔记是建立在C 语言编程基础上,本人学习Java 只学习它与C 语言不同 的地方,或者我在C 编程过程中很少用到的地方。所用的教材是Youtube 一位达人 做的视频:Java 编程简明教程by Thenewboston(Youtube) 每次开一贴,学习Java 笔记都记在这里。所写内容都是个人菜鸟级的理解, 肯定错误百出。 ---------- Oct 14, 2014 --------- 配置Java 环境变量: oracle/technetwork/java/javase/downloads/index.html 下载安装JDK for x86 (32bit) or x64(64bit).右键“计算机”-属性-高级系统配置-高级-环境变量-xxx 的用户变量-变量 名:JAVA_HOME 变量值jdk 的目录,例如本人:E:\Program Files\Java\jdk1.7.0_40 变量名: path 变量值: ;%JAVA_HOME%\bin ;%JAVA_HOME%\jre\bin 变量名:classpath 变量值: ;%JAVA_HOME%\lib ;%JAVA_HOME%\lib\tools.jar (For my backup:)span /span JAVA_HOME span /span F:\Program Files\Java\jdk1.8.0_20 //java jdk 1.8 span /span C:\Program Files\Java\jdk1.7.0_67 //java jdk 1.7 span /span path span /span %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin span /span classpath span /span %JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar -----------------------下面 检验是否配置成功,运行cmd 命令,在出现的对话框输入”java“命令,如果出现以 下结果,则表明配置成功。------------ 用法: java [-options] class [args...] (执行类) 或java [-options] -jar jarfile [args...] (执行jar 文件)其中选项包括: -d32 使用32 位数据 模型(如果可用) -d64 使用64 位数据模型(如果可用) -client 选择“client” VM - server 选择“server” VM 默认VM 是client.------------运行cmd 命令,在出现的对 话框输入”javac“命令,出现以下结果,表明配置成功:C:\Users\LENOVO javac 用 法: javac options source files

相关主题
文本预览