版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
运算符、表达式和语句运算符与表达式语句、注释if条件分支语句switch开关语句循环语句break和continue语句for语句与数组枚举类型与for、switch语句
主要内容
1变量变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。根据所存储的数据类型的不同,有各种不同类型的变量。变量名代表这块内存中的数据。
intx=0,y;//变量声明,初始化
y=x+3;//变量定义(赋值)“日期”类型的两种不同表达:方式一: intday,month,year;//定义年、月、日
intd1,m1,y1; //定义一个日期
intd2,m2,y2; //定义另一个日期方式二:
classDate{
intday;
intmonth;
intyear; voidsetDate(inta,intb,intc){...} }引用数据类型—类在Java中,一个类声明后,不能直接引用,必须经过实例化:
基本类型声明后,直接开空间。 如: inta; a=12;
非基本类型不直接开空间,而是开辟引用空间,数据空间没有开。只有通过实例化,才能给数据开辟空间。类的变量的声明与引用例: 1 Datetoday; 2 today=newDate();Todaydaymonthyear0xabcd0000xabcd类的变量的声明与引用1 Datea,b;2 a=newDate();3 b=a;ab
daymonthyear0xabcd0000xabcd0xabcd引用型变量之间的赋值
2函数返回值类型函数名(参数类型形式参数1,参数类型形式参数2,….){程序代码
return返回值;}1形式参数:方法被调用时用于接收外部传入的数据的变量。2参数类型:形式参数的数据类型。3返回值:方法在执行完毕后返还给调用它的程序的数据。4返回值类型:函数要返回的结果的数据类型5实参:调用函数时实际传给函数形式参数的数据。
函数3运算符与表达式与C不同之处:
Java是强类型语言,类型限制比C严格,运算符的操作对象的类型会受到更多限制。
Java不提供指针运算符,增加了对象操作符“instanceof”,字符串运算符“+”,零填充的右移“>>>”等。Java中的运算符算术运算符赋值运算符比较运算符逻辑运算符算术运算符先运算,再取值先取值,再运算算术运算符的注意问题1、“+”除字符串相加功能外,还能把非字符串转换成字符串,如:“x”+123;的结果是“x123”。2、如果对负数取模,可以把模数负号忽略不记,但被模数是负数就另当别论了。如:5%-2=1。3、对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。如:intx=3510;x=x/1000*1000算术混合运算的精度精度从“低”到“高”排列的顺序是:
byteshortcharintlongfloatdouble
Java在计算算术表达式的值时,使用下列计算精度规则:(1)如果表达式中有双精度浮点数(double型数据),则按双精度进行运算。(2)如果表达式中最高精度是单精度浮点数(float型数据),则按单精度进行运算。(3)如果表达式中最高精度是long型整数,则按long精度进行运算。(4)如果表达式中最高精度低于int型整数,则按int精度进行运算。算术运算符的应用技巧思考题1:某个培训中心要为新到的学员安排房间,假设共有x个学员,每个房间可以住6人,让你用一个公式来计算他们要住的房间数?思考题2:假设你要让x的值在0至9之间循环变化,请写出相应的程序代码。思考题1答案:
(x+5)/6。这种算法还可用在查看留言板的分页显示上:其中x是总共的留言数,6是每页显示的留言数,结果就是总共有多少页。思考题2答案:intx=0;while(true){x=(x+1)%10;}比较运算符注1:比较运算符的结果都是boolean型,要么是true,要么是false。注2:比较运算符“==”不能误写成“=”逻辑运算符注1:逻辑运算符用于对boolean型结果的表达式进行运算,运算的结果都是boolean型。注2:“&”和“&&”的区别在于,如果使用前者连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用后者连接,当“&&”的左边为false,则将不会计算其右边的表达式。“|”和“||”的区别与“&”和“&&”的区别一样。运算符举例publicclassCHAR{publicstaticvoidmain(String[]args){chara1='+',a2='点',a3='进',a4='攻';charsecret='8';a1=(char)(a1^secret);a2=(char)(a2^secret);a3=(char)(a3^secret);a4=(char)(a4^secret);
System.out.println("密文:"+a1+a2+a3+a4);a1=(char)(a1^secret);a2=(char)(a2^secret);a3=(char)(a3^secret);a4=(char)(a4^secret);
System.out.println("明文:"+a1+a2+a3+a4);}}密文:S炁迣攃明文:+点进攻“&”和“&&”的区别举例publicclassTestAnd{publicstaticvoidmain(String[]args){
intx=0;
inty=3;if(x!=0&&y==y/x)
System.out.println("y="+y);}}由于判断条件中的第一个布尔表达式是不成立的,程序就不会判断第二个布尔表达式的值,这就是“短路”。如果两个表达式之间用“&”来连接,程序运行时就会出错。赋值运算符注1:在JAVA里可以把赋值语句连在一起,如:
x=y=z=5;
在这个语句中,所有三个变量都得到同样的值5。instanceof
运算符
instanceof
运算符是二目运算符。左面的操作元是一个对象;右面是一个类。当左面的对象是右面的类或子类创建的对象时,该运算符运算的结果是true,否则是false。
运算符的优先级和结合性2语句概述
Java里的语句可分为以下六类。1.方法调用语句。如:System.out.println("Hello");2.表达式语句表示式尾加上分号。比如赋值语句:x=23;3.复合语句(语句块)可以用{}把一些语句括起来构成复合语句,如:
{z=123+x;
System.out.println("Howareyou");}4.空语句。一个分号也是一条语句,称做空语句。5.控制语句。控制语句分为条件分支语句、开关语句和循环语句。6.package语句和import语句。它们和类、对象有关,将在第4章讲解。以“;”为语句的分隔符。一个语句可写在连续的若干行内。如:允许空格、Tab键和换行。两个语句等价:
x=a+b+c+d+e;x=a+b+c
d+e;// 注释一行/**/注释一行或多行/***/文档注释。文本自动包含在用javadoc命令生成的HTML格式的文档中。3注释增加程序可读性4程序的流程控制顺序结构选择结构循环结构与c++区别:(1)Java语言不再使用goto语句;(2)使用带标号的break和continue。if语句的选择结构if(表达式)语句;if(表达式)语句1;else语句2;if(表达式1)语句1;
elseif(表达式2)语句2;
elseif(表达式3)语句3;
… else语句n;每个语句可以是使用{}组成的复合语句If语句还可以嵌套使用
if(表达式1) if(表达式2)语句1;
else语句2;
esle
if(表达式3)语句3;
else语句4; 嵌套时最好使用{}确定层次界限。注意:条件表达式只能是布尔型的,而C语言中可以是任意类型的表达式。语句可以是单一,也可以是复合语句(用大括号{}括起来的若干条语句)。如果是单一的语句,不要忘了语句后的分号。else子句不能单独作为语句使用,它必须和if配对使用。else总是与离它最近尚未配对的if配对,可以通过使用大括号{}来改变配对关系。publicclassExample3_2{publicstaticvoidmain(String
args[]){
inta=9,b=5,c=7,t=0;
if(b<a){t=a;a=b;b=t;}
if(c<a){t=a;a=c;c=t;}
if(c<b){t=b;b=c;c=t;}
System.out.println("a="+a+",b="+b+",c="+c);}}将变量a,b,c内存中的数值按大小顺序进行互换。switch语句的选择结构switch(整型表达式){ case常量表达式1:语句1; case常量表达式2:语句2; … case常量表达式n:语句n; default:语句;}default语句是可选的,它接受除上面接受值的其他值,通俗的讲,就是谁也不要的都归它。case后面可以跟多个语句,这些语句可以不用大括号括起来。switch语句判断条件可接受int,byte,char,short型,不可以接受其他类型一旦碰到第一次case匹配,就会开始顺序执行以后所有的程序代码,而不管后面的case条件是否匹配,后面case条件下的代码都会被执行,直到碰到break语句为止。importjava.util.Scanner;publicclassExample3_4{publicstaticvoidmain(String
args[]){
intnumber=0;
System.out.println("输入正整数(回车确定)");Scannerreader=newScanner(System.in);number=reader.nextInt();
switch(number){case9:case131:case12:System.out.println(number+"是三等奖");break;case209:case596:case27:System.out.println(number+"是二等奖");break;case875:case316:case59:System.out.println(number+"是一等奖");break;default:System.out.println(number+"未中奖");}}}for循环语句
for(表达式1;表达式2;表达式3)语句for(intx=1;x<10;x++){
System.out.println("x="+x);}intx=1;for(;x<10;x++){
System.out.println("x="+x);}intx=1;for(;x<10;){
System.out.println("x="+x);x++;}intx=1;for(;;){
if(x>=10) break;
System.out.println("x="+x);x++;}publicclassExample3_5{publicstaticvoidmain(String
args[]){longsum=0,a=8,item=a,n=12,I=1;
for(i=1;i<=n;i++){sum=sum+item;item=item*10+a;}
System.out.println(sum);}}计算8+88+888+8888……的前12项和。while循环语句
While(表达式)语句;intx=1;while(x<3){
System.out.println("x="+x);x++;}publicclassExample3_6{publicstaticvoidmain(String
args[]){doublesum=0,item=1;
inti=1,n=20;
while(i<=n){sum=sum+item;i=i+1;item=item*(1.0/i);}
System.out.println("sum="+sum);}}计算
1+1/2!+1/3!+1/4!…的前20项。
do-while循环语句do语句while(表达式);publicclassTestDo{publicstaticvoidmain(String[]args){
inty=3;do{ System.out.println("ok2"); y--;}
while(y==0);}}break语句
break语句可以中止循环中的子语句和switch语句。一个无标号的break语句会把控制传给当前(最内)循环(while,do.For或Switch)的下一条语句。如果有标号,控制会被传递给当前方法中的带有这一标号的语句。如:st:while(true){
while(true){ breakst;}}//标号必须在循环的前面,break+标号的作用本质上是限定了break语句到底依附于哪个循环continue语句
continue语句只能出现在循环语句(while,do,for)的子语句块中,无标号的continue语句的作用是跳过当前循环的剩余语句块,接着执行下一次循环。for(inti=0;i<10;i++){if(i%2==0) continue;
System.out.println(i);}135791
Loop:while(true){2 for(…){3 switch(){4 case-1:5 case‘\n’:6
breakloop;
7 …8 }9 }10 }11test:for(…){12 …13 while(…){14 if(…){15 …16
continuetest;17 }18 }19 }//跳出while去11行//跳到11行publicclassExample3_7{publicstaticvoidmain(String
args[]){
intsum=0,i,j;for(i=1;i<=10;i++){if(i%2==0){//计算1+3+5+7+9continue;}sum=sum+i;}
System.out.println("sum="+sum);
for(j=2;j<=100;j++){for(i=2;i<=j/2;i++){
if(j%i==0)break;}
if(i>j/2){
System.out.println(""+j+"是素数");}}}}除了上面介绍的流程控制语句外,Java语言中影响程序执行流程的语句还有两类:return语句和异常处理语句。return语句从当前方法中退出后,返回到调用该方法的语句处,继续程序的执行,有关内容将在后面介绍。异常处理是Java语言提供的一种运行时错误处理机制,这也将在后面的内容中详细介绍。其他流程控制语句5数组(枚举类型)与for(switch)语句for(声明循环变量:数组的名字)循环变量的类型必须和数组的类型相同;“声明循环变量”必须是变量声明,不能使用已经声明过的变量,如:inti;for(i:a){}publicclassExample3_8{publicstaticvoidmain(String
args[]){
inta[]={1,2,3,4};charb[]={'a','b','c','d'};
for(intn=0;n<a.length;n++){//传统方式
System.out.println(a[n]);}
for(intn=0;n<b.length;n++){//传统方式
System.out.println(b[n]);}
for(int
i:a){//循环变量i依次取数组a的每一个元素的值(改进方式)
System.out.println(i);}
for(char
ch:b){//循环变量ch依次取数组b的每一个元素的值(改进方式)
System.out.println(ch);}}}数组与for语句publicclassCHAR{ publicstaticvoidmain(String[]args){
int[]a={1,2,3,4};
for(int
i:a){
System.out.println(i);} }}1234枚举类型与for(switch)语句枚举类型和数组的相互转化:枚举类型[]数组名=枚举类型.values()Enum
WeekDay{sun,mon,tue,wed,thu,fri,sat}WeekDaya[]=WeekDay.values();枚举类型与for语句enumColor{
red,blue,green,yellow,black}publicclassCHAR{ publicstaticvoidmain(String[]args){
Color[]a=Color.values();
for(Color
i:a){
System.out.println(i); } }}redbluegreenyellowblack枚举类型与for(switch)语句enumColor{
red,blue,green,yellow,black}publicclassCHAR{ publicstaticvoidmain(String[]args){ Color[]a=Color.values();
for(Color
i:a){
switch(i) {casered:System.out.println(i);break; caseblue:System.out.println(i);break; casegreen:System.out.println(i);break; caseyellow:System.out.println(i);break; caseblack:System.out.println(i);break;} }}}redbluegreenyellowblack6对象数组对象数组:又叫引用数组,数组元素为某个类的对象变量。String[]s;//s是一个String类型一维数组对象变量,s中的每个元素都是String类型对象变量。s=newString[3];//创建一个含有3个元素的String类型数组对象。s[0]=newString(“aa”);//为数组元素赋值s[1]=newString(“bb”);//为数组元素赋值s[2]=newString(“cc”);//为数组元素赋值对象数组举例1publicclassArray4{ publicstaticvoidmain(String[]args){
String[]s=newString[3]; s[0]=newString("你好"); s[1]=newString("hello"); s[2]=newString("高兴"); for(inti=0;i<s.length;i++)
System.out.println(s[i]); }}s012“你好”“hello”“高兴”你好hello高兴stringonestringtwostringthree对象数组举例2publicclassArrayOfStringsDemo{publicstaticvoidmain(String[]args){String[]anArray={"StringOne","StringTwo","StringThree"};for(inti=0;i<anArray.length;i++){
System.out.println(anArray[i].toLowerCase()); } }}对象
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB12T 630.5-2021 天津质量奖 第5部分:服务业评价规范
- DB12T 575-2015 农业资源与环境编码规则 第1部分:涉农基地
- 2024年电商店铺代运营服务与技术支持合作协议3篇
- 2024年电子商务平台入驻门头合作协议范本3篇
- 2025学校食品原料供货合同
- 2024信用证项下出口退税融资合同范本3篇
- 2024年环保型打印耗材定点供应商合作协议范本3篇
- 2025表达车位转让合同
- 2024年中心门面房屋租赁及新能源设施安装合同3篇
- 维修价格与满意度关系分析-洞察分析
- 蜜雪冰城合同范例
- 2023年国网四川省电力公司招聘笔试真题
- LPG液化气充装站介质分析操作规程 202412
- 2023-2024学年广东省深圳市龙华区六年级上学期期末英语试卷
- 2024年注册会计师审计考试题及答案
- 药学专业论文3000字药学毕业论文(6篇)
- 光伏发电工程施工技术方案
- 一年级看图写话集锦省公开课获奖课件说课比赛一等奖课件
- 化疗后胃肠道反应护理
- 天津市武清区2024-2025学年九年级上学期11月期中物理试题(无答案)
- 山西省2024-2025学年九年级上学期11月期中考试化学试题
评论
0/150
提交评论