Java语言基础最新课件

上传人:hs****ma 文档编号:592690327 上传时间:2024-09-22 格式:PPT 页数:43 大小:366.50KB
返回 下载 相关 举报
Java语言基础最新课件_第1页
第1页 / 共43页
Java语言基础最新课件_第2页
第2页 / 共43页
Java语言基础最新课件_第3页
第3页 / 共43页
Java语言基础最新课件_第4页
第4页 / 共43页
Java语言基础最新课件_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《Java语言基础最新课件》由会员分享,可在线阅读,更多相关《Java语言基础最新课件(43页珍藏版)》请在金锄头文库上搜索。

1、Java程序设计1.2 Java语言基础主讲教师:董婷Java语言基础 最新一、知识能力目标一、知识能力目标1了解向量概念及使用方法;2熟悉Java语言基本成分(数据类型、常量、变量和表达式);3掌握包的创建和引入;4灵活运用三种流程控制结构;5掌握嵌套和递归的实现;6熟悉字符串的处理;7运用流程控制结构编写简单Java程序。Java语言基础 最新二、二、项目项目2 判断一个数是否为回文数程序判断一个数是否为回文数程序 用户从键盘输入一个1至99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到数和原数相同 Java语言基础 最新1.程

2、序代码程序代码 /Number.javaimport javax.swing.JOptionPane;public class Number public Number() public static void main(String args) int number=0,d1,d2,d3,d4,d5; String str=JOptionPane.showInputDialog(请输入一个1至99999之间的数:);/弹出一个输入框 number=Integer.parseInt(str);/将字符型数据转换成整型数据 if(number=1 & number=99999)/判断number

3、在1至99999之间 d5=number/10000;/计算number的万位上数 d4=number%10000/1000;/计算number的千位上数 d3=number%1000/100;/计算number的千位上数 d2=number%100/10; d1=number%10; Java语言基础 最新 if(d5!=0) /判断number是5位数的条件 System.out.println(number+是5位数); if(d5=d1&d4=d2) System.out.println(number+是回文数); else System.out.println(number+不是回文

4、数); else if(d4!=0) /判断number是4位数的条件 System.out.println(number+是4位数); if(d4=d1&d3=d2) System.out.println(number+是回文数); else System.out.println(number+不是回文数); else if(d3!=0) /判断number是3位数的条件 System.out.println(number+是3位数);Java语言基础 最新if(d3=d1) System.out.println(number+是回文数); else System.out.println(n

5、umber+不是回文数); else if(d2!=0) /判断number是2位数的条件 System.out.println(number+是2位数); if(d2=d1) System.out.println(number+是回文数); else System.out.println(number+不是回文数); else if(d1!=0) /判断number是1位数的条件 System.out.println(number+是1位数); System.out.println(number+是回文数); Java语言基础 最新2.相关知识相关知识分隔符分隔符注释非执行语句提高程序的可读

6、性Java程序有两类注释:实现注释(implementation comments):注释代码或者实现细节行注释:/注释内容多行注释:/* 注释内容 */文档注释(document comments):描述Java的类、接口、构造器,方法,以及字段(field) /*注释内容 */ 一个注释对应一个类、接口或成员 Java语言基础 最新空白符空格符、回车符、换行符和制表符等多个空白符与一个空白符的作用相同普通分隔符:具有确定的语法含义花括号“”,用于复合语句和数组的初始化以及定义类、方法等;分号“;”,用于语句结束;逗号“,”,用于在变量说明时分隔各个变量和方法中各个参数;冒号“:”,用于分隔

7、标号和语句。Java语言基础 最新关键字和标识符关键字和标识符abstractbooleanbreakbytecasecatchcharclassconst *continuedefaultdodoubleelseextendsfalsefinalfinallyfloatforgoto *ifimplementsimportinstanceofintinterfacelongnativenewnullpackageprivateprotectedpublicreturnshortstaticsuperswitchsynchronizedthisthrowthrowstransient true

8、tryvoidvolatilewhile关键字:又称保留字,是Java语言本身使用的标识符,有特定的语法含义 Java语言基础 最新关键字和标识符关键字和标识符标识符以字母、下划线“_”、美元符“$”开始后面跟字母、下划线、美元符和数字区分大小写 关键字不能用来做标识符,见名知意约定类名Student StringBuffer URL方法名getStudentName( )Java语言基础 最新数据类型数据类型简单数据类型整数类型:byte,short,int,long实数类型:float,double字符类型:char布尔类型:boolean复合数据类型包括:数组类:class接口:inte

