java教程之Java编程基础_第1页
java教程之Java编程基础_第2页
java教程之Java编程基础_第3页
java教程之Java编程基础_第4页
java教程之Java编程基础_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——java教程之Java编程基础java教程之Java编程根基

Java语言由语法规矩和类库两片面组成,其中语法规矩确定了Java程序的书写模范,学习好语法规矩是Java语言,也是全体编程语言的根本功。本文主要向大家简朴介绍一下Java的语法规矩。Java语言与C/C++语言有着精细的联系,Java中的大量术语来自于C++,起语法也来自于C++。因此Java的语法和c++的语法筹划一模一样。下面简朴介绍一下Java的概括语法。

一、Java的词法

1、标识符

标识符是类、变量和方法等的名字,作用是让编译器能够识别它们。在Java语言中,标识符可以包含数字、字母、下划线_和美圆符号$,但是不能以数字作为开头。与C/C++语言不同的是,Java语言还可以将一些非拉丁字母包含在标识符中,这是由于Java语言使用的是Unicode字符,全体的十六进制00C0以上的Unicode字符都可以用在标识符中。但是Java语言的关键字是不能用来作为标识符的。

我们在使用标识符的时候理应尽量表达所要表示的类、变量、方法等的含义。另外,标识符中可以使用下划线,我们理应充分利用这一点以提高程序的可读性。

2、关键字

以下是Java的全部关键字:

abstractdoubleintstrictfp**booleanelseinterfacesuperbreakextendslongswitchbytefinalnativesynchronizedcasefinallynewthiscatchfloatpackagethrowcharforprivatethrowsclassgoto*protectedtransientconst*ifpublictrycontinueimplementsreturnvoiddefaultimportshortvolatiledoinstanceofstaticwhile*尚未使用的关键字**为Java2增加的关键字

3、解释

Java有三种形式的解释:

第一种是C语言的传统解释方式,即将“/*”和“*/”之间的文本都视为解释,这种解释可以跨越多行。

其次种是C++风格的解释,即将“//”之后直到行尾的文本都视为解释,这种解释只能包含一行。

第三种是Java新增加的解释方式,即将“/**”和“*/”之间的文本都视为解释,这种解释也可以夸耀多行。留神,这种解释方式生成的解释将作为Javadoc文档保存。

二、操作符

1、算术操作符

操作符用途优先级结合性++,--自动递增,自动递减2仅次于括号从右到左+,-一元加,一元减2从右到左*,/乘,除3从左到右%取余求模3从左到右+,-加,减4从左到右2、布尔运算与关系运算符

操作符用途优先级结合性

,,=,=测试相对大小6从左到右==测试相等性7从左到右!=测试不等性7从左到右?:根据第一个操作数返回后两个操作数之一13从左到右!非2从右到左布尔与8从左到右^异或9从左到右|布尔或10从左到右条件与11从左到右||条件或12从左到右3、位操作符

操作符用途优先级结合性~非位求补2从右到左,左移,右移5从左到右当作无符号右移5从左到右位和8从左到右^位异或9从左到右|位或10从左到右4、赋值操作符

操作符用途优先级结合性=赋值14从右到左*=操作同时赋值14从右到左/=操作同时赋值14从右到左%=操作同时赋值14从右到左-=操作同时赋值14从右到左+=操作同时赋值14从右到左=操作同时赋值14从右到左=操作同时赋值14从右到左=操作同时赋值14从右到左^=操作同时赋值14从右到左|=操作同时赋值14从右到左=操作同时赋值14从右到左5、特殊操作符

cast操作符将一种数据类型转换成为另一种数据类型,cast应写成把要校正操作数的类型名放在括号中。

例如:

inti;longl;l=7876547;i=intl;

假设给高精度的变量赋予一个低精度值,那么不需校正。类型校正操作符的优先级为2,结合性为从右到左结合。

将以上讲到的操作符的优先级总结如下:

优先级运算符结合依次1[]数组运算.点运算符()调用方法从左到右2!~++--+一元加-一元减()强制类型转换new从右到左3*/%从左到右4+二元加-二元减从左到右5从左到右6==instanceof从左到右7==!=从左到右8从左到右9^从左到右10|从左到右11从左到右12||从左到右13?:从左到右14=+=-=*=/=%==|=^====从右到左三、常量

1、整型常量

在Java语言中,整型常量有三种形式,它们分别是:十进制、八进制、十六进制。需要留神的是十进制数不能以0开头,这是由于八进制的数是以0开头的,而十六进制数以0x或0X开头。

