《java语法基础》PPT课件.ppt
《《java语法基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《java语法基础》PPT课件.ppt(129页珍藏版)》请在三一办公上搜索。
1、JVM,JAVA的几种模式ApplicationAppletServlet,回顾,Java 运行时环境(JRE)包含一方面与硬件交互、另一方面又与程序交互的 JVM。Java是完全面向对象的语言,所有的实现必须放在类中。main函数是Java应用程序执行的入口。JDK可用于开发 Java 程序。,回顾,Lesson 2:Programming Basic(Java语法基础),刘明铭,2012,Java语法基础,【学习目标】本讲主要讲述java编程语言的基本语法知识,如java 中的简单数据类型,运算符和表达式,控制语句,数组及字符串的处理。通过本讲的学习,同学们可以编写简单的java程序。【学
2、习指南】同任何一种编程语言一样,应深刻理解各知识点的概念,牢记一些java的语法,从而达到学习的目的。【参考书】Java编程思想,4th,第3,4章疯狂Java讲义,第3,4章,课前思考,Java中的标识符是由哪些字符组成的?Java中有哪些保留字?简单数据类型包含哪几种?各种数据类型变量的定义方法和常量的表示方法及取值范围。Java 中各简单数据类型间的优先次序和自动转换规则是什么?各数据类型间在什么情况下,进行自动转换,在什么情况下使用强制转换?Java中有哪些运算符?这些运算符的优先关系是怎样的?Java 中有哪些控制语句?你了解每一种控制语句的语法规则吗?,第二讲 Java语法基础,词
3、法规则数据类型常量与变量运算符和表达式控制语句数组和字符串,词法规则,Java程序的运行体系Source code(.java file)javac:Lexical Analysis&Parsing+Type-checking Byte code(.class file)Java编译器对源代码进行词法分析和类型校验,生成字节码文件JVM:Verification(essentially repeating static checks)+(Interpretation OR Compilation+Loading+Executing)Java解释器执行字节码文件中的类,Java解释器在加载和执行
4、类时验证类的完整性、正确操作和安全性,并与所在的操作系统、窗口环境和网络设备进行交互以产生所期望的程序行为,关键字,abstract double int strictfp*boolean else interface super break extends long switch byte final native synchronized case finally new this catch float package throw char for private throws class goto*protected transient const*if public try cont
5、inue implements return void default import short volatile do instanceof static while 注:*当前未被使用*使用于Java2,标识符,标识常量、变量、数据类型、类和方法public class HelloWorld1 public static void main(String args)String message=“Hello World!”;myPrint(message);private static void myPrint(String s)System.out.println(s);,标识符,组成规
6、则字母(AZ、az)、特殊符号($、_)和数字(09)第1个符号不能为数字不能为关键词、true、false、null区分大小写,标识符,例:point4、5w、A%、thisPicture、$currentValue、OK、_23b、Y_123、length、ab、if,5w、A%、length、ab、if,标识符,一般约定表示常量的标识符全部大写,如RED表示类名的标识符用大写字母开始,如MyCar表示公有方法和实例变量的标识符用小写字母开始,后面的描述性词以大写开始,如getCurrentValue表示私有或局部变量的标识符全部用小写字母,如next_value,分隔符,空白符空格、换行
7、符、制表符分号表示语句结束,或用于for循环语句中逗号变量之间的分隔冒号?:/switch循环中的case语句花括号类体、方法体、复合语句(for/while/switch/if),第二讲 Java语法基础,词法规则数据类型常量与变量运算符和表达式控制语句数组和字符串,数据类型,基本数据类型数字(number)整型(integers)字节整数(byte,8 bits):-128 127,0短整数(short,16 bits):-32768 32767,0整数(int,32 bits):-2147483648 2147483647,0长整数(long,64 bits):,0L实型(real nu
8、mbers):浮点型(有效位数不同)单精度(float,32 bits):,0.0F双精度(double,64 bits):,0.0D字符(char,16-bit Unicode字符):u0000 uffff布尔(boolean):true,false复合数据类型数组(Array),类(class),接口(interface),数据类型,示例int i=178;long l=8864L;(8864l)double d1=37.266;double d2=37.266D;(37.266d)double d3=26.77e3;float f=87.363F;(87.363f)char c=d;bo
9、olean b1=true;boolean b2=false;,将一种类型的数据转换为另一种类型的数据操作数转换为同种类型,然后运算整数型、实数型和字符型表达形式:(类型)操作数应用场合二元运算符的二个操作数类型不同表达式值的类型与变量的类型不同两种方法隐型类型转换:自动类型转换(系统完成)显型类型转换:强制类型转换,类型转换(casting),隐型类型转换:自动类型转换(系统完成)宽化转换(widening conversion)byte j=60;short k=4;int l=31;long m=4l;long result=0l;result+=j-8;result*=k+2;resu
10、lt/=m+1;result-=l;result%=m;,类型转换(casting),隐型类型转换:自动类型转换(系统完成)类型转换表源类型 转换后不会丢失数据的目的类型byte short,char,int,long,float,doubleshort char,int,long,float,doublechar int,long,float,doubleint long,float,doublelong float,doublefloat double,类型转换(casting),显型类型转换:强制类型转换窄化转换(narrowing conversion)double a=1.5;flo
11、at b=a;System.out.println(“b=+b);编译:“possible loss of precision”数据精度丢失数据丢失double a=1.5;float b=(float)a;System.out.println(“b=+b);,类型转换(casting),显型类型转换:强制类型转换class Test public static void main(String args)int a=257;byte b=(byte)a;System.out.println(a=+a);System.out.println(b=+b);257 00000000 0000000
12、0 00000001 000000011 00000001,类型转换(casting),显型类型转换:强制类型转换class Test public static void main(String args)char c1=A,c2;/A的ASCII值为65int i;i=(int)c1+1;c2=(char)i;System.out.println(c1+c2);System.out.println(c1+“,”+c2);,类型转换(casting),第二讲 Java语法基础,词法规则数据类型常量与变量运算符和表达式控制语句数组和字符串,常量,程序执行过程中,值保持不变的量整型常量实型常量布
13、尔型常量字符型常量字符串常量,常量,整型常量常用十进制、八进制、十六进制表示有正负号,常量,实型常量双精度实数(double,8个字节,数字后加字母D或d)浮点实数(float,4个字节,数字后加字母F或f)若无明确字母标识,则系统默认为双精度实数两种表示方法十进制:数字和小数点组成,必须有小数点,例 0.12,.12,12.,12.0科学计数法:123e3,123E3,0.4e8D,-5e9,常量,布尔型常量truefalse,常量,字符型常量用单引号括起来的单个字符例:a,A,&例:,“a”JAVA中的字符为Unicode字符双字节,范围u0000uFFFF转义字符序列b 退格 t 制表符
14、n 换行(Newline)r 回车(Carriage return)单引号”双引号 反斜杠,常量,字符串常量用双引号括起来的若干个字符例,“I am a student”,“java语言”,“A”转义字符序列表示“”“”,常量,转义字符序列,class Test public static void main(String args)System.out.println(“javan语b言);System.out.println(javar语言);System.out.println(javat语言);(java语言);(java语言);(“”java语言“”);,C:java Testjav
15、a言语言java语言java语言java语言“java语言”C:,变量,程序执行过程中,值可以改变的量整型变量、实型变量、字符型变量、字符串变量、布尔变量等变量定义类型 变量名=初值,变量名=初值 类型:基本数据类型或引用类型int x,y,z;float a,b;char c1,c2,c3;double d1;boolean mycom;,变量,变量赋初值/初始化 在变量声明时赋值类型 变量名=初值,变量名=初值 int x=1,y=2,z=3;float e=2.718281828f;采用赋值语句float pi,y;pi=3.1415926f;y=2.71828f;,变量,变量的作用域,
16、class MyClass 成员变量申明public void aMethod(方法参数)局部变量申明,成员变量范围,方法参数范围,局部变量范围,变量,变量的作用域变量的使用范围,class Spot final static Spot st=new Spot(1,2);int a,b;int Count;Spot(int a,int b)this.a=a;this.b=b;,成员变量a,b,Count范围,方法参数a,b范围,变量,作用域(Scope),if(.)int i=17;.System.out.println(The value of i=+i);,变量,final变量带有关键字f
17、inal的变量final int aFinalVar=0;final变量初始化后不能再改变final int blankfinal;.blankfinal=0;blankfinal=3;,第二讲 Java语法基础,词法规则数据类型常量与变量运算符和表达式控制语句数组和字符串,运算符(operator),一元/单目运算符operator opop operator二元/双目运算符op1 operator op2三元/三目运算符op1?op2:op3注:op表示操作数,算术运算符(Arithmetic Operators)关系运算符(Relational Operators)逻辑运算符(Logic
18、al Operators)位运算符(Bitwise Operators)移位运算符(Shift Operators)条件运算符(Conditional Operator)运算符的优先级,运算符(operator),算术运算符(Arithmetic Operators)加法运算符+“op1+op2”减法运算符-“op1-op2”乘法运算符*“op1*op2”除法运算符/“op1/op2”求模运算符%“op1%op2”计算余数,int i=37int j=42double x=27.475double y=7.22,Adding.i+j=79 x+y=34.695,Subtracting.i-j=
19、-5 x-y=20.255,Multiplying.i*j=1554 x*y=198.37,Dividing.i/j=0 x/y=3.8054,Computing the remainder.i%j=37 x%y=5.815,运算符(operator),关系运算符(Relational Operators)比较运算,计算结果“true”或“false”大于“op1 op2”大于等于=“op1=op2”小于、=、(=、!=)关系运算符低于算术运算符,运算符(operator),关系运算符(Relational Operators)class Test public static void mai
20、n(String args)int w=25,x=3;boolean y=w=w*2 x*9;boolean cc=b a;System.out.println(“w x=”+y);System.out.println(“z=”+z);System.out.println(“cc=”+cc);,运算符(operator),逻辑运算符(Logical Operators)操作数的逻辑关系,计算结果“true”或“false”逻辑与&“op1&op2”操作数都为真“true”,结果为真“true”否则结果为假“false”逻辑或|“op1|op2”有一个操作数为真“true”,结果为真“true”
21、否则结果为假“false”逻辑非!“!op”取反,操作数为真“true”,结果为真“false”,反之例:0(&)(|)(!)算术运算符关系运算符(&)(|),运算符(operator),位运算符(Bitwise Operators)按位取反“op2”按位与&“op1&op2”按位或|“op1|op2”按位异或“op1 op2”通常:操作数为整数,运算符(operator),补码采用补码表示二进制数最高位是符号位正数的符号位是0,例,十进制42的补码为00101010负数的符号位是1该负数绝对值的补码按位取反,然后加1,为该负数的补码例,十进制-42的补码负数的绝对值42 绝对值的补码0010
22、1010 按位取反11010101 加1得11010110,运算符(operator),按位取反“op2”对操作数的每一个二进制位进行“取反”操作int a=42;int aa=a;System.out.println(“aa=”+aa);42 00101010-43 11010101,运算符(operator),按位与&“op1&op2”将操作数的对应位逐位进行位逻辑与运算1 1 1,其余为0用途取某一整数中指定的几个二进制位42&15 00101010&00001111 00001010 取后四位,运算符(operator),按位与&“op1&op2”用途将某一整数的最后一位置0 0010
23、1011&11111110 0010101043&1,运算符(operator),按位或|“op1|op2”将操作数的对应位逐位进行位逻辑或运算有1 1,其余为042|15 00101010|00001111 00101111用途:将一个整数的某一位或几位置1,运算符(operator),按位异或“op1 op2”将操作数的对应位逐位进行位异或运算对应位不同1,其余为042 15 00101010 00001111 00100101用途:将一个整数的某一位或几位取反,运算符(operator),移位运算符(Shift Operators)左移“op1 op2”无符号右移“op1 op2”,运算
24、符(operator),左移“op1 op2”将操作数op1的二进制位向左移op2(正整数)位低位补零int a=42;int aa=a 2;System.out.println(“aa=”+aa);42 00101010 2168 10101000 相当于 42*22=168运算速度比乘法快注意:溢出,运算符(operator),左移“op1 op2”溢出byte j=42;byte j1=(byte)(j 1);/84byte j2=(byte)(j 2);/168 byte j3=(byte)(j 3);/336System.out.println(j1=+j1);System.out.
25、println(j2=+j2);System.out.println(j3=+j3);00101010/4201010100/8410101000/-8801010000/80,运算符(operator),右移“op1 op2”将操作数op1的二进制位向右移op2(正整数)位高位补零(原为正数)、高位补1(原为负数)int a=42;int aa=a 2;System.out.println(“aa=”+aa);42 00101010 210 00001010 相当于 42/22=10.5运算速度比除法快,运算符(operator),无符号右移“op1 op2”将操作数op1的二进制位向右移o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java语法基础 java 语法 基础 PPT 课件

链接地址:https://www.31ppt.com/p-6500561.html