




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章Java语言语法基础天津职业技术师范大学第一个Java程序/***此类用于在屏幕上显示消息。**@version1.0,2005年5月20日*@authorMichael*/publicclassMessage{/***这是一个main方法*/
publicstaticvoidmain(String[]args){
/*输出此消息*/System.out.println("欢迎来到Java世界!");}}所有成员都必须定义在类体中main方法必须被声明为public;main前的staticvoid必不可少;main方法的参数为String数组main方法必须被定义在类内;当运行这个类的字节码时,从main方法开始。System.out.print()的功能是将括号内的字符串输出到屏幕。一个java文件可以定义多个类,但只能有一个public类,且源文件名必须与类名相同。天津职业技术师范大学Java语言语法基础1.标识符、关键字、注释与分隔符2.Java的数据类型3.Java运算符和表达式4.Java控制结构天津职业技术师范大学2.1标识符、关键字、注释与分隔符简单地说,标识符(indentify)就是一个名字。用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、数字、下划线和$组成,且第一个字符不能是数字字符。关键字就是Java语言中已经赋予特定意义的单词。不可以把这类词作为标识符来用。(p22)
天津职业技术师范大学2.1标识符、关键字、注释与分隔符以下单词哪些不是合法标识符?java JAVA keywords 2BjavaName
java_Name java-Name佳娃 (^0^)$java
#java char main
天津职业技术师范大学2.1标识符、关键字、注释与分隔符注释//单行注释,简单的解释语句含义。/*多行注释用来说明更多的内容,包括算法等。*//**Java文档注释,可以通过javadoc生*成类和接口的HTML格式的帮助文档.*/天津职业技术师范大学2.1标识符、关键字、注释与分隔符分隔符空白符:包括空格、回车、换行和制表符(Tab)等。大括号({}):用来定义类体、方法体、符合语句和数组的初始化。一对花括号括起来的代码段是一个语句块。天津职业技术师范大学分隔符分号(;):语句结束标志。逗号(,):区分方法的多个参数,区分变量说明的多个变量。冒号(:):用于语句标号中。2.1标识符、关键字、注释与分隔符天津职业技术师范大学2.2Java的数据类型Java语言有8种基本数据类型,习惯上可分为4大类型:整数类型:byte、short、int、long浮点类型:float、double逻辑类型:boolean(占2个字节)字符类型:char(占2个字节)天津职业技术师范大学2.2Java的数据类型——整型整型用于表示没有小数部分的数值,允许是负数。类型长度数的范围byte8位-128~127short16位-32,768~32,767int32位-2,147,483,648~2,147,483,647long64位-9,223,372,036,854,775,808~9,223,372,036,854,775,807java没有任何unsigned类型天津职业技术师范大学整型常量1.十进制整数 如123,-456,
02.八进制整数(以0开头) 如0123表示十进制数83,-011表示十进制数-93.十六进制整数(以0x或0X开头)如0x123表示十进制数291,0X12表示十进制数18。2.2Java的数据类型——整型天津职业技术师范大学整型常量long型以l或L结尾如,12l、-343L、0xfffffffffL没有以l或L结尾的数字,根据其实际值所属范围,可以被用作byte,short,或int型整数。2.2Java的数据类型——整型天津职业技术师范大学以下哪些赋值语句不正确?inti=2147483648;
longl1=2147483648;
longl2=4294967296L;longl3=65536*63356;longl4=65536L*63356; 2.2Java的数据类型——整型l3为-142868480,乘法运算越界2147483648不是int类型!2147483648不是int类型!天津职业技术师范大学2.2Java的数据类型——浮点型类型长度数的范围有效位数float32位3.4*10-38~3.4*10+386、7double64位1.7*10-308~1.7*10+30815doubled1=127.0; doubled2=127; floatf3=127.0; floatf1=127.0f;
//错误!必须用(float)强制转换//浮点常数默认处理为double类型//隐式转换//float常数需要在数字后加f或F天津职业技术师范大学2.2Java的数据类型——
char型字符型用于保存一个字符。Java使用16位的unicode字符集,可储存的字符范围由‘\u0000’到‘\uFFFF’,前128个字符编码与ASCII编码兼容。常量字符常量需使用单引号扩起,例如:'A'、'b'、'?'、'!'、'9'、'好'、'\t'、'き'、'δ'
变量使用关键字char来定义字符变量:charc1='A',c2='对',c3='\u1234';天津职业技术师范大学2.2Java的数据类型——逻辑类型布尔型常量只有两个值:true,false。变量的定义使用关键字boolean来定义逻辑变量,定义时也可以赋给初值:布尔型数据只能参与逻辑关系运算。&&||==!=!
booleanx,found=false,isRigtht;isRight=true;x=found;booleanfound=true*true;booleanfound=true%false;booleanfound=false>true;天津职业技术师范大学publicclassTest{ publicstaticvoidmain(Stringarg[]){ inti; System.out.println(i); }}2.3变量的声明、初始化和使用分析程序执行结果。天津职业技术师范大学2.4常量使用关键字final可以把一个标识符定义为常量。语法:final<类型> <常量标识符>=<常数值>;finalint MAX_NUM=100;finaldouble PI=3.1415926;天津职业技术师范大学2.5Java运算符和表达式运算符是对操作数进行运算的符号。表达式是用运算符把操作数(变量、常量和方法等)连接起来表达某种运算或含义的式子。当表达式中有多个运算符时,优先级用来决定谁先优先。当表达式中有多个同一优先级的运算符时,结合性决定从哪个方向计算。天津职业技术师范大学优先级、结合性以及单/双目运算1) .,
[],() 9)&2) ++,--,!,~,instanceof 10)^3) new(type) 11)|4) *,/,% 12)&&5) +,- 13)||6) >>,>>>,<< 14)?:7) >,<,>=,<= 15)=,+=,-=,*=,/=,%=8) ==,!= 16)&=,|=,<<=,>>=,>>>=2.5运算符和表达式天津职业技术师范大学2.5.1算术运算符与表达式
用算术符号和括号连接起来的符合java语法规则的式子,称为算术表达式,如x+2*y-30+3*(y+5)。加减运算符:+,-,乘,除和取余运算符:*,/,%结合方向:从左到右注意运算符的操作元的数据类型天津职业技术师范大学2.5.1算术运算符与表达式publicclassTest{ publicstaticvoidmain(Stringarg[]){ inti=15; System.out.println(i/2); }}7Java将按运算符两边的操作元的最高精度保留结果的精度天津职业技术师范大学2.5.1算术运算符与表达式
算术混合运算的精度不同类型数据先转化为同一类型,然后进行运算,转换从低级到高级。低————————————————————>高byte—>short—>int—>long—>float—>double
char—>操作数1类型 操作数2类型 转换后的类型byte、short、char int int byte、short、char、int long long byte、short、char、int、long float float byte、short、char、int、long、float double double天津职业技术师范大学2.5.1算术运算符与表达式自增、自减运算符是单目运算符,作用是使变量的值增1或减1,操作元必须是一个整型或浮点型变量。++x(--x)表示在使用x之前,先使x的值加(减)1。x++(x--)表示在使用x之后,使x的值加(减)1。天津职业技术师范大学2.5.2关系运算符与关系表达式关系运算符:<、>、<=、<=、!=、==用来比较两个值的关系,结果是boolean型(true或false)。System.out.println("10>5结果"+(10>5));天津职业技术师范大学2.5.3逻辑运算符与逻辑表达式逻辑运算符:&&、||、!&&、||为双目运算符,实现逻辑与、逻辑或,采用短路运算,!为单目运算符,实现逻辑非。用来连接关系表达式,操作元必须是boolean型数据,如2>8&&9>2的结果为false,2>8||9>2的结果为true。&、|也可以进行逻辑判断,采用非短路运算。
天津职业技术师范大学2.5.3逻辑运算符与逻辑表达式
classLogicalOption2{ publicstaticvoidmain(String[]args){ intx=2,y=3; booleant1,t2,t3; t1=x<y||++x<y; System.out.println("1:t1="+t1+"x="+x); t2=x<y|++x<y; System.out.println(“2:t2="+t2+"x="+x); }}1:t1=truex=22:t2=truex=3天津职业技术师范大学2.5.4赋值运算符与赋值表达式赋值运算符:=。用来为变量赋值,优先级较低,从右到左结合赋值表达式的值就是“=”左面变量的值。
a=b=10;
a=100=10; (a=100)=10;
不要将“=”与等号运算符“==”混淆!//错误//错误//结果为a、b均等于10天津职业技术师范大学2.5.4赋值运算符与赋值表达式指定运算符范例结果+=a+=ba=a+b-=a-=ba=a-b*=a*=ba=a*b/=a/=ba=a/b%=a%=ba=a%b天津职业技术师范大学2.5.4赋值运算符与赋值表达式classAssignmentOPtion3{
publicstaticvoidmain(String[]args){ inta,b; a=5; b=4; System.out.println("1:a="+a+"b="+b); a=b; System.out.println("1:a="+a+"b="+b); a=3; System.out.println("1:a="+a+"b="+b); } }1:a=5b=41:a=4b=41:a=3b=4天津职业技术师范大学选择语句:if-else,switch-case循环语句:while,do-while,for跳转语句:continue,break,return2.6Java控制结构天津职业技术师范大学if
(expression)
子语1else子语2expression必须是布尔表达式
字句如果不止一句应该加大括号{}。2.6.1选择语句:if-else天津职业技术师范大学2.6.1选择语句:if-elseinta=1,b=0;if(a>b)
System.out.println(b);else
a=a+b;
System.out.println(a);01多个子句必须加括号天津职业技术师范大学2.6.1选择语句:if-elseinti=-1;if(i>0)if(i<100)System.out.println("inner");elseSystem.out.println("outer");else总跟离它最能的if相匹配。天津职业技术师范大学
Scannersc=newScanner(System.in);
intscore=sc.nextInt(); chargrade; if(score>=90){ grade='A'; }elseif(score>=80){ grade='B'; }elseif(score>=70){ grade='C'; }elseif(score>=60){ grade='D'; }else{ grade='E'; } System.out.println(score+""+grade);
2.6.1选择语句:if-else天津职业技术师范大学
switch(expression) {
casevalue1:statements1;break; ……
casevalueN:statementsN;break;
default:defaultStatements; }表达式expression的类型必须是整型或字符型(jdk7增加了String)2.6.1选择语句:switch天津职业技术师范大学case子句中的valueI必须是常量,且所有case子句中的值应不同。default子句是可选的。break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行。如果某个case分支后没有break语句,程序将
不再做比较而执行下一个分支。2.6.1选择语句:switch天津职业技术师范大学循环语句while(当型循环)[初始化循环变量]//初始化条件
while(expression){//循环条件 循环体 [迭代语句]//变更循环条件}当表达式expression为true时,执行{}中的语句,否则终止循环。tbfalsetrue2.6.2循环语句:while天津职业技术师范大学循环语句do-while(直到型循环)[初始化循环变量]
//初始化条件
do{ 循环体 [迭代语句]
//变更循环条件}while(expression)
;
//循环条件首先执行一遍{}中的语句,当表达式expression为true时,执行{}中的语句,否则终止循环。tbfalsetrue2.6.2循环语句:dowhile天津职业技术师范大学
循环语句for(另一种当型循环)for(初始化;循环条件;迭代语句){ 循环体}初始化、迭代语句可以为空语句;循环条件为空语句相当于true。tbodyfalsetrueiterainit2.6.2循环语句:for天津职业技术师范大学在初始化和迭代语句可以使用逗号逗号分隔多条语句。 for(inti=0,intj=10;i<j;i++,j--) {
…… }2.6.2循环语句:for天津职业技术师范大学intn=1,sum=0;while(n<=10){sum=sum+n;n++;}intn=10,sum=0;do{sum+=n;n--;}while(n>0);while循环do-while循环2.6.2循环语句intsum=0;for(inti=1;i<=10;i++){sum+=i;}for循环天津职业技术师范大学在循环语句中,break用于终止并跳出循环,从紧跟着循环体代码段后的语句执行。break语句的第二种使用情况就是跳出它所指定的块,并从紧跟该块后的第一条语句处执行。2.6.3
跳转语句:break天津职业技术师范大学publicclassBreakExample1{ publicstaticvoidmain(String[]args){ for(inti=1;i<20;i++){ for(intj=2;j<i;j++){ if(i%j==0){
break; } } System.out.print("
i="+i); } } }2.6.3跳转语句:break天津职业技术师范大学publicclassBreakExample2{ publicstaticvoidmain(String[]args){
loop:for(inti=1;i<20;i++){ for(intj=2;j<i;j++){ if(i%j==0){
breakloop; } } System.out.print("
i="+i); } } }2.6.3跳转语句:break
i=1i=2i=3天津职业技术师范大学continue语句用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。格式:continue;也可以用continue跳转到括号指明的外层循环中,这时的格式为continue
标签;2.6.3跳转语句:continue天津职业技术师范大学补充1:Java输入输出Scanners=newScanner(System.in);Stringm=s.next();intn=s.nextInt();doubled=s.nextDouble();System.out.println(m);System.out.print(n);天津职业技术师范大学补充2:数组一维数组的声明intarray[];int[]array;声明数组不需分配任何存储空间,仅仅是一个名字,代表你试图创建一个数组;天津职业技术师范大学补充2:数组一维数组的初始化(定义的同时初始化)int[]array1=newint[]{31,28,31,30,31,30};int[]array2={31,28,31,30,31,30};一维数组的实例化(先定义再实例化)int[]array1,array2;array1=newint[]{31,28,31,30,31,30};array2=newint[6];只有初始化或实例化才能成为一个真正的数组。天津职业技术师范大学补充2:数组几种错误intarray[5];intarray[]=newint[];int[]array=newint[6]{31,28,31,30,31,30};intarray[6]={31,28,31,30,31,30};规律声明数组时不能指定长度定义数组时可以指定长度且只能出现在new后的[]中用{}初始化数组时不能指定长度天津职业技术师范大学补充2:数组数组只能在初始化时一次性对多个值赋值。int[]array1,array2;array1=newint[]{31,28,31,30,31,30};
//right!array2={31,28,31,30,31,30};
//wrong!天津职业技术师范大学补充2:数组一维数组的引用数组名[下标]小标从0开始,到数组长度减1。 int[
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45249.1-2025证券期货业与银行间业务数据交换协议第1部分:三方存管、银期转账和结售汇业务
- 口腔美白操作流程
- 生物教学团队建设方案计划
- 资金需求预测报告计划
- 开展主题式教学活动计划
- 教学培训与发展计划
- 探索开放式管理促进创新与灵活性计划
- 加强财务管理的投资方向计划
- 投资咨询工程师思维训练试题及答案总结
- 投资咨询工程师财务报表解析试题及答案
- 安装工程建设工程计量与计价实务-2022年(浙江)二级造价工程师《安装实务》真题
- DBJ33T 1289-2022 住宅厨房混合排气道系统应用技术规程
- 甲状腺术后的护理问题及护理措施
- 辽宁省沈阳市2025届高三上学期教学质量监测(一)英语试卷(含答案)
- 新编小学二年级下册体育和健康全册教案
- DB32T 2061-2024单位能耗限额统计范围和计算方法
- 2024年中国燃油燃气商用锅炉市场调查研究报告
- 2022浪潮英信服务器NF5280M6产品技术白皮书
- 高二下英语单词
- 2024年国家危险化学品经营单位安全生产考试题库(含答案)
- 加油站事故隐患报告和举报奖励制度(3篇)
评论
0/150
提交评论