Java语言基础Ⅰ课件_第1页
Java语言基础Ⅰ课件_第2页
Java语言基础Ⅰ课件_第3页
Java语言基础Ⅰ课件_第4页
Java语言基础Ⅰ课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

Java语言初级教程第二章Java语言基础ⅠJava语言初级教程第二章Java语言基础Ⅰ1本章内容标识符和关键字Java基本数据类型运算符表达式和语句分支语句本章内容标识符和关键字2标识符Java语言中,对各种变量、方法和类等语言要素命名时使用的字符序列称为标识符。Java标识符有如下命名规则:标识符由字母、下划线“_”、美元符“$”或数字组成。标识符应以字母、下划线、美元符开头。Java标识符大小写敏感,长度无限制。Java标识符的选取因注意“见名知意”且不能与Java语言的关键字重名。标识符Java语言中,对各种变量、方法和类等语言要素命名时3标识符标识符举例:98.3_983HellWorld$bS5_c7DataClass#DataClassclassHelloWorld不合法的标识符合法的标识符标识符标识符举例:98.34关键字Java中一些赋以特定的含义,用做专门用途的字符串称为关键字(keyword)。所有Java关键字都是小写英文字符串,不同于C语言中的TRUE、FALSE、NULL等。goto

和const

虽然从未使用,但也作被为Java关键字保留。true,false虽被用做专门用途,但不是Java关键字。关键字Java中一些赋以特定的含义,用做专门用途的字符串称5关键字下面为Java语言定义的关键字abstractdefaultif privatethisbooleandoimplementsprotectedthrowbreakdoubleimportpublicthrowsbyteelseinstanceofreturntransientcaseextendsintshorttrycatchfinalinterfacestaticvoidcharfinallylongstrictfpvolatileclassfloatnativesuperwhileconstfornewswitchnullcontinuegotopackagesynchronized

关键字下面为Java语言定义的关键字abstract6Java常量Java的常量值用字符串表示,区分不同的数据类型,如整型常量123,实型常量3.14,字符常量‘a’,逻辑常量true、false等。Java语言中可以通过final关键字声明常量值,例如:final

doublePI=3.1415926;final

intHEIGHT=100;Java常量Java的常量值用字符串表示,区分不同的数据7Java变量Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明格式为:

typevarName[=value][{,varName[=value]}]例如:

floatfff=1.0f;inti=100;floatf=12.3f;doubled1,d2,d3=0.123;Java变量Java变量是程序中最基本的存储单元,其要素包8Java变量的分类按所属的数据类型划分:基本数据类型变量引用数据类型变量按被声明的位置划分:局部变量:方法或语句块内部定义的变量成员变量:方法外部、类的内部定义的变量Java变量的分类按所属的数据类型划分:9Java局部变量Java变量使用前必须先声明和初始化(赋初值)变量声明和初始化举例:

………public

