第3章+Java语法基础.ppt_第1页
第3章+Java语法基础.ppt_第2页
第3章+Java语法基础.ppt_第3页
第3章+Java语法基础.ppt_第4页
第3章+Java语法基础.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java语言,主讲:王淑鸿,第3章 Java语法基础,学习目标: Problem solving Not syntax 学习方法:既严谨又灵活,注重应用。,主要内容,3.1 变量声明与赋值语句 3.2 输入输出语句 3.3 运算符与表达式 3.4 流程控制语句,下面的程序应该用到哪些语句?,问题:输入两个整数,求和并输出。 计算机解决方案: 1、分配三个内存空间,存储两个加数及所求得的和; 2、从键盘输入第一个数,存储到内存相应地址中; 3、从键盘输入第二个数,存储到内存相应地址中; 4、由CPU求和,将和存储到内存相应地址中; 5、将和送到输出设备显示器显示。 附:如果要求计算的是10以内的

2、加法呢?,3.1 变量声明与赋值语句,理解:什么是变量? 为什么要用变量? 变量与内存的关系?(数据表示) Java规定:变量类型、变量名、变量值 学习步骤:声明变量、给变量赋值、 使用变量,变量,高级程序设计语言中是用变量来指向计算机的内存的。在内存中分配三个存储空间,即需要声明三个变量。 分配多大的或者什么样的地址空间呢?则需要指定变量类型。 每个变量都有名字、类型、存储空间大小和值,关于变量名的规定,变量名以字母、下划线或者美元符号开头的字母、数字、下划线和美元字符的组合构成,Java语言中有些保留字有特殊的含义,所以为变量命名时要避开这些保留字,如class、puclic等不能作为变量

3、名。 下面的变量名是合法的: $name、_name、myName、your_name、name12等。 下面的变量名是非法的: 2name、 /声明 short varShort; int varInt; long varLong;,varByte=100; /赋值 varShort=30000; varInt=10000000; varLong=10000000000;,实型数属性表,float varFloat; /变量声明 double varDouble;,varFloat=123.001f; /变量赋值 varDouble=123.0000000001;,布尔型变量用来表示逻辑值,

4、何谓逻辑值? Java中布尔型变量只有两个值:真(true)或假(false)。 布尔型数据在机器中位长为8位。 boolean sign; boolean isChild=true;,布尔型( boolean ),字符型变量是一个16位的Unicode码 一个字符型变量只能表示一个字符 char varCh; varCh=y;,字符型(char),转义字符表,字符串String(非基本数据类型),字符串类型是Java预定义的一种复合数据类型 其具体机制后面再讲,先学习简单的使用 String qqID; String phoneCode=“133*8888” String name=“张三”

5、,数组,数组可以表示一组相同类型的变量 int arrInt=new int10; double arrDou=new double10; boolean arrB=new boolean10 char arrCh=new char10; String arrStr=new String10; JButton arrBu=new JButton10;,3.2 输入输出语句,三种输出语句: 1、System.out.println(“”); /输出后换行 2、System.out.print(“”); /输出后不换行 3、JOptionPane.showMessageDialog(null, “

6、”); /消息窗口式输出 /import javax.swing.JOptionPane; 附:将数值转换为字符串 int sum100; String sumStr=String.valueOf(sum);,三种输出语句,System.out.println( Welcome to Java Programming! ); System.out.print( Welcome to ); System.out.println( Java Programming! ); JOptionPane.showMessageDialog(null, String.valueOf(sum));,对话框输入

7、语句,1、输入字符串语句: JOptionPane.showInputDialog(“提示信息”); 2、将字符串转换为整数: String numStr1= JOptionPane.showInputDialog(“输入整数”); int numInt=Integer.parseInt(numStr1); 3、将字符串转换为小数: String numStr2= JOptionPane.showInputDialog(“输入小数”); double numDouble=Double.parseDouble(numStr);,编程求两个整数和,在内存中分配三个存储空间,用来存储两个加数及所求得

