版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章Java语言基础回顾Java编程语言由SunMicrosystems于1995年推出Java是面向对象的跨平台语言Java字节码是Java虚拟机(JVM)可理解的机器语言指令,通常是编译Java语言源代码生成的结果JDK提供多种工具,这些工具位于JDK的bin目录下,具体如下:javacjavajavadocJava字节码是Java虚拟机(JVM)可理解的机器语言指令,通常作为Java语言源代码的编译结果而生成知识节点1数据类型2变量3输入、输出数据4数组5运算符与表达式6语句©2006PTCJava语言的基础知识数据类型变量运算符控制流语句Java块变量是存储数据的基本单元。数据类型
确定要存储在内存中的数据的类型。运算符是一个符号,用于操作一个或多个参数以得出结果。程序是按顺序执行的。控制流语句允许改变此顺序。数据类型bytecharbooleanshortintlongfloatdouble数组类接口原始数据类型引用数据类型数据类型2、数据类型(1)分类
数据转换类型自动类型转换()强制类型转换将一种类型的变量赋给另一种类型的变量时,只要满足以下条件,就会发生自动类型转换:两种类型兼容;目标类型大于源类型;强制转换用于显式类型转换。如果被转换的值的数据类型大于其目标类型,就会丢失部分信息byte→
short→
char
→int→long→
float
→double
数据类型转换自动类型转换例如:inti=20;longj=i;自动类型转换从低级到高级的转换顺序如下:byte→short、int、long、float、doubleshort→int、long、float、doublechar→int、long、float、doubleint→long、float、doublelong→float、doublefloat→double类型强制转换类型强制转换使程序将变量视为某种类型,尽管此变量中包含的是另一类型的数据数据类型转换显示转换是将高精度数据类型转换到低精度数据类型,它是通过赋值语句来实现。其一般格式如下:(数据类型)变量名或表达式显示转换从高级到低级的转换顺序如下:byte→charshort→byte、charint→byte、short、charlong→byte、short、char、intfloat→byte、short、char、int、long示例:floatc=34.89675f;intb=(int)c+10;//将c转换为整型变量变量声明由以下三个部分组成:数据类型名称要赋给的初始值(可选)
语法:数据类型标识符
[=值][,
标识符[=值]…];示例classVariableTest{publicstaticvoidmain(String[]args){
doublea=1.0;intb=3;System.out.println("双精度变量的值为:"+a);
System.out.println("整型变量的值为:"+b);
}}声明变量并初始化变量的作用域和生存期变量可以在代码块中声明块以左大括号开始,以右大括号结束块用来定义作用域每次创建一个新块后,就会创建一个新的作用域变量的作用域是一个作用的范围,每个变量都有自己的作用域变量的生存期是指变量的生存周期总结变量作用域就是变量在哪个区域起作用。有全局变量,有局部变量。
示例:©2006PTC示例classScopeVar{publicstaticvoidmain(String[]args){intnum=10; if(num==10){//num在内层作用域中可用
intnum1=num*num;System.out.println(“num和num1的值为"+num+""+num1);
}
System.out.println(“num1的值为"+num1);
}} //num1=10;错误!num1未知检查变量的作用域如果从变量的作用域外访问变量,则会出错!!!
输入、输出数据Scanner
–类创建对象-Scanner
reader=newScanner(System.in);reader对象可以调用的方法nextBoolean(),
nextByte(),nextShort(),nextInt(),nextLong(),
nextFloat(),
nextDouble()
示例数组2-1数组是一个变量,用于将相同数据类型的数据存储在存储单元中可以使用以下三种方式声明数组:数据类型标识符[];Int[]
a,b;等价
Int
a[],b[];Int[]a,b[];?数据类型标识符[]=new
数据类型[大小];数据类型标识符[]={值1,值2,…值N};注:第一种声明数组的方括号中不指定数组元素个数.Int
a[10]
错误!数组可以为多维Inta[],b[][];数组2-2一维数组由一列相同类型的数据组成可以通过指定数组的名称和大小来声明数组一维数组多维数组多维数组是数组的数组要声明一个多维数组,必须使用另一组方括号来指定附加索引示例数组声明访问数组元素使用length属性演示:示例3/*数组初始化*/double[]nums={2,0,1};/*输出数组元素*/System.out.println(“位置3的值为:"+nums[2]);int[]numbers={8,18,5,2,1,10};System.out.println(“数组中元素的总数为:"+numbers.length);System.out.println(“数组中的第一个元素为:"+numbers[0]);System.out.println(“数组中的最后一个元素为:“+numbers[numbers.length-1]);运算符运算符描述示例算术运算符算术运算符使用数字操作数。这些运算符主要用于数学计算+,-,*,%等关系运算符关系运算符用于测试两个操作数之间的关系。使用关系运算符的表达式的结果为boolean型==,>=,<=等逻辑运算符逻辑运算符用于boolean操作数&,|,^,&&,||,!等条件运算符条件运算符很独特,因为它是用三个操作数组成表达式的三元运算符。它可以替代某种类型的if-else语句?:赋值运算符赋值运算符为一个等号=,它将值赋给变量=,*=,/=,+=,-=示例
代码片断:inta=5,b=12,d=10,c;c=a+b;\\加法c=b%a;\\取模d++;\\递增d--;\\递减c和d的值:c=17\\相加后c=2\\这是a/b的余数d=11\\递增后d=10\\递减后代码片断:booleani=true,j=false;booleanor=i||j,and=i&&j;
booleannot=!i;or和and的值or=true\\使用逻辑orand=false\\使用逻辑andnot=false\\使用一元逻辑not算术运算符逻辑运算符运算符的优先级表达式通常由多个运算符组成。优先级的规则决定每个运算符在任何给定表达式中的计算顺序顺序运算符1.括号,如()和[]2.一元运算符,如-、++、--和!3.算术运算符,如*、/、%、+和-4.关系运算符,如>、>=、<、<=、==和!=5.逻辑运算符,如&、^、|、&&、||6.条件运算符和赋值运算符,如?:、=、*=、/=、+=和-=控制流语句所有应用程序开发环境都提供一个判定过程,称为控制流语句,它用于引导应用程序的执行流控制使程序员可以创建一个应用程序,该应用程序能够检查现有的条件并决定适当的操作过程循环或迭代是重要的编程结构,可用于重复执行一组操作跳转语句允许以非线性的方式执行程序控制流语句的类型判断语句if-else语句switch-case语句循环语句while循环do-while循环for循环if-else语句If-else语句测试条件的结果,然后根据此结果来执行相应的操作它可用于以两个不同的路径来执行程序if-else语句的语法为:
if(condition) { action1; } else { action2; }switch-case语句switch-case语句可用于替换if-else-if语句在表达式可以得出多个值的情况下,使用此语句使用switch-case语句会带来更好的效果switch-case语句的语法为:
switch(表达式){case1:
操作1的语句;
break;case2:
操作2的语句;
break;
….casen:
操作n的语句;break;default:
默认语句;}练习要求:使用IF语句比较从键盘输入3个数中最大的数并输出结果提示键盘输入Scanner类(Page22)
循环3-1while
只要指定的条件评估为true,while
循环则执行一个语句或一组语句语法intcount=0;while(count<10){System.out.println(count);count++;}示例while(测试){//语句
}被执行条件=true循环3-2do-whiledo-while循环执行某些语句,直到指定的条件为真。此循环确保循环体至少执行一次语法do{System.out.println(count);count++;}while(count<10)
示例do{//语句
}while(测试)被执行条件=true循环3-3forfor循环主要用于按预定的次数执行语句或语句块语法for(count=0;count<10;count++){System.out.println(count);}
示例for(初始化;测试;增量){
操作语句;}
条件
=true被执行跳转语句2-1两种跳转语句为:breakcontinuebreak语句:用于终止块。
continue语句:有时程序员可能希望继续循环,而停止处理其主体内的其余代码,以进行特定的迭代。continue语句可用于这种操作。跳转语句2-2将break关键字引入循环避免不必要的执行终止循环intnumber=29;for(inti=2;i<number;i++){if(number%i==0){System.out.println(i+“是非质数");
continue;}System.out.println(i+“是质数");
}
命令行参数
在程序执行过程中,可以通过传递命令行参数将信息传递至main()
方法可以通过String[]参数访问这些参数classComndLineArg1{publicstaticvoidmain(Stringargs[]){for(inti=0;i<args.length;i++){System.out.println(args[i]);}}}输出结果
输出结果
使用转义序列格式化输出每当要将输出结果显示到屏幕上时,就需要进行格式化可以使用Java提供的转义序列进行格式化示例:
System.out.println(“生日\t快乐”);输出结果:生日 快乐总结Java中的数据类型分为两种:原始数据类型和引用数据类型变量是存储数据的基本单元数组用于将相同数据类型的多项数据存储在连续的内存单元中Java提供各种类型的运算符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 互联网背景下小学数学自主学习能力策略探究
- 2025北京延庆区高二(上)期中语文试题及答案
- 计算机行业市场前景及投资研究报告:算电协同中国AIDC电力解决方案
- 脑梗死护理考核试题及答案解析
- 2026北京平谷区初三一模语文试题含答案
- 2026高中必修上《琵琶行》教学课件
- 医院用药规范巡查制度
- 医院采购项目质控管理制度
- 协管员月考核制度
- 卫生室药品管理奖惩制度
- 2026年中考历史一模试卷 历史试题(广州卷)
- 【 数学 】2025-2026学年北师大版七年级数学下册期中阶段《第1-3章》综合模拟测试题
- 2026年煤矿企业入矿新员工培训模拟试题(考点精练)附答案详解
- 2026年建筑行业BIM技术应用报告及创新设计发展报告
- 2025-2026学年伤逝教学设计
- 放射工作人员培训(法律法规)培训课件
- 2026统编版八年道德与法治下册期末复习全册必背知识点提纲
- 湘教版九年级数学:二次函数的应用-从抛物线到现实问题
- 2025年团干素质大赛笔试及答案
- 松树鳃角金龟课件
- 高速铁路轨道施工与维护课件 2.无缝线路养护维修
评论
0/150
提交评论