voidmethod(){inti;intj=i+5;//编译出错,变量i还未被初始化doubled=3.14;Datem;m=newDate(22,7,1964);System.out.println(m);}Java局部变量Java变量使用前必须先声明和初始化(赋初10Java数据类型的划分数据类型基本数据类型引用数据类型数值型字符型(char)布尔型(boolean)整数类型(byte,short,int,long)浮点类型(float,double)类(class)接口(interface)数组Java数据类型的划分数据类型基本数据类型引用数据类型数值型11Java基本数据类型Java中定义了4类8种基本数据类型。逻辑型-boolean文本型-char整数型-byte,short,int,long浮点数型-float,doubleJava基本数据类型Java中定义了4类8种基本数据类型。12逻辑型(boolean)boolean类型适于逻辑运算,一般用于程序流程控制。boolean

类型数据只允许取值true

或false

,不可以0或非0的整数替代true

和false,这点和C语言不同。用法举例:booleanflag;flag=true;if(flag){//dosomething}逻辑型(boolean)boolean类型适于逻辑运算,一13字符型(char)char型数据用来表示通常意义上“字符”字符常量为用单引号括起来的单个字符,例如:Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示,例如:Java语言中还允许使用转义字符‘\’来将其后的字符转变为其它的含义,例如:chareChar='a';charcChar='中';charc2='\n';//'\n'代表回车符charc1='\u0061';字符型(char)char型数据用来表示通常意义上“字符”14整数类型Java各整数类型有固定的表数范围和字段长度,其不受具体操作系统的影响,以保证Java程序的可移植性。下面列出Java的各种整数类型。8字节

4字节

2字节

1字节

占用存储空间-231~231-1int-263~263-1long-215~215-1short-128~127byte表数范围类型整数类型Java各整数类型有固定的表数范围和字段长度,其不15整数类型Java语言整型常量的三种表示形式:

十进制整数,如:12,

-314,0。

八进制整数,要求以0开头,如:012。十六进制数,要求0x或0X开头,如:0x12。Java语言的整型常量默认为int型,声明long型常量可以后加‘l’或‘L’,如:inti1=600;longl1=88888l;//也可以不加l整数类型Java语言整型常量的三种表示形式:inti116浮点类型与整数类型类似,Java浮点类型有固定的表数范围和字段长度,不受运行平台的影响。下面列出Java的各种浮点类型8字节

4字节

占用存储空间-1.798E308~1.798E308double-3.403E38~3.403E38float表数范围类型浮点类型与整数类型类似,Java浮点类型有固定的表数范围和字17浮点类型Java浮点类型常量有两种表示形式十进制数形式,例如: 3.14314.0.314

科学记数法形式,如

3.14e23.14E2100E-2Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:doubled=12345.6;floatf=12.3f;//必须加f否则会出错浮点类型Java浮点类型常量有两种表示形式doubled18变量的声明与赋值public

classTest{public

static

voidmain(Stringarg[]){booleanb=true;intx,y=9;doubled=3.1415;charc1,c2;c1='\u534e';c2='c';x=12;System.out.println("b="+b);System.out.println("x="+x+",y="+y);System.out.println("d="+d);System.out.println("c1="+c1);System.out.println("c2="+c2);}}变量的声明与赋值publicclassTest{19基本数据类型转换Boolean类型不可以转换为其他的数据类型。整形,字符型,浮点型的数据在混合运算中可以相互转换,转换时遵循以下原则:容量小的数据类型可以自动转换为容量大的数据类型;数据类型按容量大小排序为:

容量的的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。低高byte,short,char->int->long->float->double基本数据类型转换Boolean类型不可以转换为其他的数据类20基本数据类型转换public

classTest{public

static

voidmain(Stringarg[]){inti1=123;inti2=456;doubled1=(i1+i2)*1.2;//系统将转换为double型运算floatf1=(float)((i1+i2)*1.2);//需要加强制转换符byteb1=1;byteb2=2;byteb3=(byte)(b1+b2);//系统将转换为int型运算,需//要强制转换符doubled2=1e200;floatf2=(float)d2;//会产生溢出System.out.println(f2);floatf3=1.23f;//必须加flongl1=123;longl2=30000000000l;//必须加lfloatf=l1+l2+f3;//系统将转换为float型计算longl=(long)f;//强制转换会舍去小数部分(不是四舍五入)System.out.println(f);System.out.println(l);}}基本数据类型转换publicclassTest{21基本数据类型转换输出结果:Infinity3.0000001E1030000001024注意:有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。byte,char,short数据类型进行运算时,系统先将其转换为int型数据,在进行运算。实数常量(如:1.2)默认为double类型。整数常量(如:123)默认为int类型。基本数据类型转换输出结果:Infinity注意:22课堂练习说出下面程序片断中编译错误或可能产生计算溢出的部分voidpublicmethod(){inti=1,j;floatf1=0.1;floatf2=123;longl1=12345678,l2=8888888888;doubled1=2e20,d2=124;byteb1=1,b2=2,b3=129;j=j+10;i=i/10;i=i*0.1;charc1='a',c2=125;byteb=b1-b2;charc=c1+c2-1;floatf3=f1+f2;floatf4=f1+f2*0.1;doubled=d1*i+j;floatf=(float)(d1*5+d2);}课堂练习voidpublicmethod(){23运算符Java语言支持如下运算符:算术运算符:

+,-,*,/,%,++,--关系运算符:

>,<,>=,<=,==,!=逻辑运算符:

!,&,|,^,&&,||位运算符:

&,|,^,~,>>,<<,>>>赋值运算符:

=扩展赋值运算符:+=,-=,*=,/=字符串连接运算符:+运算符Java语言支持如下运算符:算术运算符:+,-,24自加和自减运算符public

classTest{public

static

voidmain(Stringarg[]){inti1=10,i2=20;inti=(i2++);System.out.print("i="+i);System.out.println("i2="+i2);i=(++i2);System.out.print("i="+i);System.out.println("i2="+i2);i=(--i1);System.out.print("i="+i);System.out.println("i1="+i1);i=(i1--);System.out.print("i="+i);System.out.println("i1="+i1);}}自加和自减运算符publicclassTest{25自加和自减运算符输出结果:i=20i2=21i=22i2=22i=9i1=9i=9i1=8注意:++(--)在前时先运算再取值。++(--)在后时先取值再运算。自加和自减运算符输出结果:i=20i2=21注意:26逻辑运算符逻辑运算符功能

!-逻辑非 &-逻辑与 |-逻辑或

^-逻辑异或 &&-短路与||-短路或逻辑运算符功能说明:falsefalsetruetrueafalsetruefalsetruebtruetruefalsefalse!afalsefalsefalsetruea&bfalsetruetruetruea|bfalsetruetruefalsea^bfalsefalsefalsetruea&&bfalsetruetruetruea||b逻辑运算符逻辑运算符功能falsefalsetruetrue27逻辑运算符public

classTest{public

static

voidmain(Stringargs[]){booleana,b,c;a=true;b=false;c=a&b;System.out.println(c);c=a|b;System.out.println(c);c=a^b;System.out.println(c);c=!a;System.out.println(c);c=a&&b;System.out.println(c);c=a||b;System.out.println(c);}}输出结果:falsetruetruefalsefalsetrue逻辑运算符publicclassTest{输出结果:fa28逻辑运算符短路逻辑运算符应用

&&

-第一个操作数为假则不判断第二个操作数。

||

-第一个操作数为真则不判断第二个操作数。例如:public

classTest{public

static

voidmain(Stringargs[]){inti=1,j=2;booleanflag1=(i>3)&&((i+j)>5);

//第二个操作数将不再计算booleanflag2=(i<2)||((i+j)<6);

//第二个操作数将不再计算}}逻辑运算符短路逻辑运算符应用publicclassTes29赋值运算符赋值运算符(=)当“=”两侧的数据类型不一致时,可以适用默认类型转换或使用强制类型转换原则进行处理

long

l

=

100;int

i

=

(int)l;注意:可以将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围

byte

b

=

12;

char

c

=

100;byte

bb

=

256;short

s

=

-32769;

赋值运算符赋值运算符(=)30扩展赋值运算符Java扩展运算符的使用与C语言类似:a=a>>>ba>>>=b>>>=a=a>>ba>>=b>>=a=a<<ba<<=b<<=a=a^ba^=b^=a|=ba&=ba%=ba/=ba*=ba-=ba+=b用法举例

a=a|b|=a=a&b&=a=a%b%=/=*=-=+=运算符

a=a/ba=a*ba=a-ba=a+b等效的表达式

扩展赋值运算符Java扩展运算符的使用与C语言类似:31字符串连接运算符“+”除用于算术加法运算外,还可用于对字符串进行连接操作 int

id

=

800

+

90; String

s

=

"hello"

+

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

intc=12; System.out.println("c="+c);字符串连接运算符“+”除用于算术加法运算外,还可用于对字32表达式“表达式”是符合一定语法规则的运算符和操作数的序列

a5.0+a(a-b)*c-4i<30&&i%10!=0表达式的类型和值对表达式中操作数进行运算得到的结果称为表达式的值。表达式的值的数据类型即为表达式的类型。表达式的运算顺序应按照运算符的优先级从高到低的顺序进行。优先级相同的运算符按照事先约定的结合方向进行。表达式“表达式”是符合一定语法规则的运算符和操作数的序列33运算符优先级.(){};,=*=/=%=+=-=<<=>>=>>>=&=^=|=RtoL?:RtoL||LtoR&&LtoR|LtoR^LtoR&LtoR==!=LtoR<><=>=instanceofLtoR<<>>>>>LtoR+-LtoR*/%LtoR++--~!(datatype)RtoL低高运算符优先级.(){};,=34三目条件运算符“三目条件运算符,语法格式:x?y:z其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。举例: int

score

=

80;

int

x

=

-100; String

type

=

score

<

60

?

"不及格"

:

"及格"; int

flag

=

x

>

0

?

1

:

(x

==

0

?

0

:

-1); System.out.println("type="

+

type); System.out.println("flag="+

flag);输出结果:type=及格flag=-1三目条件运算符“三目条件运算符,语法格式:输出结果:type35课堂练习说出下面表达式的值及其类型说出执行玩下列语句后,f1,f2,f3,f4和i的值10/410%410.0/410.0%42<3&&6<9!(4<7)

………inti=2;booleanf1=(2==(--i))&&(1==(i++));booleanf2=(1==i++)&(2==(++i));booleanf3=(1==(i/=2))||(3==(i*=2));booleanf4=(1==i)|(3==(i+=2));课堂练习说出下面表达式的值及其类型10/436程序结构任何高级语言都支持三种基本程序结构:顺序结构分支结构当循环直到循环循环结构程序结构任何高级语言都支持三种基本程序结构:顺序结构分支结构37分支语句分支语句实现程序流程控制的功能,即根据一定的条件有选择地执行或跳过特定的语句Java支持两种类型的分支语句:

if-else语句

switch语句分支语句分支语句实现程序流程控制的功能,即根据一定的38if语句if语句有三种常用格式:if(boolean表达式){…}if(boolean表达式){…}else{…}if(boolean表达式){…}else

if(boolean表达式1){…}else

if(boolean表达式2){…}………else{…}if语句if语句有三种常用格式:39if语句=F=T表达式语句A表达式语句A语句B=T=Fif(boolean表达式){…}if(boolean表达式){…}else{…}if语句=F=T表达式语句A表达式语句A语句B=T=Fif40if语句if(boolean表达式1){…}else

if(boolean表达式2){…}else

if(boolean表达式3){…}………else{…}=F=T表达式1…语句1…=F=T表达式2=F=T表达式n语句2语句n+1语句nif语句if(boolean表达式1){…}=F=T表达式41if语句举例(1)public

classTest{public

static

voidmain(Stringargs[]){intscore=70;if(score<60){System.out.println("D");}else

if(score<75){System.out.println("C");}else

if(score<90){System.out.println("B");}else{System.out.println("A");}}}if语句举例(1)publicclassTest{42if语句举例(2)public

classTest{public

static

voidmain(Stringargs[]){inta=6,b=3,c=9;if(a>b){inttemp=a;a=b;b=temp;}if(b>c){inttemp=b;b=c;c=temp;}if(a>b){inttemp=a;a=b;b=temp;}System.out.println(""+a+","+b+","+c);}}if语句举例(2)publicclassTest{43switch语句switch语句有如下格式:switch(

int表达式

)

{case

const1:

statement1;break;case

const2:statement2;break;…

……case

constN:statementN;break;[default:statement_dafault;break;]}

switch语句switch语句有如下格式:44switch语句举例(1)public

classTest{public

static

voidmain(Stringargs[]){inti=1;s

温馨提示

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

最新文档

评论

0/150

提交评论