Java教程1.docx

上传人:b****5 文档编号:8168960 上传时间:2023-01-29 格式:DOCX 页数:26 大小:1.10MB
下载 相关 举报
Java教程1.docx_第1页
第1页 / 共26页
Java教程1.docx_第2页
第2页 / 共26页
Java教程1.docx_第3页
第3页 / 共26页
Java教程1.docx_第4页
第4页 / 共26页
Java教程1.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

Java教程1.docx

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

Java教程1.docx

Java教程1

第二章Java基本语法

前言

第一步:

安装JDK

第二步:

用EditPlus建立一个Java源文件

第三步:

在EditPlus里编写一个Java源文件HelloWorld.java

第斯步:

保存HelloWorld.java

第五步:

编译HelloWorld.java、运行HelloWorld.class

2.1注释

注释:

是程序和代码的说明文字,本身并不运行。

Java有3种注释:

Ø单行注释:

//

Ø多行注释:

/*….*/

Ø文档注释:

/**….*/

2.1.1单行注释

1、System.out.println(“HelloWorld!

”)//Thisisoutputastring

2、//System.out.println(“HelloWorld!

”)

2.1.2多行注释

以/*开始,以*/结束,他们之间的所有行都被注释掉了。

/*

intj=9;

j=j+1;

System.out.print(j);

*/

2.1.3文档注释

以/**开始,以*/结束,他们之间的所有行都被注释掉了,而且被看作是文档注释,通过特殊软件可以将程序中的文档注释提取出来形成文档。

举例:

publicclassDemo

{

publicstaticvoidmain(String[]args)

{

intx;

x=1;

x=x+1;

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

}

}

运行结果:

publicclassDemo

{

publicstaticvoidmain(String[]args)

{

intx;

x=1;

//x=x+1;

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

}

}

运行结果:

x=1

//x=x+1;等价于/*x=x+1;

publicclassDemo

{

publicstaticvoidmain(String[]args)

{

intx,y;

x=1;

y=2;

//x=x+1;

//y=y+1;

System.out.println("x="+x+",y="+y);

}

}

//x=x+1;

//y=y+1;

等价于

/*

x=x+1;

y=y+1;

*/

2.2标识符

1、标识符:

是程序中那些中间不带空格的单词,并以字母、下划线_或美元符号$开头,且不能以数字字符开头。

标识符的中间也只能出现下划线_或美元符号$这样的特殊字符,不能出现其他特殊字符,如中划线-等等。

Ø合法的标识符

variable2

_whatavariable

_3_

$anothervar

Ø非法的标识符

2variable

*abc

2、保留字(关键字):

Java语言中有固定含义的标识符,不能用作程序员随意定义的标识符。

Ø用于内置类型

booleancharbyteshortintshortlongfloatdoublestrictfpvoid

Ø用于对象

newthissuper

Ø用于语句

选择语句:

ifelseswitchcasebreakdefault

循环语句:

forcontinuedowhile

控制转移语句:

returnthrow

异常处理语句:

trycatchfinallyassert

线程语句:

synchronized

Ø用于修饰声明

staticabstractfinalprivateprotectedpublic

Ø用于其他方法或相关类

classinstanceofthrowsnativetransientvolatile

Ø用于类的扩展和接口的继承

extendsinterfaceimplementspackageimport

Ø留作将来使用的

constgoto

举例:

if(x==1)

y=1;

else

y=0;

3、变量、赋值语句和输出语句

Ø变量:

就是程序员自定义的标识符,程序员用这种标识符说明它代表某个事物

例如:

x=1y=2z=x+y

变量的空间分配

注意:

1)变量使用前必须声明其类型:

publicclassDemo

{

publicstaticvoidmain(String[]args)

{

intx;

inty;

x=1;

y=x+1;

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

}

}

2)变量声明后,就不能再次声明:

publicclassDemo

{

publicstaticvoidmain(String[]args)

{

intx;

x=1;

intx=2;

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

}

}

3)变量声明后,使用前必须赋值:

publicclassDemo

{

publicstaticvoidmain(String[]args)

{

intx;

inty;

x=1;

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

}

}

注意:

若是声明一个变量后,程序没有使用它,那么可以不赋值,编译是不会出错

Ø=是赋值符

intx=1;就是一条赋值语句,等价于intx;x=1;

结果为:

Ø输出语句:

System.out.print/System.out.println的用法

//c2:

Print1.java

//author:

ZhangHongbin