9、rface精度越精度越来越高来越高Java语言基础 最新运算符和表达式运算符和表达式运算符 算术运算符:+ - + - * / % 关系运算符: = = != 逻辑运算符:! & | 位运算符: & | 赋值运算符:= += -= *= /= %= &= |= = = = 条件运算符:?: 分量运算符: . 下标运算符: 实例运算符: instanceof 方法调用运算符: () 内存分配运算符: new 强制类型运算符:(类型) Java语言基础 最新运算符和表达式运算符和表达式表达式由操作数和运算符按一定的语法形式组成的符号序列。表达式的值:运算后产生的确定的值。表达式的类型:表达式的值的

10、类型。常量或变量是最简单的表达式,其值即该常量或变量的值。表达式的运算按照运算符的优先级顺序从高到低进行。不同的类型的数据进行混合运算时:Java会将不同的类型的数据转换成相同的类型,再进行运算 Java语言基础 最新运算符和表达式运算符和表达式自动类型转换自动类型转换 强制类型转换强制类型转换 占用内存较少占用内存较少 短数据类型短数据类型 (低精度)(低精度)占用内存较多占用内存较多 长数据类型长数据类型 (高精度)(高精度)int i=10;char j=(char)i;int i=10;long j=10,k=i+j;JavaJava的方法的方法 Java语言基础 最新运算符和表达式运

11、算符和表达式数字转换成字符串 Double.toString(double)Float.toString(Float) Long.toString(Long) Integer.toString(Integer) Short.toString(Short) Byte.toString(Byte)n字符转换成数字Double.parseDouble(string) Float.parseFloat(string) Long.parseLong(string) Integer.parseInteger(string) Short.parseShort(string) Byte.parseByte(s

12、tring) Java语言基础 最新语句语句方法调用语句 表达式 a=b+c;复合语句:用括起来的多条语句 if(ab) a=1;b=0;流程控制语句:选择结构语句和循环控制结构语句 package语句和import语句 package声明包语句必须作为Java中的第一条可执行语句package 包名;如果源程序中省略了package语句,源程序所定义命名的类被隐含地认为是无名包的一部分,即源程序中定义命名的类在同一包中 Java包是由.class文件组成的一个集合 Java语言基础 最新import语句引入包实现了在编译单元中使用外部类和接口的机制import语句只指明要用到的类所在的位置,

13、以便能在用到时可以加载必须写在package语句和源程序其它语句之间Java包含了130多个包,如:java.lang:Java语言核心包,包含所有的基本语言类,这个包由编译器自动引入。java.applet:包含所有实现小程序的类。java.awt:包含抽象窗口工具集中的图形、文本、窗口GUI类。java.io:包含所有的输入输出类。:包含所有实现网络功能的类。java.util:包含有用的数据类型类。Java语言基础 最新选择控制语句选择控制语句(1)if-else语句 if(条件表达式) 语句组1; else 语句组2; (2)switch语句nswitch(表达式)case 值1:语句

14、1; break;case 值2:语句2;break;case 值n:语句n;break;default:语句;Java语言基础 最新Switch语句switch提供了一个多路分支是一个特殊的if- -else if结构只允许比较一个元素switch中表达式类型只能是:char,byte,int,shortcase后面的值应该是常量,各case子句中的值应是不相同的。每一个case结尾的break:使解释器退出switch语句体如果没有break语句,switch语句会从表达式求出的值相同的case标签开始执行,直到switch语句体结束为止一般使用break语句,但return与throw也

15、有相同的功能。选择控制语句选择控制语句Java语言基础 最新三、求素数 本案例功能输入两个整数,求这两个整数之间的素数。 Java语言基础 最新1.程序代码程序代码 /GetPrime.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;public class GetPrime extends JFrame implements ActionListenerint min,max;JTextField t1=new JTextField(8);JTextField t2=new JTextField(8);JB

