版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计基础导言本课程学习目标认识Java程序结构。认识编程语言的种类了解Java语言的起源与发展理解Java平台的技术体系掌握Java编程语言的特点计算机语言的发展计算机语言是计算机与程序之间通信的语言;计算机语言的发展经历了三个阶段:1.机器语言2.汇编语言3.高级语言机器语言机器语言是面向机器,只包含0、1的二进制语言某种机器语言只能在某特定型号的计算机上使用机器语言的效率非常高;机器语言非常难以理解。汇编语言采用助记符来表示某些烦琐难识别的机器指令;如用add来表示00000011(数学符号+)的含义汇编语言是一种符号语言,比机器语言容易掌握和理解;用助记符进行程序设计的语言为汇编语言;用汇编语言编写的程序称为汇编源程序。高级语言接近人类语言比汇编语言、机器语言易学易掌握;高级语言最终必须翻译为机器语言解释类:由解释器边执行边解释,效率较低编译类:程序执行前就编译成目标文件:机器语言程序的执行用高级语言编写的程序,在执行程序前必须将程序解释或编译成目标文件,最后由计算机执行。程序源码***************************解释或编译机器码000011000011011011000110执行程序和程序设计语言关系编写程序的语法规则的集合,就是程序设计语言。Java是现在最流行的程序设计语言之一。Java历史Java最初是用家电方面;Java的出现适应当时互联网发展的需要;1996年,Sun公司发布Java1.0,1998年发布Java1.2。Java前景Java是当前软件开发最流行的编程语言;应用领域也非常广阔,如:电信、银行、医院、企业、教育、交通等,基本上囊括生活中的所有方面。主要得益于其跨平台性及安全性,适应互联网发展的需要;Java前景Java方面人才需求最多;珠三角,软件人才需求的缺口每年达二十万,这个数目每年都在上升;在这个非常巨大的缺口数当中,有一半左右是对Java人才的需求;Java前景大公司对Java人才的需求都非常大,如:中国移动、汇丰银行、中国电信、索尼爱立信、华为技术、IBM、用友、亚信;Java技术人员的酬薪相对会比其它行业要高,学好Java语言不用愁找不到好工作,更不用担心找不到工作。Java平台分类
Java语言的特点1.简单;2.跨平台;3.面向对象;4.解释型;5.安全;6.可移植;7.垃圾回收Java语言编程工具较著名的有Borland公司的JBuilder,以及开放源代码的Eclipse;JCreator是一种简易的开发工具,由XinoxSoftware提供。Java平台Java平台由两大部分组成Java虚拟机JVM(JavaVirtualMachine)Java应用程序接口API(ApplicationProgrammingInterface)Java平台Java运行平台结构图:JavaProgramJavaAPIJavaVirtualMachineHardware-BasePlatformJRE(JavaRuntimeEnvironment)Java运行系统Java是一种基于解释型语言;Java语言的源程序要先通过Java编译器,转换为字节码(bytecode)程序,其扩展名一般为.class。然后通过JVM,对字节码按解释执行。Java源码解释过程Java运行系统一次编译到处运行:Java文件解释编译MyProgram.java解释解释UnixSolarisXPMyProgram.class小结1.计算机程序的分类;2.计算机语言的发展;3.Java语言的发展历史;4.Java语言的特征。课后作业完成本章课后练习题。Java程序设计基础导言本课程学习目标认识Java编程语言的基本操作命令了解Java编程环境的组成部分理解Java的应用开发基本流程掌握JDK的安装步骤掌握JDK环境变量的配置Java语言编程环境Java语言编程环境包括运行环境及开发环境。运行环境也叫JRE环境JavaRuntimeEnvironmentJava应用程序运行所必需的最基本软件类库支撑开发环境一般来说也叫JDK环境JavaDevelopmentKitJava应用程序开发所必需的基本软件类库环境软件开发包JDKJDK字面含义:JavaDevelopmentKitJDK为Java程序的运行与开发平台,里面包含有JRE与JVM。JDK下载JDK官网的下载平台,并找到JavaSE8的下载版本在官网注册一个帐号,登录后即可下载JavaSE8的运行环境安装包JavaSE8有32位与64位版本之分建议安装32位JDK版本JDK安装双击JDK安装文件,依据提示一步步操作,完成安装过程测试是否安装成功打开CMD命令行输入“java-version”命令出现如下信息提示表示安装成功设置编程环境1.设置Home路径2.设置Path路径3.设置Classpath路径测试环境变量设置是否成功在打开CMD命令行操作面板输入:java、javac、javap等命令不出现“不是内部或外部命令”的错误提示,表示配置成功第一个Java程序第一个Welcome程序publicclassWelcome{publicstaticvoidmain(String[]args){
System.out.println("WelcomeToJavaWorld!");}}保存并编译文件1.把文件保存为Welcome.java
;2.进入控制台并进入Welcome.java
文件所在的目录;3.输入javac
Welcome.java
编译程序;4.输入javaWelcom
执行程序。输出结果控制台上输出:WelcomeToJavaWorld!第二个Java程序编写一个Java小程序,在控制台输出:“这是一个Java程序!”编程体验publicclassTestJava{ publicstaticvoidmain(String[]args){
System.out.println("这是一个Java程序!"); }}输出结果控制台上输出:这是一个Java程序!第三个Java程序在控制台上分行输入自己的姓名、年级、专业。编程体验publicclassTest{ publicstaticvoidmain(String[]args){
System.out.println("李小明"); System.out.println("2020级");
System.out.println("计算机系软件工程"); }}输出结果控制台上输出:小结1.Java语言的发展;2.Java语言的特征;3.编程环境的搭建;4.体验Java编程;5.认识Java编译与运行命令。课后作业重新安装JDK,并设置编程环境。课后作业编写程序,在控制台分行输入自己的姓名、年龄、身高、体重。Java程序设计基础导言本课程学习目标认识IDE集成开发工具的功能作用了解Eclipse版本的更新发展过程了解Eclipse各版本之间的差异理解各版本Eclipse与JDK环境的依赖关系掌握Eclipse工具的编程开发使用操作Eclipse开发工具Eclipse是一款非常强大、高效编程开发工具可用于多种语言的编程开发,尤其在Java编程语言中表现非常优秀Eclipse最初是由IBM公司开发,之后移交给开源社区组织Eclipse与JDK版本依赖关系Eclipse4.3需要JavaSE6以上编程环境Eclipse4.4需要JavaSE7以上编程环境Eclipse4.5需要JavaSE7以上编程环境Eclipse4.6需要JavaSE8以上编程环境Eclipse4.7需要JavaSE8以上编程环境Eclipse4.8需要JavaSE8以上编程环境Eclipse下载Eclipse基金会官网,找到所需要版本Eclipse产品适用开发场景EclipseIDEforJavaDevelopers:适合于JavaSE桌面级应用开发EclipseIDEforEnterpriseJavaDevelopers:适合于JavaEE企业级应用开发EclipseIDEforJavaEEDevelopers:最完备、全面的JavaEE企业级应用开发工具EclipseIDEforC/C++Developers:适合C语言或C++应用程序开发EclipseIDEforPHPDevelopers:适合于PHP语言开发Eclipse工具使用正式使用前需先配置好Java编程环境把产品的压缩包直接解压双击“eclipse.exe”文件启动Eclipse工具配置工作空间存储参数配置、工程源代码文件等Eclipse工具主界面操作区①菜单命令栏②图标命令栏③类大纲视图区④源文件编码区⑤资源文件结构区⑥控制台区Eclipse编程开发1.创建项目工程2.为工程添加模块包3.在模块包中创建类文件4.编码、编译、运行运行程序小结1.Eclipse工具介绍;2.Eclipse工具下载;3.Eclipse工具使用。Java程序设计基础导言本课程学习目标认识Java编程语言语法结构了解Java编程输出/输出语句了解Java编程注释语句理解Java应用程序入口签名语法掌握Java编程类模板的定义类的定义类是代码存在的载体代码语句限定在类结构以内类也是一种编程结构,称为类模板代表同一类型事物共性属性的抽象归集。类是最基本代码单元,也是模块单元代表一个功能模块类结构package自定义包名;
import包名;修饰符class类名{
域(属性或变量)修饰符返回值方法名(参数表){
……}}类结构举例packagecom.date.test;importjava.util.Date;publicclassDateTest{ privateStringname;publicDateTest(){}
publicstaticvoidmain(String[]args){
DateTest
dt=newDateTest();
dt.setName("Kelly"); Datedatetime=newDate();
System.out.println("Hello"+dt.getName()+",thecurrenttimeis:"+datetime);}
publicvoidsetName(Stringname){
=name;}
publicStringgetName(){ returnname;}}包的定义包是项目工程中的一种模块划分方式类似操作系统中硬盘分区的概念包是一种目录路径结构项目工程中不同的包代表不同功能模块同一个包下可以有众多的类文件比类模板更大级别的功能模块包中类文件可以被其它模块调用包语法包的声明关键字为“package”“package”+包路径名称包必须声明在类文件中的最上面一个类文件只能声明一个包模块包中类导入“import”+包路径名称+类名称包举例声明包结构packagecom.stu.web导入包中类importjava.util.Date程序输入单字符参数输入接收键盘单字符输入System.in.read()多字符参数输入“Scanner”类对“System.in”输入流进行封装提供next()函数接收键盘字符串输入多字符输入举例InputStreamin=System.in;Scannersc=newScanner(in);Stringstr=sc.next();sc.close();程序输出System.out取得PrintStream流PrintStream输出函数println()在控制台输出参数的内容,输出完毕换行print()在控制台输出参数的内容,输出完毕不换行printf()按某种格式输出参数的内容,输出完毕不换行程序输出举例System.out.println("abc");System.out.println("efg");System.out.print("hij");System.out.print("lmn");System.out.printf("%f",12.34);System.out.printf("%f",15.64);应用程序main函数main函数是应用程序的入口大门应用程序启动后即以该函数作为起点main函数以独特的方式存在于类文件中,一个项目工程中可以有多个程序入口允许存在多个main函数每个类文件中都可以声明不超过一个main函数main函数分为方法头与方法体方法头即函数的签名方法体以左大括号开头,右大括号结尾。main函数语法main函数签名格式:publicstaticvoidmain(String[]args)函数签名格式语法:public:公有的权限static:静态方法void:返回类型为空main:函数的名称string[]:函数的参数为String类型数组main函数举例publicstaticvoidmain(String[]args){
System.out.println("mainmethod...");}注释语句注释语句是为了增加源代码可读性对相关应用程序代码作注解性说明说明代码算法,或函数实现原理等注释语句不参与程序的编译与运行注释语句种类单行注释语句多行注释语句单行注释语句单行注释语句语法语句符号:英文状态下的双斜杠“//”作用范围:注解符号所在行单行注释举例publicstaticvoidmain(String[]args){
//声明数学成绩变量,其值为80 doublemath=80;
//声明语文成绩变量,其值为80 doublechinese=78;
//声明音乐成绩变量,其值为80 doublemusic=82;
//声明英语成绩变量,其值为80 doubleenglish=86;
//计算所有课程的平均分
doubleavg=(math+chinese+music+english)/4;
//输出课程的平均分
System.out.println(avg);
//System.out.println("--程序执行完毕--");}多行注释语句多行注释语句语法语句符号:开始符号:英文状态下的斜杠+星号“/*”表示结束符号:英文状态下的星号+斜杠“*/”表示作用范围:注解符号开始与结尾所围住的所有代码行多行注释举例publicstaticvoidmain(String[]args){
inta=20;
intb=10;
intc=30;
/*输出数字*/
System.out.println(a+"\t"+b+"\t"+c);
/*
System.out.println(a);
System.out.println(b);
System.out.println(c); */}小结1.类的定义;2.包的定义;3.程序输入输出;4.main函数5.注释语句Java程序设计基础导言本课程学习目标认识Java编程语言关键字了解八大数据类型理解数据类型转换原理掌握标识符的命名规则掌握变量、常量的声明标识符及数据类型本课学习目标理解保留字和分隔符的作用;掌握Java语言中标识符的命名规则;能区分常量与变量并掌握各自的用途;认识Java基本数据类型。关键字(保留字)关键字也叫保留字,是Java语言中有特定含义的词汇;这些词汇只能用在特定的位置。关键字
关键字列表
abstract boolean break byte case
catch char class continue default
do double else extends false
final finally float for if
implements import int
instanceof interface
long native new null package
private protected public return short
static super switch synchronized this
throw transient throws true try
void volatile while
保留字 const goto标识符标识符是Java语言中,各种变量、常量、方法、类型的名字;通俗的讲标识符就是Java语言中的各种名字。标识符命名规范1.标识符可以是:字母、下划线(_)或美元符号($)、数字、汉字、希腊字母等;2.标识符可以有任意长度;3.标识符不能以数字开头;4.标识符不能包含运算符(如+、-、=、*、/等);5.标识符不能是关键字,如:ture、false、null、public等;6.标识符区分大小写。判断下列标识符是否合法point_1_call_bi2Hex$wage日工资Thisgetwageroom#1Dir/file9daytrue分隔符分隔符是用来分隔Java程序中基本语法元素的符号,有如下三种:1.注释单行注释://段落注释:/*……*/特殊注释:/**……*/2.空白符空格符、回车符、换行符、换行符3.普通分段符大括号{}用于定义复合语句分号;添加在语句之后逗号,用于变量声明时分隔各变量和方法的各参数数据类型类型:是程序设计语言中的基本概念,包含两部分:取值范围及类型所包含的内容;基本数据类型:是不可再分割的数据类型;复合数据类型:基本数据类型的组合,构成新的数据类型。Java基本数据类型1.字符类型(char);2.布尔类型(boolean);3.数值类型整型byte、short、int、long;实型float、doubleJava基本数据类型关键字说明占内存数据范围byte单字节整数1Byte-128~+127short短整型2Byte-32768~+32767int整型4Byte-231~+231-1long长整型8Byte-263~+263-1float单精度数4Byte-3.4E38~3.4E38double双精度数8Byte-1.7E308~1.7E308char单个字符2ByteUnicode字符boolean逻辑值true,false常量基本数据类型中,按其取值是否可变,分为常量和变量;常量是程序运行过程中不能变化的量变量是值可以发生改变的量常量分为:字面常量和符号常量
10privatefinalintnum=10常量和变量可与数据类型结合起来分类,可以分为:整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量等。整型常量整形常量分十进制整数:0–9数字和正负号组成,没有前缀;十六制整数:0–9数字及A–F(代表10-15)及正负号组成,以0x开头;八进制整数:0–7的数字和正负号组成,以0开头。实型常量实型又叫浮点型,实型分为单精度与双精度型;表示形式为:标准形式,科学计数法形式;3.14d,0.48f,3.4E-2,5.6E4F,4.3E-3D实型默认的形式是又精度型。字符型常量字符类型用来表示单个字符;字符常量可以是单引号括起来的一个字符,如:’a’、’b’、’=’、’#’;还可以是转义符’\n’、’\r’、’\\’、’\”’、’\t’及字符对应的Unicode码;如:‘\104’表示字符常量D字符串常量用双引号括起来的零个或者多个字符;“”,“Hello”,“Yes”可以用连接运算符(+)把两个或多个字符串常量连接在一起,组成更长的字符串。如:“我”+“是”+“谁”的结果是:“我是谁”布尔常量布尔常量用来表示真假,只有两个值:ture和false。变量变量是程序运行过程中用来存储数据的单元;变量名必须是一个合法的标识符;变量在使用前必须被声明;变量不能被重复定义,但可以重新赋值;变量的声明格式为:类型名变量名;
intbooks;
intstudents;doubleweight;doubleworkTime;问题与方法用程序怎样实现:把两个数相加并显示结果;解决此问题所要做的工作:1.接收第一个数;2.接收第二个数;3.把两个数相加;4.显示结果。处理过程的流程图表示
开始接收num1接收num2sum=num1+num2显示sum值结束整型变量整型变量只能表示整数:有如下四种类型 所占位数 取值范围byte 8 -128–127short 16 -32768–32767int 32 -2.14E9–2.14E9long 64 -9.22E18–9.22E18整型变量定义举例byteb;byted=120;shorts;shorts2=677;
inti;
intsum=0;longpi;longl=343435332L;实型变量实型变量以小数的形式表示数据分为单精度与双精度两种类型浮点数默认为double类型即表示double类型时可以不加后缀D或d,但表示float类型数据时则必须加上F或f类型 所占位数 取值范围float 32 3.4E-38–3.4E+38double64 1.7E-308–1.7E+308实型变量定义举例floatf1;floatf2=39.921f;doubled1;doubled2=0.9879d;doubled3=26.521D;字符变量1.字符型变量类型为char,所占位数为16位,取值范围为0-65535;2.字符变量的值可以是用单引号括起来的单个字符,如:’A’,’B’;3.字符变量的值还可以是带有转义符的字符,如:’\n’,’\t’,表示特殊的含义;4.字符变量的值也可以是0-65535的整数,如:charc=88;//表示给变量c赋初值’X’5.字符变量不能表示多个字符,字符型变量定义举例charc1;charc2=‘X’;charc3=‘\n’;布尔型变量布尔变量类型为:boolean
占八位内存,只有true、false两个值。如:booleanb1;booleanclosed=true;booleanflag=false;字符串变量1.字符串变量,不是基本数据类型,是复合类型;2.字符串变量可接收单个字符,或多个字符;3.接收形式为双引号,如:”a”、”welcome”、”hello”4.可以用连接运算符(+)把两个或多个字符串常量连接在一块,组成一个更长的字符串,如:”我”+”是”+”谁”的结果是:”我是谁”字符型变量定义举例Stringstr1;Stringstr2=“a”;Stringstr2=“ok”;Stringstr3=newString(“Haha”);判断如下类型定义是否正确byteb=230;floatf=98.231;charc=‘Neu’;
bolleanclosed=True;Stringstr=morning;类型设计设计一个类型,类型里面合适的变量能装下整型数值:1000能装下双精度类型数值:100.58能装下字符类型字符:’M’小结1.Java的关键字、分隔符;2.标识符的命名规则;3.Java基本数据类型;4.变量的定义与字符常量。课后作业设计一个类型,类型里面合适的变量能装下长整型数值:1000L能装下单精度类型数值:60.83F能装下布尔类型值:false能装下字符串:”Welcome”并打印出以上所有值Java程序设计基础导言本课程学习目标认识Java语言数据运算符了解Java语言位运算类型了解Java语言多元运算操作理解Java语言位运算实现原理掌握Java语言各类运算操作语法运算符本课学习目标了解运算类型的分类;了解位运算符;掌握各种运算类型的符号。基本概念计算机为我们工作的过程,实际上是对数据项进行操作的过程。对数据项的操作,用我们习惯的话说,就是运算,例如,加、减、乘、除等。在计算机语言中,就像在代数里一样,对数据项(变量、常量等)的运算用运算符表示。每一种运算都有一种运算符,如+、-分别表示加、减运算。参与运算的数据项,称为操作数。基本概念操作数和运算符的组合,称为表达式(expression)。例如:假定a,b为数值数据项,则a+ba-b为表达式。表达式中数据项运算的结果,称为表达式的值。类型的运算概括地说,类型的运算有:算术运算位运算关系运算逻辑运算赋值运算条件运算算术运算基本运算包括加(+)、减(-)、乘(*)、除(/)、取模(%)。增量运算:将操作数加1。运算符为++;减量运算:将操作数减1。运算符为--;将增量或减量运算符放在操作数前面和放在操作数后面,表达式的结果不一样。上述运算的操作数必须是数值类型(整型与浮点型都可以);算术运算应用 intx=8; inty=5; x+y; x-y; x*y; x/y; x%y; 1+(x++); (++x)+1; 1+(x--); (--x)+1;关系运算关系运算符用来比较两个值之间大小关系的运算,返回布尔类型值true或false;关系运算包括等于、大于、小于、大于等于、小于等于、不等于。运算符号为:==、>、<、>=、<=、!=。关系运算应用
intx=8; inty=5; intz=8; x>y; x<y; x<=z; x>=y; x==y; x==z; x!=y; x!=z;逻辑运算逻辑运算也叫布尔运算经常用来连接关系表达式,运算数必须是布尔值。逻辑运算包括与、或、非、异或、无条件与、无条件或。运算符分别为:&&、||、!、^、&、及|。逻辑运算&& 当两个操作数都为true时,结果值才为ture;|| 当两个操作数中有一个为true时,结果值就为ture;!逻辑非,放在true前面结果值变为false,放在false前面结果值变为false,^操作数一个为true,一个为false时,结果值为true;否则结果值为false;&当两个操作数都为true时,结果值才为ture;|当两个操作数中有一个为true时,结果值就为ture;逻辑运算&&与&区别(3>5)&&(8>6)(3>5)&(8>6)||与|区别(10>5)||(5==6)(10>5)|(5==6)逻辑运算应用
!false; true&&false; true||false; false|false; true&true; true^false; (6>5)&&(7>5); (6>10)||(7>5); !(8>10); (6>5)^(7>5);赋值运算将一个数据项的值赋给另一个数据项。运算符号为=,含义是将运算符右边的操作数的值赋给运算符左边的操作数;运算符分简单赋值运算与复合赋值运算;简单赋值运算:
i=1i=k+5复合赋值运算:有+=、-=、*=、/=、%=如:a+=b//等价于a=a+b;a-=b//等价于a=a-b;a*=b//等价于a=a*b;a/=b//等价于a=a/b;a%=b//等价于a=a%b;位运算位运算是定义在二进制位上进行的运算;位运算只针对整型数。注意,这里整型数包括byte,short,int和long四种;位运算包括:按位与,按位或,按位取反(即按位非),异或,移位运算,分左移和右移运算符号分别为:&、|、~、^、<<、>>。与运算(&)运算的两个操作数都是1的时候,运算的结果才是1,否则结果为0;
00001111&01100100---------------------00000100运算的结果会是多少呢?
01011101&01100101---------------------或运算(|)运算的两个操作数都是0的时候,运算的结果才是0,否则结果为1;
00001111|01100100---------------------01101111运算的结果会是多少呢?
01011101|01100101---------------------取反运算(~)单目运算符,只需要一个操作数,把操作数的每一位值变为相反,即0变为1,1变为0~01100100---------------------10011011运算的结果会是多少呢?
~01011101---------------------异或运算(^)运算的两个操作数值相同的时候,运算的结果为0,若两个操作数不同,则结果为1;
00001111^01100100---------------------01101011运算的结果会是多少呢?
01011101^01100101---------------------移位运算:左移(<<)将整个二进制数字串向左移动若干位,高位舍弃,低位补零;一般来说数据左移一位相当乘以2;
--------------------------00000100左移3位00000100000
移位运算:右移(>>)将整个二进制数字串向右移动若干位,低位舍弃,高位填充原高位之值;一般来说数据右移一位相当除以2;
-----------------------------00000100右移1位0000000100条件运算条件运算也称为三元运算,需要三个操作数参与;格式为:<表达式1>?<表达式2>:<表达式3>表达式可以是变量或者常量。表达式1必须是布尔值,表达式2与表达式3类型要相同。如果表达式1为true,则计算表达式2的值,如果表达式1为false,则计算表达式3的值。如:true?10:20;条件运算应用
(true)?("A"):("B");(false)?(10):(15); (5==4)?(true):(false); (5>4)?(10):(20); (8>10)?(3+2):(4+5); (6!=8)?(“A”+“B”+“C”):(“E”+“F”+“G”);(10<(8+3))?("Yes"):("No");字符串运算字符串是String类型,为复合类型。定义方法为:Stringstr1;Stringstr2=“one”;用双引号括起来的零个或者多个字符;“”,“Hello”,“Yes”可以用连接运算符(+)把两个或多个字符串常量连接在一起,组成更长的字符串。如:“我”+“是”+“谁”的结果是:“我是谁”字符串运算应用Stringstr1="one";Stringstr2="two";Stringstr3="_";Stringstr4=str1+str2;Stringstr5=str1+str3+str2;str4:“onetwo““onetwo“str5:“one_two““one_two“类型转换表达式:由操作数和运算符按一定的语法规则组成;如:(1.1+2)*2每个表达式都会产生一定的值,称为表达式值;表达式中可能有不同类型的数据进行混合运算,在运算时需要进行类型转换。类型转换表达式1+2.5结果值为
3.5,这个结果值属于什么类型呢?Java中的类型转换分:自动类型转换系统自动转换数据类型,低位数据类型可以自动自动转换成高位数据类型。强制类型转换;高位数据类型转换成低位数据类型转换时,系统不能自动转换数据类型,需强制转换。自动类型转换判断如下语句有无语法错误:byteb1=1;byteb2=2;byteb3=b1+b2;自动类型转换两个取值范围比int小的类型或跟int取值范围相同的数据进行运算时,得到的结果都会是整型。
b1+b2的结果得到是一个int类型值3,int类型值不能直接赋给byte类型;如下改正:byteb1=1;byteb2=2;intb3=b1+b2;自动类型转换类型转换表变量1变量2结果值变量1变量2结果值
bytebyte
intlonglong
long
byteshortintbytefloatfloat
intbyteint
intfloatfloatshortint
int
longfloatfloat
int
int
intfloatdoubledoublelongintlongdoubledouble
double自动类型转换intb1=1;longb2=2;<?>b3=b1+b2;以下代码有无错,如有错应如何更改?bytec1=1;bytec2=c1+1;d3的值是多少,3or3.5?intd1=7;intd2=2;intd3=d1/d2;d3的值是多少,3or3.5?intd1=7;doubled2=2;doubled3=d1/d2;强制类型转换强制性地将地将数据的类型进行转换。(数据类型)变量名
intb3=(int)3.7longx;
inty;y=(?)(x+1);
intb1=7;
intb2=2;<?>b3=(double)b1/b2;以下代码有没错误,就如何修改?
bytea=7;
intb=2;doublec=3.4;
intd=a/b+c;运算符的优先级运算符之间的先算和后算关系叫优先关系。
a+b>>c+d//先算“+”还是先算“>>”?(a+b)>>(c+d)//运算先后关系一目了然括号()的优先级最大,为了增加代码的可读性,应使用括号。程序的输入/输出System.out.println(“……”)表示在控制台上输出括里面的内容,并换行;System.out.print(“……”)表示在控制台上输出括号里面的内容,但不换行;通过main()方法接收参数publicstaticvoidmain(String[]args){ Stringstr1=args[0];//接收第一个参数
Stringstr1=args[1];//接收第二个参数
Stringstr1=args[2];//接收第三个参数
Stringstr1=args[3];//接收第四个参数
intnum1=Integer.parseInt(str1);
intnum2=Integer.parseInt(str2);
intnum3=Integer.parseInt(str3);
intnum4=Integer.parseInt(str4);}小结1.Java的关键字、分隔符、标识符的命名规则;2.Java八大基本数据类型;3.常量与变量的区别;4.表达式与运算类型;5.Java语言初步的输入与输出。Java程序设计基础导言本课程学习目标认识程序流程控制结构的分类了解流程控制语句中的关键字使用理解选择结构与循环结构流程实现原理掌握流程控制结构的相关语法及使用程序结构的基本类型本课学习目标了解语句和块;理解程序结构的基本类型;掌握分支结构的流程控制。基本概念计算机程序是由一系列的语句组成的;构成程序的所有语句对应实际问题的具体处理过程解决问题的详细步骤称为算法;换句话说,解决问题过程中需要执行的操作及执行操作的顺序就是算法结构化程序设计,有以下三大类型:顺序结构、分支结构、循环结构顺序结构
语句1语句2语句3分支结构
分支语句分支语句条件循环结构
循环语句判断条件顺序结构顺序结构是最简单的控制结构,即语句按照在程序中的书写顺序依次执行;在顺序结构的程序中,由一条条代码语句组成。语句语句是程序最基本最重要的组成部分,是组成程序的基本单位,具有如下特点及分类:1.语句以分号结束;2.声明语句;3.表达式语句;4.分支语句;5.循环语句;6.异常语句;7.空语句;块程序中比语句大一个级别的单位就是块;是用一对大括号{}将零个或多个语句括起来,就构成一个块(也叫复合语句);程序的类的类体及方法的方法体都是块。块的应用publicclassUseBlock{publicstaticvoidmain(String[]args){
inta=5; a+=8; {
intb=6; b=b+a;
System.out.println(a+""+b); }}}分支结构分支结构又称为选择结构,它根据计算表达式所得的值来判断程序应该选择流程的哪一个分支执行;分支语句包括:if语句if….else语句switch语句。if语句if表达式的格式如下:if(条件表达式){
语句代码}如果表达式的值为true,则执行代码块里面语句;如果表达式的值为false,则跳过代码块里面语句。if语句流程图表示
开始接收年龄ageifage==20输出该人年龄结束truefalseif语句应用
publicstaticvoidmain(String[]args){
intage=20;
if(age==20){
System.out.println("他的年龄:20"); }
System.out.println("***TestOver***"); }if…else语句if…else表达式的格式如下:if(条件表达式){
语句代码1}else{
语句代码2}如果表达式的值为true,则执行语句代码1;如果表达式的值为false,则执行语句代码2。if…else语句流程图
开始接收年龄ageifage>=18输出:成年结束truefalse(else)输出:未成年if…else语句应用publicstaticvoidmain(String[]args){ intage=10; if(age>=18){ System.out.println("你已经成年了"); } else{ System.out.println("你还末成年"); }
System.out.println("***TestOver***"); }分支嵌套语句在条件分支语句当中套条件分支语句:if…elseif…elseif…else如:if(表达式1){语句1}elseif(表达式2){语句2}……elseif(表达式n){语句n}else{否则语句}分支嵌套语句流程图
开始If分数>=80结束是If80>分数>=70输出:优If70>分数>=60输出:不及格输出:中输出:良否是是否否分支嵌套语句应用publicstaticvoidmain(String[]args){ StringstrNum=args[0]; intscore=Integer.parseInt(strNum);
if(score>=80){ System.out.println("你的成绩是:优"); } elseif(score>=70){ System.out.println("你的成绩是:良"); } elseif(score>=60){ System.out.println("你的成绩是:中"); } else{ System.out.println("你的成绩是:不及格"); }
System.out.println("\n***TestOver***"); }if…else语句要点1.条件表达式可以是:关系表达式、布尔表达式、逻辑表达式结果值必须是布尔值;2.如果分支中有多条语句必须用{}括起来;3.每条语句后面必须有分号。switch语句多条件选择语句,与if…else语句类似,但判断表达式的值不同,格式:switch(类型值){case判断值1:语句块1;break;case判断值2:语句块1;break;case判断值3:语句块1;break;...case判断值n:语句块1;break;default:否则语句块}switch语句类型值必须为32位以下的基本数据类型,可以是:byte、short、int、char每一选择语句的结束,一般须以break;结尾。switch语句应用publicstaticvoidmain(String[]args){ charc='C';
switch(c){ case'A':System.out.println("优秀");break; case'B':System.out.println("良好");break; case'C':System.out.println("中等");break; case'D':System.out.println("合格");break; case'E':System.out.println("不合格");break; default:System.out.println("输入错误"); } }循环结构-反复执行的语句程序举例:在控制台打印1~1000之间的自然数。在上面的程序中,打印的动作被反复执行;逐句写输出语句:冗长,繁琐,在很多时候是不可行的。解决这种问题,要使用循环语句。循环结构循环结构既不同于顺序结构,又不同于if…else语句;循环分有三大种类;whiledo…whilefor循环结构循环结构一般包含有以下四个部分;循环的初始化循环条件循环体循环变量用while语句进行循环while语句的格式:while(<循环条件>){//当循环条件为true时,执行这个块里的语句
…………}//如果循环条件为false,执行这里的语句用while语句进行循环利用while语句改写开始的程序:1。申明循环变量并赋初值;2。判断循环条件;3。条件为true则执行循环体,修改循环变量值4。当条件不为true时,退出循环。输出1000以内的自然数publicstaticvoidmain(String[]args){
//循环变量初始值 inti=1; while(i<=1000){
//输出自然数i及每个自然数后面加一个tab键 System.out.print(i+"\t");
//每输出十个数换另一行输出 if((i%10)==0){ System.out.println(); }
//循环变量递增 i++; }}while循环应用在控制台上用循环输出(1-1000)之间的偶数。实现代码publicstaticvoidmain(String[]args){ //循环变量初始值
inti=1;
while(i<=1000){
//判断是否为偶数,为偶数时则输出此偶数
if(i%2==0){ //输出偶数i及每个偶数后面加一个tab键
System.out.print(i+"\t");
//每输出十个偶数换另一行输出
if((i%20)==0){
System.out.println(); } }
//循环变量递增
i++; }}用do…while语句执行循环格式:do{//循环体语句}while(<循环条件>)用do…while语句执行循环while语句是先判断条件,再执行循环体;do…while语句是先执行循环体,再判断条件。这说明,do…while循环体中的语句至少要被执行一次(而while循环体语句可能不被执行);除此之外,其他与while语句相同。输出1000以内能被10整除的数publicstaticvoidmain(String[]args){ //循环变量初始值
inti=1; do{ //判断是否能被10整除,能整除时则输出此数
if(i%10==0){ //输出能被10整除的数i及每个数后面加一个tab键
System.out.print(i+"\t");
//每输出十个数换另一行输出
if((i%100)==0){
System.out.println(); } }
//循环变量递增
i++; }while(i<=1000);}do…while与while的区别以下两段代码执行结果会有什么差别?publicstaticvoidmain(String[]args){
inti=15; do{
System.out.println("******do…while*******"); i++; }while(i<10);
System.out.println("*******over*******");}publicstaticvoidmain(String[]args){
inti=15;
while(i<10){
System.out.println("******while*******"); i++; }
System.out.println("*******over*******");}do…while循环应用在控制台上用循环do…while从大到小输出100以内的自然数代码实现publicstaticvoidmain(String[]args){ //循环变量初始值为100
inti=100; do{
//输出偶数i及每个数后面加一个tab键
System.out.print(i+"\t");
//每输出十个数换另一行输出
if((i%10)==1){
System.out.println(); }
//循环变量递减
i--; }while(0<i&&i<=100);}for语句循环for语句是循环语句中功能最强、使用最广泛的语句,它的用法也比较灵活。用for语句实现循环for语句格式:for(<表达式1>;<表达式2>;<表达式3>){//当<表达式2>为真(true)时执行这里
…………}表达式1只在循环开始时执行一次,一般用来申明和给循环变量赋初值;表达式2的值为boolean型,是循环条件;表达式3在循环体中语句执行完后再执行,一般用来修改循环变量表达式之间用分号(;)隔开。for语句流程图最简单的for循环,输出10以内的自然数publicstaticvoidmain(String[]args){ for(inti=1;i<=10;i++){
System.out.println(i); }
System.out.println("for语句结束");}执行循环体求表达式2的值求解表达式1求解表达式3for语句之后的语句用for语句实现循环publicstaticvoidmain(String[]args){
intsum=0;
for(inti=1;i<=10;i++){
//等价于sum=sum+i; sum+=i; }
System.out.println("sum="+sum);}for循环应用用for语句实现10以内所有偶数相加,并输出最终结果。代码实现publicstaticvoidmain(String[]args){
intsum=0;
for(inti=1;i<=10;i++){
//判断是否为偶数,若为偶数则相加
if(i%2==0){ //等价于sum=sum+i; sum+=i; } }
System.out.println("sum="+sum);}嵌套循环在循环中套循环,也称为多重循环;外面的循环称为外层循环循环体以内的循环称为内层循环最简单的嵌套循环用双层循环输出一个直角三角形publicstaticvoidmain(String[]args){
//第一层循环控制行数
for(inti=1;i<=10;i++){
//第二层循环控制列数
for(intj=1;j<=i;j++){
System.out.print("*"); }
System.out.println(); }}嵌套循环应用用双层循环输出一个倒直角三角形实现代码publicstaticvoidmain(String[]args){
//第一层循环控制行数
for(inti=10;i>=1;i--){
//第二层循环控制列数
for(intj=i;j>=1;j--){
System.out.print("*"); }
System.out.println(); }}转跳语句Java语言支持以下三种转跳语句break语句,跳出循环continue语句,结束本次循环,执行下一个循环。return语句,跳出方法
break语句应用publicstaticvoidmain(String[]args){ inti=1; while(i<=1000){ System.out.print(i+"\t"); if(i==10){ break;//执行该语句时,跳出循环 }
i++; }
System.out.println("*****循环结束****");}continue语句应用
publicstaticvoidmain(String[]args){
inti=0;
while(i<1000){ i++;
if(i==10){ continue;//执行该语句时,跳出第10次循环
}
System.out.print(i+"\t"); }
System.out.println("\n*****循环结束****");}return语句应用publicstaticvoidmain(String[]args){
System.out.println("*******1*******");
showData();
System.out.println("*******2*******");
}publicstaticvoidshowData(){
System.out.println("****showData1*****");
if(true){ return;//执行此语句跳出方法
}
System.out.println("****showData2*****");}小结1.程序结构的基本类型;2.分支结构的流程控制;if语句、if…else语句、switch语句;3.while循环语句4.do…while循环语句5.for循环语句6.三种转跳语句:break、continue、return课后作业1.写一个if语句,当体重超过80时,输出:“此人超重!”2.写一个if…else语句,当人数大于100时,输出:“人数已经到极限!”,否则输出:“人数在指定范围内!”3.从键盘接收某人的年龄,用if…elseif…elseif…else语句实现:年龄小于18岁时输出:未成年人,年龄大于18岁小于30岁时输出:青成年人,年龄大于30岁小于45岁时输出:中成年人,年龄大于45岁小于60岁时输出:中老成年人,年龄大于60岁时输出:老成年人,课后作业4.从键盘接收某个数,用switch语句实现:当接收的数字为:1时输出:星期一,当接收的数字为:2时输出:星期二,当接收的数字为:3时输出:星期三,当接收的数字为:4时输出:星期四,当接收的数字为:5时输出:星期五,当接收的数字为:6时输出:星期六,当接收的数字为:7时输出:星期七,当接收其它的数字时输出:输入错误,课后作业5.在控制台上用while循环输出(1-1000)之间的奇数。6.在控制台上用while循环输出1000以内的完全平方数即当n2<1000时,输出n*n;7.在控制台上用do…while循环输出1000以内的完全立方数即当n3<1000时,输出n*n*n;课后作业8.用for语句实现10以内所有自然数相乘,并输出结果。9.用for语句从小到大输出100以内所有自然数。10.(选做)用嵌套循环在控制台输出九九乘法表。Java程序设计基础导言本课学习目标了解数组的思想;理解数组的概念;掌握数组的定义与使用;了解二维数组。数组的思想将大量相似的数据元素存储在不同的变量中会比较麻烦。如:记录某场比赛中11名队员的得分使用11个变量来存储每一位运动员的得分—麻烦使用一个公共变量存储—简单数组的思想数组是具有相同类型的数据元素的集合。数组的每个元素具有相同的数据类型相同的存储类型相同的特性。每个元素存储在主存储区的连续位置上。数组的元素称为数组的成员。数组的概念所谓数组,是一些具有相同数据类型的数据项,他们存放在内存中的连续区域里,用一个标识符统一表示。这个标识符就是数组名,数据项类型就是数组类型,数据项个数称为数组长度(length),数据项称为数组元素。数组的定义声明数组的格式:<数据类型>[]<数组名>;<数据类型><数组名>[];例如:double[]scores;doublescores[];表示定义一个名字为scores的double型数组。数组的初始化可以在声明数组时同时创建并给数组赋初值。例如:int[]myList={2,7,13,20};声明整型数组myList,并赋初始值{2,7,13,20}。该数组有四个元素,每个元素的初始值如大括号中所列举。数组元素和索引数组中含有多少个元素,则数组的长度就为多少;索引也称下标:是数组中元素的序号,从0开始,表示元素在数组中的位置;如:int[]myList={2,7,13,20};此数组中含有四个元素,即数组的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健身教练课程设计及会员服务效果绩效衡量表
- 交通设计院总工程师绩效评定表
- 环保绩效考核表
- 友情万岁:学会分享快乐交往小学主题班会课件
- 小学主题班会课件:健康生活幸福童年
- 思想汇报:陶渊明思想(3篇)
- 2026年民航机场设施管理员考试模拟试卷及答案
- 2026年会计法考试模拟试卷及答案
- 教育培训行业教师培训师绩效衡量表
- 项目组关于验收报告提交通知函处理流程7篇范文
- 【新教材】2026年秋季统编版九年级上册道德与法治第一单元 坚持党的全面领导 考点速记+练习题(含答案)
- 2026年完整三支一扶考试真题解析试卷及答案
- 2026教案自查报告(2篇)
- 高考考前必背核心要点(核心知识)-2026年高考生物二轮复习
- 免疫检查点抑制剂特殊人群应用专家共识
- 低压电工资格证考试题库(2026年版适配应急管理部考核标准)
- 护理部行风管理工作制度
- 2026年安徽省新版基层法律工作试卷及答案
- 拌合站安装、拆除专项施工方案
- 2025福建泉州市晋江市图书馆招聘编外人员拟聘用笔试历年常考点试题专练附带答案详解试卷2套
- 2024年湖南省张家界桑植县卫健局招聘271人历年(高频重点复习提升训练)共500题附带答案详解
评论
0/150
提交评论