2、浮点型常量

浮点数只能表示十进制数。浮点数有两种表示方法,即标准表示法和科学记数法。浮点数又分为单精度数和双精度数。

3、布尔型常量

布尔型常量有两个值:ture或TURE和false或FALSE它们分别表示真和假,这两个值用来表示事物的状态,它们必居其一。通过测量布尔值可以判断是否执行某个步骤。

4、字符型常量

字符型常量是一个单一的字符,其形式是由两个单引号引起来的一个字符。但是两个单引号引起来的不能是单引号和反斜杠,即‘’和‘’是不正确的写法。

大家确定要记住,Java语言中的字符是16位的Unicode字符,这与C/C++等语言是不一样的。

字符串常量

字符串常量是由双引号引起来的一系列字符,与C/C++语言中不同的是,Java语言中的字符串不是通过字符数组来实现的,而是通过字符串类即String类来实现的。

四、变量和数据类型

在Java中,数据的类型可以分为四种:根本数据类型、数组类型、类和接口类型。任何数据都确定是上述数据类型的'一种。

其中根本数据类型可以分为四大类:布尔型、字符型、整数型和浮点型。这些类型的数据与前面介绍的常量的类型根本一致,在此不再多说。下面将整数型和浮点型变量的取值范围列出:

表一、

类型宽度取值范围byte8位-256到256short16位-32768到32767int32位-2147483648到2147483647long64位-9223372036854775808到9223372036854775807表二、

进制整数长整数十进制最大正整数21474836472的31次方减1923372036854775807L2的63次方减1八进制最大正整数0777777777772的31次方减107777777777777777777L2的63次方减1二进制最小负整数020000000000-2的31次方04000000000000000000L-2的63次方十六进制最大正整数0x7fffffff2的31次方减10x7fffffffffffffffL2的63次方减1十六进制最小负整数0x80000000-2的31次方0x8000000000000000L-2的63次方浮点数能表示的数值从小到大分别是:负无穷大、负有限值、负零、正零、正有限值及正无穷大。其中正零和负零在举行数值对比的时候是相等的,但仍有手段辨识这两个值,例如在举行1.0/0.0的时候会得到正无穷大的结果。其它非零非无穷大的有限值是以s*m*2^e来表示的,s和m的取值范围见下表:

表三、

类型smfloat+1或-1小于2的24次方的正整数149到104的整数double+1或-1小于2的53次方的正整数1045到1000的整数与C/C++语言中不同的是,在Java语言中,全体的根本数据类型都有预设值,就是说当我们声明一个变量时,即使我们没有对它赋值,它的值也是确定的,而不像在C/C++中那样是不成预料的。

五、Java与C/C++的对比

由于Java的语法直接来源于C/C++,所以Java的程序操纵语句与C/C++一模一样,在此不再多说。以下重点介绍一下Java与C/C++的不同。

指针

大家在使用C语言编程的时候想必都曾经由于指针的繁杂计算而烦扰,在C/C++语言编程过程中,指针可能引起大量错误,这些繁杂的指针算法所产生的错误往往让人迷惑不解,导致C/C++程序员在此滥用了大量的时间。考虑到这种理由,Java中取消了指针。指针的功能由参考reference所取代,这使得Java中对繁杂数据布局的实现更加轻易,由于用对象和对象数组实现繁杂的数据布局更稳当。

函数

在Java中没有C/C++中应用广泛的函数,C/C++中通过函数实现的功能在Java中都是通过类和方法来实现的。

继承

C++支持多重继承,这是一个从多个父类中派生一个类的有效手段,但这种派生很繁杂,也很轻易产生问题。因此,Java中没有采用多重继承,但Java的ObjectiveC协议接口能完成C++中多重继承的全体功能。

goto语句

大家知道,在使用高级语言编程时过多的使用goto语句会使程序变得特别混乱,因此Java中也没有使用goto语句。但是不成否认,当程序对比轻易操纵的时候,适当使用goto语句能使程序的运行更快捷,因此Java中使用了多重break和continue语句允许break和continue语句使用标签实现C++种goto语句的功能。

联合和布局

在C++中有三种数据布局:联合、布局和类;Java中只有类,它可以实现上述三者的功能。

字符串

在C/C++中,字符串是通过字符数组实现的,但是由于数组的空间不是动态调配的,这轻易展现越界错误,例如:常有预先设定的字符数组不能容纳后输入的字符串。在Java中,字符串是一类特定的对象,这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论