//Thisprogramisprotectedbycopyrightlaws.

//Theeffectsofprintandprintln.

publicclassPrint1

{

publicstaticvoidmain(String[]args)

{

intx=1;

inty=2;

intz=3;

System.out.print("x1="+x);

System.out.print("y1="+y);

System.out.print("z1="+z);

System.out.println();

System.out.println("x2="+x+",y2="+y+",z2="+z);

}

}

结果为:

2.3语句和语句块(首先按照书上P27讲解)

1、语句:

表达式加上分号

intx;

x=1;

y=7+x;

2、语句块:

在花括号之间的所有语句组成了语句块

publicclassXYZ

{

publicstaticvoidmain(String[]args)

{

//语句块

}

}

if(条件)

{

//语句块

}

3、书写Java源程序时要遵守一些规范

Ø对齐

Ø缩进

2.4基本数据类型

1、整型:

Øbyte(8位)

Øshort(16位)

Øint(32位)

Ølong(64位)

publicclassVar2

{

publicstaticvoidmain(String[]args)

{

byteabyte=12;

intaint=12;

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

System.out.println("anint="+aint);

}

}

注意:

下面的程序编译能通过吗,也就是有没有语法错误?

publicclassVar3

{

publicstaticvoidmain(String[]args)

{

byteabyte;

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

}

}

若在一个方法(函数)中声明一个变量,那么在使用这个变量前,必须对其赋值。

★八进制和十六进制

一个数字前面有0,表示这个数为八进制数:

例如intx=017

若前面是0x,表示这个数为十六进制数:

例如intx=0x17

publicclassVar4

{

publicstaticvoidmain(String[]args)

{

intaint2=017;

intaint3=0x17;

intaint4=0xab;

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

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

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

}

}

结果为:

2、浮点型:

Øfloat(32位):

单精度

如:

8.37f,9F。

注意必须有f(F)

1、声明一个float变量

floatnum;

2、声明一个float变量,同时给其赋值

floatnum=9.7f

3、floatnum=9.3是非法的,因为系统会把9.3看作double型

大家把书翻到第31页,看例程VarInit5

Ødouble(64位):

双精度

如:

4.8d,7D8.9。

注意可以没有d(D)

Ø不能把一个大的数据类型的数赋值给小的数据类型变量

floatx=15.7

inty=23.3f

3、字符型(char):

Ø声明一个char变量

charch;

Ø声明一个char变量,同时给其赋值

charch=‘A’

charch=65

charch=‘\n’

charch=‘\u0061’

举例:

publicclassBase

{

publicstaticvoidmain(Stringargv[])

{

charch='\n';

System.out.print("-------->1");

System.out.print(ch);

System.out.print("-------->1");

}

}

结果为:

把程序改为:

publicclassBase

{

publicstaticvoidmain(Stringargv[])

{

charch='\n';

System.out.print("-------->1");

//System.out.print(ch);

System.out.print("-------->1");

}

}

结果为:

大家把书翻到第33页,看例程VarInit5

4、布尔型(boolean):

Øtrue

Øfalse

举例:

publicclassDemo

{

publicstaticvoidmain(Stringargv[])

{

booleanb1=true;

booleanb2=false;

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

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

}

}

5、常量:

finalfloatPI=3.14f

finalintA=3

finalcharCH=‘c’

finalbooleanB=true

注意:

常量定义的时侯必须确定它的值,而且再不能改变它的值。

如finalintI=9;

I=1;//出错

publicclassTest

{

finalfloatPI=3.1415f;

intx=0;

floaty=0f;

booleanz=true;

charc='u';

voidfun()

{

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

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

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

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

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

}

publicstaticvoidmain(String[]args)

{

Tests=newTest();

s.fun();

}

}

结果为:

2.5运算符,表达式和返回值

运算符和变量组合起来就形成了表达式

如:

算术表达式:

a+b/3–5返回数值

关系表达式:

a>b返回布尔值

逻辑表达式:

!

x&&y返回布尔值

混合表达式:

(a+b)>13返回布尔值

举例:

publicclassDemo

{

publicstaticvoidmain(String[]args)

{

inta=2;

intb=0;

booleanx=true;

booleany=true;

System.out.println("a+b/3-5="+(a+b/3-5));

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

System.out.println("x&&y="+(x&&y));

System.out.println("(a+b)>13="+((a+b)>13));

}

}

结果为:

 

2.6数学计算

数学运算符包括:

