第2讲JAVA语言基础_第1页
第2讲JAVA语言基础_第2页
第2讲JAVA语言基础_第3页
第2讲JAVA语言基础_第4页
第2讲JAVA语言基础_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

第二讲

JAVA语言基础

主要内容Java语言的基本组成

Java技术关键字八个基本数据类型数组选择结构循环结构Java语言的基本组成Java语言主要由以下五种元素组成:标识符、关键字、文字、运算符和分隔符。这五种元素有着不同的语法含义和组成规则,它们互相配合。注释三种允许的Java技术程序注释风格//单行注释/*单行或

多行注释*//**文档注释*/文档注释一般放在一个变量或函数定义之前,指示在任何自动生成文档系统中调入。标识符赋予变量、类、对象和方法的名称命名规则:可包含一个字母、数字、下划线(_)或美元符号($),但不能以数字开头是大小写区别对待的,且无最大长度

不能和关键字相同

合法标识符非法标识符

try

try#

group_7

7group

opendoor

open-door

Boolean

boolean

Java标识符的命名约定

(1)类名和接口名一般使用名词,首字母大写,若名称是多个单词的组合,每个单词的第一个字母都应该大写,如:classStudent{}(2)变量名和方法名一般用小写英文单词命名,若名称是多个单词的组合,则第一个单词小写,后面单词的第一个字母大写,如:balanceAccount(3)常量名应该全部大写并用下划线将词分隔开,如:MAX_ARRAY_SIZE或MY_NAMEJava关键字

abstractdoimplementsprivatethrowbooleandoubleimportprotectedthrowsbreakelseinstanceofpublictransientbyteextendsintreturntruecasefalseinterfaceshorttrycatchfinallongstaticvoidcharfinallynativesupervolatileclassfloatnewswitchwhilecontinuefornullsynchronizeddefaultifpackagethisjava数据类型数据类型的分类如下所示:数据类型基本数据类型复合数据类型数值型字符型:char布尔型:boolean整型:byte,short,int,long实型:float,double类:class数组和字符串接口:interface基本Java类型

逻辑型boolean字符型char整数型byte

short

int

long浮点型double

float

逻辑型──boolean

有两个值:true和false不允许在数值型和逻辑型数据间进行转换例: booleantruth=true;字符型──char

代表一个16-bitUnicode字符必须用单引号包括引用的文字转义字符‘a’‘\t’一个制表符‘\u????’一个特殊的Unicode字符。????应严格按照四个16进制数字进行替换整型──byte,short,int,long

缺省为int采用三种进制──十进制、八进制和16进制2十进制值是2077首位的0表示这是一个八进制的数值0xBAAC首位的0x表示这是一个16进制的数值用字母“L”和“l”定义long整型数据数值范围类型长度取值范围byte8bits-27——27-1short16bits-215——215-1int32bits-231——231-1long64bits-263——263-1浮点型──float和double

float:32位double:64位缺省为double浮点文字包括小数点或下列各项之一E或e(指数形式)F或f(float)D或d(double)1402E232.718F123.4E+306D变量先定义后使用变量的初始化变量的使用范围

类型转换

自动类型转换强制类型转换格式:(数据类型说明符)(表达式)

inta;

charb;

a=(int)b;

强制转换得到的是中间变量类型,原变量类型不变自动类型转换整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级。要实现自动类型转变,需要同时满足两个条件,第一是两种类型彼此兼容,第二是目标类型的取值范围大于源类型。进行类型转换要注意使目标类型能够容纳原类型的所有信息,不会丢失信息的类型转换有:原始类型目标类型

byte-〉short-〉char-〉int-〉long-〉float-〉double

运算符

优先级. [] ()++ -- ! ~/ %+ -<< >> >>> <> <= >=== !=&^&&||?:= += -=

运算符和表达式算术运算符关系运算符位运算符逻辑运算符赋值运算符条件运算符运算符的优先级数据类型转换算术运算符算术运算符一般用于对整型数和浮点型数运算。算术运算符有+(加)、-(减)、*(乘)、/(除)和%(取余数)五个二元运算符+(正)、-(负)、++(自增)、--(自减)四个一元运算符。关系运算符运算符实际操作例子<小于a<b>大于a>b<=小于等于a<=b>大于等于a>=b==等于a==b!=不等于a!=b位运算符运算符功能示例~按位取反~op&按位与op1&op2|按位或op1|op2^按位异或op1^op2<<按位左移op1<<op2>>按位右移op1>>op2>>>按位无符号右移op1>>>op2逻辑运算符逻辑运算符的运算对象只能是布尔型数据,并且运算结果也是布尔型数据。逻辑运算符包括以下几种:!(逻辑非)、&&(逻辑与)、||(逻辑或)。15/6 =215%6 =315>>2 =315<<2 =6015>>>2 =3-15>>2 =-4-15>>>2=1073741820字符串运算符

+

运算符可以把字符串连接起来如果哪一个操作数不是字符串,在连接之前它会被转换成字符串

例:“a=“+12复合数据类型

引用类型可以被认为就是指向实际值或者指向变量所代表的实际值的指针复合数据类型分成三种,它们是:类(class)、接口(interface)和数组(array)默认值就是null