16、utton b1=new JButton(确定);public GetPrime()Container contentPane=getContentPane(); contentPane.setLayout(new FlowLayout();contentPane.add(t1);contentPane.add(t2);contentPane.add(b1); b1.addActionListener(this);/注册监听器对象Java语言基础 最新setTitle(求素数);setSize(300,200);setVisible(true); public void actionPerfo

17、rmed(ActionEvent e) if(e.getSource()=b1)/单击确定按钮时求素数 int i,j,k=1; min=Integer.parseInt(t1.getText(); max=Integer.parseInt(t2.getText(); for(i=min;i=max;i+) for(j=2;j=i-1;j+) if(i%j=0) break; if(i=j) if(k+%4!=0)/每行输出4个 System.out.print( +i); else System.out.println( +i); Java语言基础 最新 public static void

18、 main(String args) GetPrime prime=new GetPrime(); prime.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0);/退出应用程序 ); Java语言基础 最新2.2.相关知识相关知识循环控制语句循环控制语句 for语句for(表达式1;表达式2;表达式3) 循环体 先执行表达式1进行初始化操作,然后计算机表达式2的值,表达式2的值必须是逻辑值,为真执行循环体,再计算表达式3的值,然后再判断表达式2的值,如此循环

19、反复,直至表达式2的值为假跳出循环。表达式1、表达式2和表达式3都可以省略,但里面的两个分号不能省略。for语句一般用于循环次数确定的情况。Java语言基础 最新循环控制语句循环控制语句while语句while(条件表达式) 循环体 先判断条件是否为真,如果为真就进入循环,如果为假可能一次循环也不执行 do-while语句 do 循环体 while(条件表达式);先执行循环体语句再进行判断,所以至少要执行一次循环Java语言基础 最新breakbreak、continuecontinue和和returnreturnbreak语句可用于switch多路分支语句和循环语句中,其作用是跳出switc

20、h或强行结束循环。continue语句只能用于循环语句中,其作用是结束本轮循环开始下一轮循环。return语句:return 表达式;return结束方法的调用,并返回一个确定的值在一个方法中可以有多个return语句,但每次调用只可能有一个return语句被执行。Java语言基础 最新嵌套调用:在一个方法的调用中,该方法的实现部分又调用了另外的方法。递归调用:在一个方法中如果有调用该方法自身的情况时称为递归调用。将一个复杂的问题化简成解决方法相同但稍微简单的问题,即所谓“递”。问题化到最简时,再逆向回代,求出结果,即所谓“归”。递归设计两个要素:1确定递归步骤,将要求解的原问题分解为一个或多

21、个与原问题性质相同但规模较小解决方法与原问题相同的子问题,使子问题越来越简单,越来越接近终止条件,以保证经过有限次递归步骤后子问题能达到递归出口。2确定递归出口,找出一个或多个无须分须再分解、可直接示解的最小子问题(递归终止条件)。应用拓展应用拓展Java语言基础 最新n!n!=(n-1)!*n(n-1)!=(n-2)!*(n-1)4!=3!*43!=2!*32!=1!*21!=1递归将复杂问题化简成解决方法相同但稍微简单的问题问题化到最简时,逆向回代,求出结果一个或多个无须分须再分解、可直接示解的最小子问题递归出口递归终止条件if(n=0|n=1) return 1;else return

22、fact(n-1)*n;(递归终止条件)递归终值递归形式递归举例:求n!Java语言基础 最新四、项目4 随机生成学生数据并显示最低分学生信息 在随机生成的20个学生数据中,显示入学成绩分数最低的学生学号及成绩。 Java语言基础 最新1.程序代码程序代码 / StudentArray.javaimport java.io.*;import java.util.*;public class StudentArray public StudentArray() public static void main(String args) Student min=null;/入学成绩最小的学生 Stu

23、dent stu; stu=new Student20;/创建学生数组对象System.out.println(学号+t+入学成绩);/显示表头 for(int i=0;istu.length;i+) stui=new Student(); stui.setId(s07+ (1000+i);/设置新生的学号,其编号从s071000开始 stui.setScore(int)(Math.random()*750);/新生入学成绩其范围从0到750之间 System.out.println(stui.getId()+t+stui.getScore(); Java语言基础 最新 min=stu0; f

24、or(int i=0;istui.getScore() min=stui; System.out.println(入学成绩最低的学生的学号是:+min.getId()+ 成绩为:+min.getScore(); class Studentprivate String name;/学生姓名private String id;/学生学号private int score;public String getName()/获取学生姓名return name;public void setName(String name)/设置学生姓名this.name=name; Java语言基础 最新public

25、String getId()/获取学生学号return id;public void setId(String id)/设置学生学号this.id=id;public int getScore()/获取学生成绩return score;public void setScore(int score)/设置学生成绩this.score=score; Java语言基础 最新2.2.相关知识相关知识数组定义与使用数组定义与使用数组是Java语言中的一种复合数据类型是通过下标定位的同类型数据的集合一个数组中每个元素的数据类型相同基本类型对象类型数组类型数组要经过声明、分配内存及赋值后才能使用 Java语

26、言基础 最新(1) 数组声明语法:数组元素类型 数组名;数组元素类型 数组名;数组元素类型 数组名;数组元素类型 数组名;(2) 数组分配内存数组名=new 数组元素类型数组元素个数;(3)数组元素初始化数组元素的类型是基本类型:可略数组元素的类型是对象类型:必须调用类的构造方法来初始化 (4)数组元素的引用:下标下标从0开始,一个长度为n的数组,其下标范围是0n-1下标必须是整形的值,短整型、字节型和字符型的值也可以作为数组的下标越界检查 int score ;char a ; score=new int2;a=new char23;score =1,2;a =1,2,3,4,5,6;Jav

27、a语言基础 最新MathMath类类Math类是一个最终类,它包含了常用的科学计算方法,这些方法都是静态方法(类方法),可以通过类名直接调用。static final double cos(double a):余弦函数static final double sin(double a):正弦函数static final double exp(double a):以e为底的指数static final double log(double a):以e为底的对数函数static final double sqrt(double a):平方根函数static final double random():

28、随机函数,返回0.0至1.0之间的值Java语言基础 最新五、项目5 约瑟夫环问题(josephus) Josephus问题是建立在历史学家Josephus的一个报告的基础之上,该报告讲述了他和40个士兵在公元67年被罗马军队包围期间签定的一个自杀协定,Josephus建议每个人杀死他的邻居,他很聪明的使自己成为这些人中的最后一个,因此获得生还。 Java语言基础 最新123MM-1s每隔N个出列每隔N个出列如此循环,直到最后剩下1个大王项目5 约瑟夫问题图解有M个猴子围成一圈,每个有一个编号,编号从1到M。打算从中选出一个大王。经过协商,决定选大王的规则如下:从第S个猴子开始,每隔N个,数到

29、的猴子出圈,最后剩下来的就是大王。 Java语言基础 最新2.2.相关问题相关问题StringString类类String类用于表示Java中的字符串常量字符串一旦被创建,其值就不能再被改变用双引号引起来的一系列字符 构造方法常用的有:String ():新建一个空字符串对象,字符串长度为0。String (String original):用一个已经存在的字符串常量创建一个新String对象,该对象内容与给出的字符串一致。String (char value):用指定字符数组value来创建一个字符串对象,字符串对象中的内容为字符数组中的内容。String (StringBuffer buf

30、fer):利用一个已经存在的StringBuffer对象来创建一个新的String对象。Java语言基础 最新 访问字符串方法int length():获得当前字符串中的字符个数。char charAt(int index):获取字符串指定index位置上的字符。String substring(int beginIndex):获得从指定处开始到最后的子串。String substring(int beginIndex,int endIndex):获得指定范围内的子串。void getChars(int srcBegin,int srcEnd,char dst,int dstBegin):将一

31、个字符串从srcBegin到srcEnd位置子串复制到数组dst中。int indexOf(int ch):查找给定的字符ch在字符串中第一次出现的位置。如果找不到返回-1。int lastindexOf(int ch):查找给定的字符ch在字符串中最后一次出现的位置。如果找不到返回-1。int indexOf(String str):查找给定的字符串str在字符串中第一次出现的位置。如果找不到返回-1。int lastindexOf(String str):查找给定的字符串str在字符串中最后一次出现的位置。如果找不到返回-1。Java语言基础 最新StringString类类修改字符串方法

32、String contact(String str):将当前字符串对象与给定的字符串str连接起来。String replace(char oldChar,char newChar):把字符串出现的所有oldChar字符全部用newChar替换。String toUpperCase():将字符串内的所有字符改为大写。String toLowerCase():将字符串内的所有字符改为小写。Java语言基础 最新其它方法boolean equals(String s):将当前字符串与指定的s进行比较,如果长度和内容完全一致就返回true,否则返回false。boolean equalsIgnore

33、Case(String s):将当前字符串与指定的s忽略大小写比较。int compareTO(String str):将当前字符串与指定的str按字典顺序比较大小,相等返回0,如果该字符串按字典顺序小于参数字符串把返回值小于0,否则大于0。int compareTOIgnoreCase (String str):将当前字符串与指定的str按字典顺序忽略大小写进行比较。与运算符与运算符“=”的比较不同的比较不同“=”比较两个对象是否引用同一个实比较两个对象是否引用同一个实例例equals()和和equalsIgnoreCase()比较两个字比较两个字符串对应的每个字符值是否相同符串对应的每个字

34、符值是否相同 StringString类类Java语言基础 最新StringBufferStringBuffer类类(1)构造方法StringBuffer():创建一个不包含字符且初始容量为16个字符的StringBuffer对象。StringBuffer(int capacity):创建一个不包含字符且初始容量为capacity的StringBuffer对象。StringBuffer(String str):创建一个StringBuffer对象,该对象包含str字符串。Java语言基础 最新(2)访问字符串方法int length():返回StringBuffer对象当前的字符个数。int

35、capacity():不需要另外分配内存的情况下,StringBuffer对象可以存储的字符个数。void ensureCapacity(int minCapacity):允许指定StringBuffer对象的最小容量。void setLength(int newLength):允许指定StringBuffer对象可以增加或减少的容量。char charAt(int index):返回StringBuffer对象中指定位置index上的字符。(3)修改字符串方法void setCharAt(int index,char ch):将StringBuffer对象中指定位置index上的字符设置为ch。stringBuffer append(String str):在已有字符串末尾添加字符串str。stringBuffer insert(int offset,String str):在指定位置处插入str。 Java语言基础 最新

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号