8、的和; 从键盘输入第一个数,存储到内存相应地址中; 从键盘输入第二个数,存储到内存相应地址中; 由CPU中的运算器求两个数的和,将和存储到内存相应地址中; 将和送到输出设备显示器显示。,编程求两个整数和,import javax.swing.JOptionPane; class add public static void main(String args) int addNum1,addNum2,sum; String addNumStr1,addNumStr2; addNumStr1=JOptionPane.showInputDialog(“请输入第一个加数”); addNumStr2=J

9、OptionPane.showInputDialog(“请输入第二个加数”); addNum1= Integer.parseInt(addNumStr1); addNum2= Integer.parseInt(addNumStr2); sum=addNum1+addNum2; JOptionPane.showMessageDialog(null, sum); ,练习,编程,输入数据,进行下列转换后输出 1、将英里换算成千米(1英里1.609千米) 2、将千克换算成英镑(1千克2.2磅) 3、将华氏温度转换为摄氏温度,3.3 运算符与表达式,算术运算符和算术表达式 赋值运算符和赋值表达式 关系运

10、算符和关系表达式 逻辑运算符和逻辑表达式 位运算符及表达式(略,感兴趣的同学可以自学),算术运算符与表达式,赋值运算符与表达式,关系运算符与表达式,逻辑运算符与表达式,3.4 流程控制语句,分支语句: 单分支 if 双分支 if else 多分支 switch 循环语句: for循环 while循环 do while 循环,单分支结构,if (条件) 语句组 /判断邮箱地址是否有效 String addr=JOptionPane.showInputDialog(null,邮箱地址:); if ( addr.indexOf()=-1 | addr.indexOf()!=addr.lastInde

11、xOf() | addr.indexOf()=addr.length()-1 ) JOptionPane.showMessageDialog(null,Email地址不正确!); ,双分支结构,if (条件) 语句组1 else 语句组2 /猜数游戏 String numStr=JOptionPane.showInputDialog(“输入一位数); int num=Integer.parseInt(numStr); if (num=7) JOptionPane.showMessageDialog(null,“Congratulation!); else JOptionPane.showMes

12、sageDialog(null,Sorry!); JOptionPane.showMessageDialog(null,Game Over!);,多分支结构之一,if (条件1) 语句组1 else if (条件2) 语句组2 else if (条件3) 语句组3 else if (条件n) 语句组n else 语句组n+1,多分支结构例题计算个人所得税,个人所得税税率表一(工资、薪金所得适用) 级数全月应纳税所得额(工资-1600) 税率(%) 1 不超过500元的 5 2 超过500元至2000元的部分 10 3 超过2000元至5000元的部分 15 4 超过5000元至20000元的部

13、分 20 5 超过20000元至40000元的部分 25 6 超过40000元至60000元的部分 30 7 超过60000元至80000元的部分 35 8 超过80000元至100000元的部分 40 9 超过100000元的部分 45,if (salary0) tax=0.0; else if (salary=500) tax=salary*0.05; else if (salary=2000) tax=500*0.05+(salary-500)*0.1; else if (salary=5000) tax=500*0.05+1500*0.1+(salary-2000)*0.15; els

14、e tax=500*0.05+1500*0.1+3000*0.15+15000*0.2+20000*0.25 +20000*0.3+20000*0.35+20000*0.4+(salary-100000)*0.45;,多分支结构之二,switch(表达式) case(常量1): 语句组1;break; case(常量2): 语句组2;break; case(常量3): 语句组3;break; case(常量n): 语句组n;break; default:语句组n+1 ,多分支结构例题计算五级制成绩,分数 成绩 0-59 不及格 60-69 及格 70-79 中 80-89 良 90-100 优

15、,switch(score/10) case(10): ; case(9): grade=“优”; break; case(8): grade=“良”; break; case(7): grade=“中”; break; case(6): grade=“及格”; break; default: grade=“不及格”; ,多分支结构例题输入运算符进行计算,char op; op=JOptionPane.showInputDialog(输入运算符).charAt(0); switch(op) case(+): result=num1+num2; break; case(-): result=nu