数组是程序开发中使用最多的数据结构之一。Java语言同样支持数组的使用,与其他语言不同的是Java数组是一种引用数据类型。所谓数组是名称相同,下标不同的一组变量,它用来存储一组类型相同的数据。数组数组的定义使用数组一般需要三个步骤:①声明数组:声明数组元素的数据类型;②创建数组:为数组元素分配存储空间;③数组的初始化:为数组元素赋值。数组的声明使用数组之前需要声明数组,声明数组就是告诉编译器数组名和数组元素的类型。数组声明的一般格式是:type[]arrayName;或typearrayName[];double[]score;String[]words;注意数组声明不能指定数组的元素个数,这一点与C/C++是不同的。创建数组数组声明仅仅声明一个数组对象的引用,而创建数组是为数组的每个元素分配存储空间。创建数组使用new语句,一般格式为: arrayName=newtype[arraySize];该语句的功能是分配arraySize个type类型的存储空间,并通过arrayName来引用。例如:score=newdouble[5];words=newString[3];创建数组数组的声明和创建数组也可以用一个语句完成,例如:double[]score=newdouble[5];String[]words=newString[3];注意数组的大小可以在运行时指定,这一点C/C++不允许。数组的初始化数组的初始化就是为数组的每个元素赋初值,通常有两种方法:(1)使用默认值初始化当用new运算符创建一个数组时,系统就为数组元素分配了存储空间,这时每个元素都被初始化。基本数据类型的数组使用该类型的初值初始化,引用类型的数组其初值为null。对于引用类型的数组(对象数组)初始化还要为每个数组元素分配引用空间.数组的初始化数据类型初始值数据类型初始值booleanfalselong0Lbyte0float0.0Fshort0double0.0Dint0char\u0000referencenull数组的初始化设有下面声明和创建数组的语句:double[]score=newdouble[5];String[]words=newString[3];length:5score[0]:0.0score[1]:0.0score[2]:0.0score[3]:0.0score[4]:0.0scorelength:3words[0]:nullwords[1]:nullwords[2]:nullwordsscore数组和words数组创建后的效果数组的初始化对于引用类型数组(对象数组)初始化还要为每个数组元素分配引用空间,例如:words[0]=newString("How");words[1]=newString("are");words[2]=newString("you");length:3words[0]words[1]words[2]wordsHowareyouwords数组元素创建后的效果数组的初始化声明数组的同时对数组元素初始化适合数组元素较少的情况,也称为静态初始化,double[]score={79,84.5,63,90,98};String[]args={"How","are","you"};上面两句还可以写成:double[]sales=newdouble[]{79,84.5,63,90,98}; String[]args=newString[]{"How","are","you",};数组元素的使用数组的使用定义了一个数组,并使用new运算符为数组元素分配了内存空间后,就可以使用数组中的每一个元素。数组元素的使用方式是: arrayName[index]其中,index为数组元素的下标,下标从0开始,到数组的长度减1。数组的使用数组一经创建就不能改变数组的大小。数组作为对象提供了一个length成员变量,它表示数组元素的个数,访问该成员变量的方法为arrayName.length。为了保证安全性,Java运行时系统要对数组元素的范围进行越界检查,若超出数组元素的范围如score[5],Java会抛出ArrayIndexOutOfBoundsException运行时异常。数组界限

所有数组的下标都从0开始一个数组中元素的数量被作为具有length属性的部分数组对象而存储

intlist=new

int

10;

for(inti=0;i<list.length;i++) { System.out.println(listi);

}程序控制语句选择(分支)结构if语句if(逻辑表达式) {语句或块;}

if(逻辑表达式) {语句或块;}

else{语句或块;}intcount;count=getCount();if(count<0) { System.out.println(“Error!");}else { System.out.println("count="+count);}switch语句

switch(expr1){

caseexpr2:statements;break;

caseexpr3:statements;break;

default:statements;break;

}expr1必须是int、byte、short或char类型表达式,不允许使用浮点或long表达式。switch(colorNum){ case0: setBackground(Color.red);break; case1: setBackground(Color.green);break; default: setBackground(Color.black);break;}while循环

while(逻辑表达式){循环体}例:inti=0;while(i<10){ System.out.println(“Howareyou."); i++;}System.out.println("Finally!");

do-while循环

do

{ 循环体}while(逻辑表达式);例: inti=0;

do{ System.out.println(“Howareyou."); i++; }while(i<10); System.out.println("Finally!");for循环

for(expr1;booleantestexpr;expr2){

statementorblock;

}例:

for(inti=0;i<10;i++){ System.out.println("AreyouOK?");}增强的for循环在J2SE5.0中,Java语言增加了一种循环结构,称为增强的for循环,它主要用于对数组和集合对象的元素的迭代。增强的for循环可以用来迭代数组和对象集合的每个元素。增强的for循环的一般格式为:for(typeidentifier:expression){ //循环体}例:使用for循环,代码如下:publicintsumArray(intarray[]){intsum=0;for(inti=0;i<array.length;i++){sum=sum+array[i];}returnsum;}若使用增强的for循环,该段代码可重写如下:publicintsumArray(intarray[]){intsum=0;for(inti:array){sum=sum+i;}returnsum;}publicclassEnhancedForDemo{ publicstaticvoidmain(Stringargs[]){ String[]season={"Spring","Summer","Fall","Winter"};

for(Stringelement:season){ System.out.print(""+element);} }}break和continuebreak[label];break语句被用来从switch语句、循环语句和预先给定了label的块中退出。continue[label];continue语句被用来略过并跳到循环体的结尾。label:语句;label可标识控制需要转换到的任何有效语句,它被用来标识循环构造的复合语句。test:for(...){ ....

while(...) {

if(j>10) {

breaktest; } }//endwhile}//endfortest:for(...){ ....

while(...) {

if(j>10) {

continuet

温馨提示

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

评论

0/150

提交评论