资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第1章,Java,概述,导 读,主要内容,Java,的地位,Java,诞生,Java,的特点,安装,JDK,简单的,Java,应用程序,重点与难点:,重点,:,Java,平台无关性、,Java,程序的结构。,难点,:,Java,程序的开发过程。,1.1 Java的发展历史,1,.,Java之父,詹姆斯高斯林,软件专家,Java编程语言的共同创始人之一,一般公认他为Java之父。,高斯林在Sun工作期间提出了Java的最初设计。,2017年5月,加盟亚马逊云计算部门。,-,James Gosling,1990,年,Sun,公司成立了由,James Gosling,领导的开发小组,开始致力于开发一种,可移植的,、,跨平台,的语言,该语言能生成正确运行于各种操作系统、各种,CPU,芯片上的代码。,印度尼西亚有一个重要的盛产咖啡的岛屿叫,Java(,爪哇,),,开发人员为这种新的语言起名为Java,寓意就是为世人端上,一杯热咖啡,,,醇香动人,。,2.,Java命名由来,1.2 Java 语言的特点,热身练习:,使用,C,语言编写程序,,输出,“,大家好,”,。,C,语言程序:,#include ,int main(),printf(,大家好!,n,);,return 0;,Java,语言程序:,public class Hello,public static void main(String args),System.out.println(,大家,好);,1,.,简单性,Java,语法与,C,和,C+,很接近。,Java,丢掉了指针。,Java,提供自动废料收集,不为内存管理担忧。,2,.,面向对象,基于,对象,的编程更符合人的思维模式,使人们更容易解决复杂的问题。,Java,是,面向对象,的编程语言。,3,与体系结构无关,(,平台无关性,),C/C+,程序依赖平台,3,与体系结构无关,(,平台无关性,),Java,源程序文件,.java,编译器,字节码文件,.class,Windows,操作环境,Unix,操作环境,JVM,JVM,JVM,Mac,操作环境,4.,多线程,Java,内置对多线程的支持。,多线程允许同时完成多个任务。,5.,动态执行,Java,程序的基本单元是,类,。,类是运行时动态装载的,可以动态的,维护程序及类库。,C/C+,当类库升级后,需对程序重新修改、编译。,1.4 JAVA程序的运行机制,Java,源程序文件,(,.java,文件),编译,字节码文件,(,.class,文件),解释,运行,101,0111,110 1001,110 1001,111 0000,110 0101,1.3 JAVA与C/C+的差异,比较内容,JAVA,C,是否解释型,编译后是否产生机器码,是否跨平台,运行速度,是否有指针,是否具备继承功能,是,否,否,是,是,否,慢,快,否,是,是,否,1.5 Java开发环境,1,),Java SE,(,Java,标准版),提供了标准的,JDK,。,可开发桌面应用程序和低端的服务器应用程序。,当前最新的,JDK,版本为,JDK1.8,。,1.,平台简介,2,),Java EE,(,Java,企业版),可以构建企业级的服务应用。,包含,Java,SE,平台。,3,),Java ME,(,Java,小型版),为消费电子产品提供一个Java的运行平台,如手机、机顶盒等产品。,2.安装Java SE平台,步骤,1,下载,JDK,网址:,d:jdkbin,classpath d:jdklib,具体过程可观看,蓝墨云班课,视频,-,第二讲 环境变量的配置,1.7 Java程序的产生、编译和运行,编写源文件,在记事本中编写源文件。扩展名必须为,.java,,主名必须与,public,类名,一致。,编译源文件,使用,Java,编译器(,j,avac.exe,),编译源文件,得到字节码文件。,运行程序,使用,Java,解释器(,java.exe,)解释执行字节码文件。,Java,程序开发步骤,Java,源程序文件,(,.java,文件),编译(,javac.exe,),字节码文件,(,.class,文件),解释,运行(,java.exe,),101,0111,110 1001,110 1001,111 0000,110 0101,1.6 Java集成开发环境Eclipse,1,)创建项目,文件,-,新建,-Java,项目,-,输入项目名,-,完成。,2),创建类,文件,-,新建,-,类,-,输入类的名称,-,选中自动生成,public static void main(),复选框,-,完成。,1.,8,Java程序的基本结构,public,class Hello,public static void main(String args),System.out.println(,大家好!);,System.out.println(Nice to meet you);,Student stu=new Student();,stu.speak(We are students);,class Student,public void speak(String s),System.out.println(s);,1、,在 状态下输入括号和标点符号。,英文,2、,Java,程序是由 一个或多个 组成,但只能有一个 类。,类(,class),公共类(,public),public,class,Hello,public static void main(String args),System.out.println(,大家好!);,System.out.println(Nice to meet you);,Student stu=new Student();,stu.speak(We are students);,class,Student,public void speak(String s),System.out.println(s);,3、,Java,程序定义了,public,类,则源程序文件名必须和 一致。,公共类名,public,class,Hello,public static void main(String args),System.out.println(,大家好!);,System.out.println(Nice to meet you);,Student stu=new Student();,stu.speak(We are students);,class Student,public void speak(String s),System.out.println(s);,public,class Hello,public static void main(String args),System.out.println(,大家好!);,System.out.println(Nice to meet you);,Student stu=new Student();,/,成员变量,stu.speak(We are students);,class Student,public void speak(String s),/,成员方法,System.out.println(s);,4、,类包含 和 ,类中可以定义多个方法,但,方法只能有,1,个。,成员变量,成员方法,main,public,class Hello,/*,以下是一个,main,方法,Java,虚拟机首先执行该方法,*/,public static void main(String args),Student stu=new Student();,/,成员变量,stu.speak(We are students);,class Student,public void speak(String s),System.out.println(s);,5、,注释语句。,总结,Java,语言是面向对象编程,编写的,软件与平台无关。,开发一个,Java,程序需经过三个步骤:,编写源文件、编译源文件生成字节,码、加载运行字节码。,本节结束咯偶都会了太葱明了,1,命名保存源文件,2,编译,3,执行,本章结束,Thank You!,第二章,Java,语言基础,无私奉献 报国为民 挑战极限 追求卓越,1,深刻理解各知识点的概念,并熟记,java,的语法规范。,2,熟练使用各种数据类型的定义,表示和引用。,难重点,2.1,标识符和关键字,2.2,数据类型,2.3,常量、变量,2.4,用户输入和程序输出,2.5,分隔符和注释,2.1,标识符和关键字,Java,语言采用,Unicode,字符集,采用,16,位编码,前,256,个字符与,ASCII,相同。,1,标识符,标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。,Java,的标识符由字母、数字、,_,和,$,组成,长度不限,但实际命名不宜过长。,标识符的第一个字符必须为字母、,“,_,”,或,“,$,”,。标识符区分大小写。,合法的标识符:,name,s_no,$2,boy_number,不合法的标识符:,2y,,,a*b,,,w/,为了提高程序的可读性,标识符最好,“,见名知义,”,,而且规范大小写的使用方式:,变量名、对象名、方法名、包名,等标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写。,如,getAge,。,类名,首字母大写。,常量名,全部字母大写。,2,关键字,关键字是由,Java,语言定义的、具有特殊含义的字符序列。用户只能按照系统规定的方式使用,不能自行定义。,关键字一律用小写字母表示。,2.2,数据类型,Java,的数据类型分为,2,大类:基本数据类型和引用数据类型。,基本数据类型是由一种简单数据组成的数据类型,其数据是不可分解的。例如,整数类型,int,的数据有,34,,,17,等,可以进行整除运算,34/17,。,基本数据类型已由,Java,预定义,类型名是关键字,如,int,,,float,,,char,和,boolean,等。,基本数据的变量中保存数据值,而引用数据类型的变量保存地址。,Java,的引用数据类型包括数组(,array,)、类(,class,)和接口,(interface),。,Java,数据类型,基本类型,整型(,byte,、,short,、,int,、,long),浮点型(,float,、,double),字符型(,char,),布尔型(,boolean),引用类型,数组,接口(,interface),类(,class,),整数类型,整数类型数据值有负整数、零和正整数。整数类型又细分为,4,种子类型。不同整数类型的差别在于占用的内存空间和数据取值范围的不同。,数据类型,所占字节,取值范围,long,(长整型),8,-,9223372036854775808,9223372036854775807,int,(整型),4,-,2147483648,2147483647,short,(短整型),2,-,32768,32767,byte,(位),1,-,128,127,一个整数的,缺省,类型为,int,。,要表示一个整数为,long,型,,在其后加,后缀,L,或,l,,如,345L,。,Java,还提供了,3,种进制的整数表示形式:,十进制数,。用,09,之间的数字表示的数,其首位不能为,0,。,八进制数,。用,07,之间的数字表示的数,以,0,为前缀,。,十六进制数,。用,09,之间的数字或,af,,,AF,之间的字母表示的数,以,0 x,或,0X,为前缀,。,2,、浮点数类型,浮点数类型有,2,种表示形式:,标准记数法,:由整数部分、小数点和小数部分组成,如,12.37,科学记数法,:由尾数、,E,或,e,及阶码组成,也称为指数形式,如,2.5E4,表示,2.510,4,有,2,种浮点数类型:,float,(单精度浮点数)和,double,(双精度浮点数)。,浮点数类型,所占字节,取值范围,float,(单精度浮点数),4,-,3.4E38,3.4E38,double,(双精度浮点数),8,-,1.7E308,1.7E308,取值范围及所占用的内存大小,一个浮点数,缺省类型,为,double,。要表示一个浮点数为,float,型,在其后加后缀,F,或,f,,如,34.5f,。,3、,字符类型,字符类型(,char,)表示,Unicode,字符,,1,个字符占,16,位,2,个字节。,字符类型数据表示方法:用,单引号,括起来的单个字符。,由多个字符组成的字符序列称为,字符串,,字符串用双引号括起来。如,green,就是一个字符串。,4、,布尔类型,布尔类型(,boolean,)只有,true,(真)和,false,(假),2,个值。布尔类型值占,1,个字节,。,数据类型,所占字节,表示范围,long(,长整形,),8,-9223372036854775808 9223372036854775807,int(,整型,),4,-2147483648 2147483647,short(,短整型,),2,-3276832767,byte(,位,),1,-128127,char(,字符,),2,065535,boolean(,布尔,),1,true,或,false,float(,单精度,),4,-3.4E38 3.4E38,double(,双精度,),8,-1.7E308 1.7E308,Java,基本类型表,1、,常量,常量是指在程序运行过程中其值始终保持不变的量。,Java,中的常量有整型、浮点数型、字符型、布尔型和字符串型。,如,26,,,47.3,,,a,,,true,,,“,student,”,分别是整数型、浮点数型、字符型、布尔型和字符串型常量,常量的这种表示方式称为直接常量。,2.3,常量与变量,转义字符,功能,Unicode,码,b,退格,u0008,t,水平制表,u0009,n,换行,u000a,f,换页,u000c,r,回车,u000d,双引号,u0027,单引号,u0027,反斜杠,u005C,Java,语言转义字符,【,练习,】,给出程序运行结果。,public class Ellsworth,public static void main(String args),String line1=Pop-up code completion.n;,String line2=Debugger Interface.;,String quote=line1+line2;,String speaker=Custom cocument types.;,System.out.println(quote);,System.out.println(t+speaker);,运行结果:,Pop-up code completion.,Debugger Interface.,Custom cocument types.,2,、,变量,变量是指在程序运行过程中其值可以改变的量。,变量必须先定义后使用。其格式为:,修饰符,类型标识符 变量名,=,常量,;,类型标识符可以是任意的基本数据类型或引用数据类型。,变量名必须符合标识符的规定,并习惯采用小写字母。如果变量名由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写。取名时最好符合,“,见名知意,”,的原则。例如:,int age;,如果声明中包含,“,=,常量,”,部分,系统将此常量的值赋予变量,作为变量的初始值。,可以同时声明同一数据类型的多个变量,各变量之间用逗号分隔。,以下是合法的变量声明:,float x=25.4,y;,char c;,boolean flag1=true,flag2;,int l,m;,其中,变量,x,和,flag1,被赋予初始值,其它变量没有初始化。,例:,使用整数型变量,public class Integers,public static void main(String args),int a=015;,/,八进制数,int b=20;,/,十进制数,int c=0 x25;,/,十六进制数,short x=30;,long y=123456L;,System.out.println(a=+a),;,/,输出,a,的值,System.out.println,(,b=+b,),;,System.out.println(c=+c);,System.out.println(x=+x);,System.out.println(y=+y);,程序运行结果如下:,a=13,b=20,c=37,x=30,y=123456,例:使用单精度和双精度类型变量,public class Floats,public static void main(String args),float a=35.45f;,double b=3.56e18;,System.out.println(a=+a);,System.out.println(b=+b);,程序运行结果如下:,a=35.45,b=3.56E18,例:,使用字符类型变量,public class Characters,public static void main(String args),char ch1=,a,;,char ch2=,B,System.out.println(ch1=+ch1),;,System.out.println(ch2=+ch2),;,程序运行结果如下:,ch1=a,ch4=B,例:使用字符串类型数据,public class Samp2_5,public static void main(String args),String,str1=abc;,String str2=n;,String str3=123;,System.out.println(str1=+str1+str2+str3=+str3);,程序运行结果如下:,str1=abc,str3=123,例:,使用逻辑类型变量,public class Logic,public static void main(String args),boolean instance1=true;,boolean instance2=false;,System.out.println(,逻辑状态,1=+instance1+,+,逻辑状态,2=+instance2);,程序运行结果如下:,逻辑状态,1=true,逻辑状态,2=false,一、,使用,BufferedReader,类实现从键盘输入数据,1,),import java.io.*;,/BufferedReader,类包含在,java.io,包中,2,),BufferedReader buf=new BufferedReader(,new InputStreamReader(System.in);,3,),buf,对象调用,readLine,方法,,读取从键盘上输入,字符串。可以通过下列各方法将字符串转换为,各种类型数据:,Integer.parseInt()Long.parseLong(),Short.paseShort()Byte.parseByte(),Float.parseFloat()Double.parseDouble(),Boolean.parseBoolean(),2.4,用户输入和程序输出,【,例题,】,编写程序,接收命令行输入的浮点数,将此浮点数的整数部分输出。,import java.io.*;,public class Example,public static void main(String args)throws IOException,BufferedReader buf=,new BufferedReader(new InputStreamReader(System.,in);,String s=buf.readLine();,double d=Double.,parseDouble(s);,System.,out.println(,long)d);,二、,使用,Scanner,类实现从键盘输入数据,1,),import java.util.*;,/Scanner,类包含在,java.util,包中,2,),Scanner reader=new Scanner(System.in);,/System.in,代表键盘,3,),reader,对象调用下列方法,读取从键盘上输入的各种类型数据:,nextBoolean()nextFloat(),nextByte()nextDouble(),nextShort()nextLine(),/,读,String,类型数据,nextInt(),nextLong(),4,)关闭,Scanner,类对象,reader.close();,【,例题,】,编写程序,接收命令行输入的浮点数,将此浮点数的整数部分输出。,import java.util.*;,public class Example,public static void main(String args),Scanner reader=new Scanner(System.in);,double d=reader.nextDouble();,System.out.println(long)d);,reader.close();,2.5,分隔符和注释,书中例题,P26,本章结束,Thank You!,第三章,运算符和表达式,无私奉献 报国为民 挑战极限 追求卓越,1,深刻理解各知识点的概念,并熟记,java,的语法规范。,2,熟练各种运算符及优先级,能正确算出结果。,难重点,3.1,赋值运算符及赋值表达式,3.2,算术运算符及算术表达式,3.3,关系运算符及关系表达式,3.4,逻辑运算符及逻辑表达式,3.5,位运算符,3.6,其它运算符,3.7,运算符的优先级,运算符和表达式,常用的运算符有哪些?,算术运算符:,+、-、*、/、%,关系运算符:,、,=、=、,=、!=,逻辑运算符:,&,、,|、!,条件运算符:,?:,运算符和表达式,1,运算符,对数据进行加工和处理称为运算,表示各种运算的符号称为运算符,参与运算的数据称为操作数。,根据操作数的个数,可以将运算符分为,单目,、,双目,和,多目运算符,。单目运算符只对,1,个操作数运算,双目运算符对,2,个操作数运算。,根据操作数和运算结果,运算符分为:算术运算符、关系运算符、逻辑运算符、位运算符。,赋值运算符,赋值运算用于给变量赋值,形式如下:,变量名,=,表达式;,赋值运算的次序是从右向左的,即先计算表达式的值,再将表达式的值赋予变量。,例如:,int i=3,j;/i,的初始值是,3,j=i+2;/,结果,,j,的值是,5,i=2*j;/,结果,,i,的值是,10,j=j+4;/,结果,,j,的值是,9,赋值运算符还可以与算术运算符、逻辑运算符和位运算符组合成复合赋值运算符,使用方法见表。,运算符,用例,等价于,运算符,用例,等价于,+=,x+=y,x=x+y,&=,x&=y,x=x&y,-,=,x,-,=y,x=x,-,y,|=,x|=y,x=x|y,*=,x*=y,x=x*y,=,x=y,x=xy,/=,x/=y,x=x/y,=,x=y,x=x=,x=y,x=xy,=,x=y,x=xy,例如:,i*=10;,等价于,i=i*10;,算术运算符,算术运算符完成数学上的加、减、乘、除四则运算。算术运算符包括双目运算符和单目运算符。,双目算术运算符包括,+,(加)、,-,(减)、*(乘)、,/,(除)和,%,(取余)。,例如:,23+5 /,结果是,28,6*5 /,结果是,30,27/3 /,结果是,9,45/4 /,结果是,11,9%3 /,结果是,0,9%4 /,结果是,1,单目算术运算符包括,+,(自增)、,-,(自减)、,-,(负号)。,“,+,”,和,“,-,”,只能用于整数类型的变量,而不能用于常量或表达式。,“,+,”,和,“,-,”,既可以出现在变量的左边,也可以出现在变量的右边。,例如:,int j=5;,j+,;,/,结果,,j,等于,6,+j;/,结果,,j,等于,7,-j;/,结果,,j,等于,6,j-;/,结果,,j,等于,5,关系运算符,关系运算是,2,个操作数之间的比较运算。关系运算符有:,、,=,、,a b,如果,a b,成立,结果为,true,;否则,结果为,false,=,a=b,如果,a b,成立,结果为,true,;否则,结果为,false,a b,如果,a b,成立,结果为,true,;否则,结果为,false,=,a 10.4 /,结果是,true,45!=45 /,结果是,false,7,6,/,结果是,false,true!=false /,结果是,true,T,a,/,结果是,true,u,20)&(age30)/,判断,age,的值是否在,2030,之间,(ch=,b,)|(ch=,B,)/,判断,ch,的值是否为字母,b,或,B,,,位运算符,位运算是对整数类型的操作数按二进制的位进行运算,所运算结果仍然是整数类型值。位运算符有:,(位反)、,&,(位与)、,|,(位或)、,(位异或)、,(右移位)、,(无符号右移位)。,a,b,a,a&b,a|b,ab,0,0,1,0,0,0,0,1,1,0,1,1,1,0,0,0,1,1,1,1,0,1,1,0,位运算真值表,运算符,用例,功能,a,将,a,逐位取反,&,a&b,a,、,b,逐位进行与操作,|,a|b,a,、,b,逐位进行或操作,ab,a,、,b,逐位进行异或操作,a,ab,a,向右移动,b,位,ab,a,向右移动,b,位,移动后的空位用,0,填充,位运算符,例如:,x=132,,,y=204,;计算,x,和,xy,的值,(,1,)将整数转换为二进制数。,x=10000100,,,y=11001100,(,2,)对,x,按位进行取反操作。,00000000 00000000 00000000 10000100=,11111111 11111111 11111111 01111011,(,3,)对,x,,,y,按位进行异或操作,10000100,11001100,01001000,(,4,)所得结果:,x=-133,,,xy=72,。,条件运算符,条件运算格式如下:,表达式,1,?表达式,2,:表达式,3,“,?:,”,称为条件运算符,它是三目运算符。,如果,“,表达式,1,”,的值是,true,,,“,表达式,2,”,的值是最终表达式的值;如果,“,表达式,1,”,的值是,false,,,“,表达式,3,”,的值是最终表达式的值。,例如:,int min,x=4,y=20;,min=(x ,位运算,5,从左至右,=,逻辑运算,6,从左至右,=!=,逻辑运算,7,从左至右,&,按位与,8,从左至右,按位异或,9,从左至右,续前表,运算符,描述,优先级,结合性,|,按位或,10,从左至右,&,逻辑与,11,从右至左,|,逻辑或,12,从左至右,?:,条件运算,13,从左至右,=*=/=%=,+=,=,&=|=,位运算,14,从左至右,【,练习,】,设,int a=3,、,b=5,、,c=0,分析下列各表达式运算后,,a,、,b,、,c,的值各为多少?,1)c=b+*5/a+,c=a+-(-b),c=b+*a+,4)c=+a-b-,结果:,a=4 b=6 c=8 2)a=4 b=4 c=-1,3)a=4 b=6 c=15 4)a=4 b=4 c=-1,数据类型的转换,当将一种数据类型的值赋给另一种数据类型的变量时,出现了数据类型的转换。,在整数类型和浮点数类型中,可以将数据类型按照精度从,“,高,”,到,“,低,”,排列如下级别:,double,高级别,float,long,int,short,byte,低级别,数据类型转换规则,当将,低级别的值赋给高级别的变量,时,系统,自动,完成数据类型的转换。,float x=200;,/,将,int,类型值,200,转换成,float,类型值,/200.0,,结果,x,获得的值是,200.0,当将,高级别的值赋给低级别的变量,时,必须进行,强制,类型转换。,int i;,i=,(int),26L;,/,将,long,类型值,26,转换成,int,类型值,26,,,/,结果,i,获得,int,类型值,26,进行强制类型转换时,可能会造成数据精度丢失。,public class Divide,public static void main(String args),int i=15,j=4,k;,float f1,f2;,k=i/j;,f1=i/j;,f2=(float)i/j;,System.out.println(,“,k=,“,+k);,System.out.println(,“,f1=,“,+f1);,System.out.println(,“,f2=,“,+f2);,例 整数相除,运行结果如下:,k=3,f1=3.0,f2=3.75,【,例题,】,编写程序,接收命令行输入的浮点数,将此浮点数的整数部分输出。,import java.util.*;,public class FloatDemo,public static void main(String args),double d;,Scanner reader=,new Scanner(System.,in);,d=reader.nextDouble();,System.,out.println(d+,的整数部分为,+(,long)d);,reader.close();,本章结束,Thank You!,第四章,程序流程控制,无私奉献 报国为民 挑战极限 追求卓越,1,理解各种程序结构的概念。,2,使用,for,循环、,do while,循环,,case switch,、,continue,和,break,。,难重点,4.1,顺序结构,4.2,分支结构,4.3,循环结构,4.4,转移语句,4.1,顺序结构,顺序结构是最简单的一种程序结构,程序按照语句的书写次序顺序执行。,例,4-1:,根据输入的试卷成绩、平时成绩,利用,“,总分,=,试卷成绩,*0.7+,平时成绩,*0.3”,来计算总成绩。,import java.util.*;,public class Root,public static void main(String args),float a,b,x;,Scanner reader=,new Scanner(System.,in);,a=reader.nextFloat();,b=reader.nextFloat();,x=-b/a;,System.,out.println(x=+x);,reader.close();,【,练习,】,求解方程,ax+b=0,的根,x,。,4.2,分支结构,Java,语句提供了两条基本的分支选择语句,if,和,switch,。,if,语句应用在,“,二选一,”,的条件下,而,switch,语句应用在,“,多选一,”,的条件下。它们都是,对条件表达式进行判断,针对不同的结果,决定转向要执行的,J,ava,语句。,1,if,语句,if (,布尔表达式,),语句,if (,布尔表达式,),语句,1,else,语句,2,布尔表达式,语句,true,false,布尔表达式,语句,2,false,true,语句,1,例,4-2:,根据输入的成绩,判断并输出,“,通过,成绩是:,”,或,“,不及格,”,。,例,4-3:,根据输入的成绩,如果成绩为负值,则给出提示,“,您输入的成绩是负值,请重新输入:,”,,如果再次输入负值,则再次给出提示,程序安全结束。如果输入的数据正确,则进行试卷分数换算并输出。,if,语句嵌套,if,语句中可以包含,if,语句,形成,if,语句的嵌套。,if,(布尔表达式,1,),语句,1,else if,(布尔表达式,2,),语句,2,else if,(布尔表达式,n,),语句,n,例,4-4:,根据输入的成绩自动判断并输出相应的等级:优秀、良好、中等、及格和不及格。,2,Switch,语句,switch,(,表达式,),case,值,1,:
展开阅读全文