JAVA知识点.docx

上传人:b****3 文档编号:27355251 上传时间:2023-06-29 格式:DOCX 页数:26 大小:23.71KB
下载 相关 举报
JAVA知识点.docx_第1页
第1页 / 共26页
JAVA知识点.docx_第2页
第2页 / 共26页
JAVA知识点.docx_第3页
第3页 / 共26页
JAVA知识点.docx_第4页
第4页 / 共26页
JAVA知识点.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

JAVA知识点.docx

《JAVA知识点.docx》由会员分享,可在线阅读,更多相关《JAVA知识点.docx(26页珍藏版)》请在冰豆网上搜索。

JAVA知识点.docx

JAVA知识点

JAVA知识点

第1章Java概述

1.Java语言有下面一些特点:

简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程以及动态性。

2.简单的Java程序

例2.1publicclassHelloWorldApp{//anapplication

publicstaticvoidmain(Stringargs[]){

System.out.println("HelloWorld!

");

}}

本程序的作用是输出下面一行信息:

HelloWorld!

 

第2章数据类型

1.数据类型

 表AJava简单数据类型

简单类型

大小

范围/精度

float

4字节

32位IEEE754单精度

double

8字节

64位IEEE754双精度

byte

1字节

-128到127

short

2字节

-32,768到32,767

int

4字节

-2,147,483,648到2,147,483,647

long

8字节

-9,223,372,036,854,775,808到9,223,372,036,854,775,807

char

2字节

整个Unicode字符集

boolean

1位

True或者false

表BJava简单数据类型的默认值

类型

默认值

boolean

false

Byte

0

short

0

int

0

Long

0

Char

'\u0000'

Float

0.0

double

0.0

第3章运算符和表达式

1.i++与++i的区别

i++在使用i之后,使i的值加1,因此执行完i++后,整个表达式的值为i,而i的值变为i+1。

++i在使用i之前,使i的值加1,因此执行完++i后,整个表达式和i的值均为i+1。

 

例1.1下面的例子说明了算术运算符的使用

publicclassArithmaticOp{

publicstaticvoidmain(Stringargs[]){

inta=5+4;//a=9

intb=a*2;//b=18

intc=b/4;//c=4

intd=b-c;//d=14

inte=-d;//e=-14

intf=e%4;//f=-2

doubleg=18.4;

doubleh=g%4;//h=2.4

inti=3;

intj=i++;//i=4,j=3

intk=++i;//i=5,k=5

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

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

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

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

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

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

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

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

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

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

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

}

}

 

其结果为:

C:

\>javaArithmaticOp

a=9

b=18

c=4

d=14

e=-14

f=-2

g=18.4

h=2.4

i=5

j=3

k=5

第4章流控制

一、分支语句:

if-else,break,switch,return.

1.条件语句if-else.

例4.1判断某一年是否为闰年。

闰年的条件是符合下面二者之一:

①能被4整除,但不能被100整除;②能被4整除,又能被100整除。

======================================================================================

publicclassLeapYear{

publicstaticvoidmain(Stringargs[]){

intyear=1989;//method1

if((year%4==0&&year%100!

=0)||(year%400==0))

System.out.println(year+"isaleapyear.");

else

System.out.println(year+"isnotaleapyear.");

 

year=2000;//method2

booleanleap;

if(year%4!

=0)

leap=false;

elseif(year%100!

=0)

leap=true;

elseif(year%400!

=0)

leap=false;

else

leap=true;

if(leap==true)

System.out.println(year+"isaleapyear.");

else

System.out.println(year+"isnotaleapyear.");

 

year=2050;//method3

if(year%4==0){

if(year%100==0){

if(year%400==0)

leap=true;

else

leap=false;

}else

leap=false;

}else

leap=false;

if(leap==true)

System.out.println(year+"isaleapyear.");

else

System.out.println(year+"isnotaleapyear.");

}

}

 

运行结果为

C:

\>javaLeapYear

1989isnotaleapyear.

2000isaleapyear.

2050isnotaleapyear.

======================================================================================

2.多分支语句switch 

(1)case子句中的值valueI必须是常量,而且所有case子句中的值应是不同的。

(2)break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行。

因为case子句只是起到一个标号的作用,用来查找匹配的入口并从此处开始执行,对后面的case子句不再进行匹配,而是直接执行其后的语句序列,因此应该在每个case分支后,要用break来终止后面的case分支语句的执行。

return语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。

(3)case分支中包括多个执行语句时,可以不用大括号{}括起。

例4.2根据考试成绩的等级打印出百分制分数段。

======================================================================================

publicclassGradeLevel{

publicstaticvoidmain(Stringargs[]){

System.out.println("\n****firstsituation****");

chargrade='C';//normaluse

switch(grade){

case'A':

System.out.println(grade+"is85~100");

break;

case'B':

System.out.println(grade+"is70~84");

break;

case'C':

System.out.println(grade+"is60~69");

break;

case'D':

System.out.println(grade+"is<60");

break;

default:

System.out.println("inputerror");

}

System.out.println("\n****secondsituation****");

grade='A';//createrrorwithoutbreakstatement

switch(grade){

case'A':

System.out.println(grade+"is85~100");

case'B':

System.out.println(grade+"is70~84");

case'C':

System.out.println(grade+"is60~69");

case'D':

System.out.println(grade+"is<60");

default:

System.out.println("inputerror");

}

 

System.out.println("\n****thirdsituation****");

grade='B';//severalcasewithsameoperation

switch(grade){

case'A':

case'B':

case'C':

System.out.println(grade+"is>=60");

break;

case'D':

System.out.println(grade+"is<60");

break;

default:

System.out.println("inputerror");

}

}

}

 

运行结果为

C:

\>javaGradeLevel

****firstsituation****

Cis60~69

 

****secondsituation****

Ais85~100

Ais70~84

Ais60~69

Ais<60

inputerror

 

****thirdsituation****

Bis>=60

======================================================================================

二、循环语句:

while,do-while,for,continue.

Java中提供的循环语句有:

while语句,do-while语句和for语句。

 

1.while语句

while语句实现“当型”循环,while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句。

 

2.do-while语句

(1)do-while语句实现“直到型”循环,do-while语句首先执行循环体,然后计算终止条件,若结果为true,则循环执行大括号中的语句,直到布尔表达式的结果为false。

(2)与while语句不同的是,do-while语句的循环体至少执行一次,这是“直到型”循环的特点。

 

3.for语句

for语句也用来实现“当型”循环

(1)for语句执行时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。

完成一次循环后,重新判断终止条件。

(2)可以在for语句的初始化部分声明一个变量,它的作用域为整个for语句。

(3)for语句通常用来执行循环次数确定的情况(如对数组元素进行操作),也可以根据循环结束条件执行循环次数不确定的情况。

(4)初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。

 

4.continue语句

continue语句用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。

对于for语句,在进行终止条件的判断前,还要先执行迭代语句。

它的格式为:

continue;

======================================================================================

例4.4下例分别用while、do-while和for语句实现累计求和。

publicclassSum{

publicstaticvoidmain(Stringargs[]){

System.out.println("\n****whilestatement****");

intn=10,sum=0;//initialization

while(n>0){//termination

sum+=n;//body

n--;//iteration

}

System.out.println("sumis"+sum);

 

System.out.println("\n****do_whilestatement****");

n=0;//initialization

sum=0;

do{

sum+=n;//body

n++;//iteration

}while(n<=10);//termination

System.out.println("sumis"+sum);

 

System.out.println("\n****forstatement****");

sum=0;

for(inti=1;i<=10;i++){//initialization,termination,iteration

sum+=i;

}

System.out.println("sumis"+sum);

}

}

 

运行结果为:

C:

\>javaSum

****whilestatement****

sumis55

 

****do_whilestatement****

sumis55

 

****forstatement****

sumis55

 

例4.5求100~200间的所有素数

publicclassPrimeNumber{

publicstaticvoidmain(Stringargs[]){

System.out.println("****primenumbersbetween100and200****");

intn=0;

outer:

for(inti=101;i<200;i+=2){//outerloop

intk=15;//selectforconvinence

for(intj=2;j<=k;j++){//innerloop

if(i%j==0)

continueouter;

}

 

System.out.print(""+i);

n++;//outputanewline

if(n<10)//after10numbers

continue;

System.out.println();

n=0;

}

System.out.println();

}

}

 

运行结果为:

C:

\>javaPrimeNumber

****primenumbersbetween100and200****

101103107109113127131137139149

151157163167173179181191193197

199

 

该例通过一个嵌套的for语句来实现。

 

例4.6对输入字符计数。

publicclassCount{

publicstaticvoidmain(Stringargs[])

throwsjava.io.IOException

{

intcount=0;

while(System.in.read()!

=-1)

count++;

System.out.println("Youhaveinput"+count+"characters");

}

}

 

运行结果为:

C:

\>javaCount

countcountcount

Youhaveinput18characters

======================================================================================

三、注释语句

 

Java中可以采用三种注释方式:

1//用于单行注释。

注释从//开始,终止于行尾。

2/*…*/用于多行注释。

注释从/*开始,到*/结束,且这种注释不能互相嵌套。

3/**…*/是Java所特有的doc注释。

它以/**开始,到*/结束。

这种注释主要是为支持JDK工具javadoc而采用的。

javadoc能识别注释中用标记@标识的一些特殊变量,并把doc注释加入它所生成的HTML文件。

 

第5章数组

1.一维数组的定义:

typearrayName[];

(1)其中类型(type)可以为Java中任意的数据类型,[]指明该变量是一个数组类型变量。

例如:

intintArray[];

(2)与C、C++不同,Java在数组的定义中并不为数组元素分配内存,因此[]中不用指出数组中元素的个数,即数组长度,而且对于如上定义的一个数组是不能访问它的任何元素的。

我们必须为它分配内存空间,这时要用到运算符new,其格式如下:

arrayName=newtype[arraySize];

其中,arraySize指明数组的长度。

如:

intArray=newint[3];

为一个整型数组分配3个int型整数所占据的内存空间。

通常,这两部分可以合在一起,格式如下:

typearrayName=newtype[arraySize];

例如:

intintArray=newint[3];

(3)下标从0开始,一直到数组的长度减1。

对于上面例子中的intArray数组来说,它有3个元素,分别为:

intArray[0],intArray[1],intArray[2]。

注意:

没有intArray[3]。

(4)同时,对于每个数组都有一个属性length指明它的长度,例如:

intArray.length指明数组intArray的长度。

例5.1冒泡法排序(从小到大)

冒泡法排序对相邻的两个元素进行比较,并把小的元素交换到前面。

======================================================================================

publicclassBubbleSort{

publicstaticvoidmain(Stringargs[]){

inti,j;

intintArray[]={30,1,-9,70,25};

intl=intArray.length;

for(i=0;i

for(j=i+1;j

if(intArray[i]>intArray[j]){

intt=intArray[i];

intArray[i]=intArray[j];

intArray[j]=t;

}

for(i=0;i

System.out.println(intArray[i]+"");

}

}

 

运行结果为:

C:

\>javaBubbleSort

-9

1

25

30

70

======================================================================================

第6章对象、类、包和接口

一、类

1.成员变量

成员变量的类型可以是Java中的任意数据类型包括简单类型、数组、类和接口。

在一个类中,成员变量应该是唯一的,但是成员变量的名字可以和类中某个方法的名字相同,例如:

classPoint{

intx,y;

intx(){

returnx;

}

}

其中,方法x()和变量x具有相同的名字。

类的成员变量和在方法中所声明的局部变量是不同的,成员变量的作用域是整个类,而局部变量的作用域只是方法内部。

2.方法

(1)方法的返回类型可以是任意的Java数据类型,当一个方法不需要返回值时,返回类型为void。

其中,参数的类型可以是简单数据类型,也可以是引用数据类型(数组类型、类或接口)。

对于简单数据类型,Java实现的是值传送,方法接收参数的值,但并不能改变这些参数的值,如果要改变参数的值,则要用到引用数据类型,因为引用数据类型传递给方法的是数据在内存中的地址,方法中对数据的操作可以改变数据的值。

下例说明了简单数据类型与引用数据类型的区别。

例6.1

classLocation{

intx,y;

}

 

classPoint{

intx,y;

Point(){

x=20;

y=30;

}

voidgetXY(intxValue,intyValue){

xValue=x;

yValue=y;

}

voidgetLocation(LocationlReference){

lReference.x=x;

lReference.y=y;

}

}

 

publicclassArgumentTest{

publicstaticvoidmain(Stringargs[]){

Pointp=newPoint();//label1:

passbyvalue

System.out.println("Passbyvalue:

");

System.out.println("xValue="+xValue+"yValue="+yValue);

Locationl=newLocation();

p.getLocation(l);//label2:

passbyreference

System.out.println("Passbyreference:

");

System.out.println("xValue="+l.x+"yValue="+l.y);

}

}

 

运行结果为:

C:

\>javaArgumentTes

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1