16、m1-num2; break; case(*): result=num1*num2; break; case(/): if(num2=0.0) JOptionPane.showMessageDialog(null,除数为零!); System.exit(0); else result=num1/num2; break; ,作业一,将多分支结构的三道例题的程序补充完整, 即把变量声明部分、输入和输出部分补充完整, 熟悉其中的语法要素, 并在JCreator环境下调试。,循环结构,引例:编程实现 方法一:使用for循环 int n,sum=0; for(n=1;n=100;n+) sum=sum+

17、n;,/运算符及控制语句/sumN.java,for循环结构,格式:for(表达式1;表达式2;表达式3 ) 循环体语句组 表达式1应该是循环变量初始化语句; 表达式2应该是执行循环的判别条件表达式; 表达式3应该是循环变量增减的赋值语句。,for(表达式1;表达式2;表达式3;) 循环体语句组 执行过程:,while循环,格式:while(条件表达式) 循环体 执行过程: 注意事项: 循环必须是有穷的, 可以通过在循环体中增加循环变量增减语句实现,方法二 while循环,int n=1,sum=0; while (n=100) sum=sum+n; n+; ,命令格式与执行过程自己总结!,方

18、法三 do while循环,int n=100,sum=0; do sum+=n; n-; while (n0);,命令格式与执行过程自己总结!,循环与数组,编程计算某年某月某日是该年的第多少天。 for(int i=1;imonth;i+) totalDay+=monthDayi; 公历闰年判定遵循的规律为:四年一闰,百年不闰,四百年再闰.,/computeDay.java,int year,month,day,totalDay=0; String strYear,strMonth,strDay; int monthDay=0,31,28,31,30,31,30,31,31,30,31,30

19、,31; strYear= JOptionPane.showInputDialog(请输入年:); year=Integer.parseInt(strYear); strMonth= JOptionPane.showInputDialog(请输入月:); month=Integer.parseInt(strMonth); strDay= JOptionPane.showInputDialog(请输入日:); day=Integer.parseInt(strDay); for(int i=1;imonth;i+) totalDay+=monthDayi; totalDay+=day; if(ye

20、ar%4=0,computeDay.java,break、continue与return,break 结束本层结构 continue 结束本次循环 return 为有返回值类型的函数返回返回值,循环的嵌套,for(;) for (;) ,循环的嵌套,outterLoop: while() innerLoop: do ; break outterLoop; ; while(); ,循环的嵌套,do for (;) while();,+k执行了多少次?,int i,j,k=0;,for(i=1;i=10;i=i+2) for(j=1;j=100;j+) System.out.println(+k)

21、;,for(i=1;i=10;i+) for(j=1;j=100;j+) System.out.println(+k);,for(i=1;i=10;i=i+2) for(j=1;j=100;j+) if(j%3=0) System.out.println(+k); continue; ,例题:素数问题,import javax.swing.*; public class suShu static boolean isSushu(int var) for (int i=2;i=var/2;i+) if(var%i=0) return false; return true; public stat

22、ic void main(String args) String var=JOptionPane.showInputDialog(null,输入一个数:); int varInt=Integer.parseInt(var); if (isSushu(varInt) JOptionPane.showMessageDialog(null,varInt+是素数。); else JOptionPane.showMessageDialog(null,varInt+不是素数。); ,函数(方法),函数(方法)是能够完成一定功能的语句集合 Java程序中的函数包括main()函数、构造函 数、成员函数 函数的结构: 修饰符 函数名(参数列表) 由语句构成的函数体,例题排序问题,public void bubbleSort(int data) for(int i=0;ii;j-) if(datajdataj-1) int temp=dataj; dataj=dataj-1; dataj-1=temp; /IntSort.java testSort.java,一个概念-“算法”,算法(Algorithm)是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。 在计算机科学中,算法要用计算机语言描述,算法代表用计算机解一类问题的精确、有效的方法。 程序执行是没有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论