1、取负运算:

intx=5;

inty=-x;

举例:

publicclassXYZ

{

publicstaticvoidmain(String[]args)

{

intx=1;

inty=-(x+1);

System.out.print("x="+x+"y="+y);

}

}

结果为:

x=1y=-2

2、加减乘除运算:

+—*/(参见教材P36代码片段)

3、求余运算:

%(参见教材P36代码片段)

4、数学运算的若干规则

Ø整数运算语法规则

intx=2;

longy=1;

x=y;//error

会有什么发生?

byteb1=1;

byteb2=2;

byteb3=b1+b2;//error

byteb4=3+2;

byteb5=1+b1;//error

Ø浮点数运算语法规则

2.0f+4.0的结果为double型

intresult=5/2的结果只保留整数部分

5、浮点数运算时,结果可能不够准确

例如1.2+2.4的结果也许不是3.6

6、除零问题:

不允许整数除零,允许浮点数除零

结果为:

2.7赋值运算

1、赋值运算符是等号,其右边是一个表达式,左边是变量,他把右部的值赋给左部的变量。

x=2+5;

y=4+x

2、赋值运算也是表达式

y=4+(x=2+5)

3、x=x+5:

把x加5,然后再赋值给x

结果为:

7、测试赋值语句返回值的程序

publicclassLValue

{

publicstaticvoidmain(String[]args)

{

intx,y;

y=(x=2+5);

System.out.println();

System.out.println("x="+x+",y="+y);

}

}

结果为:

x=7y=7

2.8类型转换

1、表达式结果的类型和表达式在最大的数据类型一致,如:

100-7-8.6f,其结果为float类型

2、赋值语句的左值和右值的类型要兼容

Ø左右类型一致:

intx=100–7;

Ø右部的类型取值范围小于左部:

floatr=100–7

3、类型强制转换

当右部的类型取值范围大于左部时,在表达式的前面加上类型名。

floatr=100–7–8.6f对。

intr=100–7–8.6f错。

改为intr=(int)(100–7–8.6f)

4、byter=(byte)(20*20);

r的值为多少?

结果为:

 

2.9自增和自减运算

1、I++:

先用I值,然后对I自增1

2、++I:

先对I自增1,然后在用I值

注意:

intresult=1;

result++;

等价于

intresult=1;

result=result+1;

参见P42下的程序片段

参见一个P43程序

 

2.10比较运算(关系运算)

1、比较运算符(关系运算符):

<,>,<=,>=,==,!

=

2、比较运算表达式的结果:

true,false

结果为:

2.11逻辑运算

1、逻辑运算符:

^&&||

2、逻辑运算表达式的结果:

true,false

与(&&)

或(||)

异或(^)

0

0

0

0

0

0

1

0

1

1

1

0

0

1

1

1

1

1

1

0

Ø若exp为false,表达式!

exp的值为true

Ø若exp1和exp2都为true,表达式exp1&&exp2的值为true

Ø若exp1和exp2中有一个为true,表达式exp1||exp2的值为true

结果为:

注意:

若有3个&&连接的表达式,当计算第一个给false时,那么逻辑表达式的值为false,其余的两个表达式不再计算;若有3个||连接的表达式,当计算第一个给true时,那么逻辑表达式的值为true,其余的两个表达式不再计算。

publicclassShortCiruit

{

publicstaticvoidmain(String[]args)

{

intn=3;

intm=4;

System.out.println();

System.out.println(((n>m)&&(++n)>m));

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

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

System.out.println(((nm));

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

}

}

结果为:

false

n=3

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

false

n=4

2.12位运算和移位运算

1、位运算符:

~&|^

3&5的结果为1,因为3的二进制值为0011,5的二进制值为0101,因此按位与的结果为0001

publicclassCompareNumber

{

publicstaticvoidmain(String[]args)

{

intn=3;

intm=5;

System.out.println("3&5="+(n&m));

System.out.println("3|5="+(n|m));

System.out.println("3^5="+(n^m));

}

}

结果为:

3&5=1;

3|5=7;

3^5=6;

2、移位运算符:

<<>>>>>

Ø>>:

执行算术或带符号的右移

Ø>>:

执行算术或带符号的左移

Ø>>>:

执行无符号的右移

Ø<<<:

执行无符号的左移

例:

128>>1的结果为64

128的二进制值为10000000,则右移一位为01000000,即为64

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

当前位置:首页 > 考试认证 > 财会金融考试

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

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