260 likes | 435 Views
java 程序设计. vicky. 教学目的. 理解计算机、计算机语言、人之间的关系 理解高级程序设计语言在信息系统建立和应用中的作用,角色。 理解高级语言是一种形式语言,及形式语言的特点。 理解算法和算法描述工具,明确计算机程序是算法的程序语言描述结果。 理解程序的基本构成 能够用一种高级语言熟练地编写,并编译运行程序。. 计算机语言. 计算机语言是人和计算机之间的接口 计算机语言的分类: 交互式语言 程序设计语言 机器语言(计算机可以执行的语言) 汇编语言(需要简单翻译程序) 高级语言(需要复杂翻译程序)
E N D
java程序设计 vicky
教学目的 理解计算机、计算机语言、人之间的关系 理解高级程序设计语言在信息系统建立和应用中的作用,角色。 理解高级语言是一种形式语言,及形式语言的特点。 理解算法和算法描述工具,明确计算机程序是算法的程序语言描述结果。 理解程序的基本构成 能够用一种高级语言熟练地编写,并编译运行程序。
计算机语言 计算机语言是人和计算机之间的接口 计算机语言的分类: 交互式语言 程序设计语言 机器语言(计算机可以执行的语言) 汇编语言(需要简单翻译程序) 高级语言(需要复杂翻译程序) JAVA 、C、 C++ 、VB、 COBOL等等 翻译方式:编译和解释 高级程序设计语言是程序设计语言中最容易被用户学习和使用的一种语言类型
程序 DB OS DBMS 数据 SQL 数据 SQL 计算机语言在信息系统中的作用
计算思维 “计算思维”就是站在计算机的角度设计解决人类面临的各种问题的方法和步骤。 用计算机思维解决问题和用人脑解决问题有什么区别吗? 例如:1+5+7+13+19+15=?
“计算思维”为什么很重要? 计算机工程师一定是具备“计算思维”能力的,但如果他没有领域知识,则可能连需要解决的问题是什么都不知道。 领域专家对问题的认识一定是很清楚、本质、深刻的,但领域专家如果不具备基本的“计算思维”能力,他可能连这个问题是不是可以交给计算机去解都想不清楚。 如果这样的话,该领域的信息化程度就会受到极大地影响。这是我们大家都不愿意看到的事情。 让工程师具备一定的领域知识,让领域专家具有一定的“计算思维”能力,这是世界的潮流。
算法 基于计算思维设计出来的解决问题的方法和步骤就是“计算机算法”,简称:“算法”。 “算法”可以用“自然语言”来描述。 “算法”可以用一些专门化的“工具”来描述。 “算法”还可以用计算机语言来描述。 用程序设计语言描述出“算法” 就是“程序” 1+5+7+13+19+15=?的算法用自然语言如何描述?
高级程序设计语言的特点 高级语言是一种形式化的语言(一点都不能错) 高级语言结构性很强(框架很固定) 高级语言种类很多(各有各的特点) 不同种类的高级语言在很多方面都长得很像(很容易学习第二种) 高级语言很容易学习(比较接近英文文法) 高级语言特别适合边学边用(知道一点点就可以应用)
程序的基本功能 定义数据结构框架,用以保存原始数据、中间结果、最终数据。(主要是指定义:常量、变量、数据类型、数组等) 数据输入并保存到数据结构框架中。(可以通过:键盘、扫描仪、文件、数据库、网络等输入数据) 进行数据处理(简单可以是算1+2=?,复杂可以比计算圆周率到小数点后10000位还要复杂1000倍。) 输出结果数据(可以以字符、图形、图表等形式输出到屏幕、数据库、文件、打印机等)
高级程序语言java程序实例 class example { public static void main(String[] args) { System.out.println("欢迎加入Java世界!这是我编写的第一个Java程序。"); } }
JAVA的开发平台种类 • Java 2 Platform, Standard Edition (J2SE)—适用于编写一般PC及Workstration(工作站) 应用程序。 • Java 2 Platform, Enterprise Edition (J2EE)—是以企业及企业间的应用为导向的JAVA平台环境。是以网络为中心的分布式系統的最佳平台。 • Java 2 Platform, Micro Edition (J2ME)—是专门编写消费类电子产品程序的Java开发套件。
安装SUN公司的SDK • 学习Java从J2SE开始 • 可以登录到Sun公司的网站:http://java.sun.com,免费下载SDK • 安装SDK,设置环境变量Path、Classpath JDK
编写与运行Java程序 • 编辑程序 文本编辑器, JCreator,Eclipse,… • 编译程序 javac • 运行程序java • 结果分析
简单程序 注释 /** *该类用于在屏幕上显示消息 * 注意:源程序文件必须以.JAVA为后缀,文件名必须要和类名一致 * 空格和标点必须是英文半角 * 大小写字符敏感 */ class hello{ public static void main(String[] args) { /* 这是主程序入口*/ System.out.println(“欢迎登录系统"); //输出信息 } } 类名字 方法 方法体 语句
注意事项 • 一个主程序有且只能有一个Main()方法 • 源程序命名 • Java 大小写敏感 • 必要的注释
一个程序的实例( 1+5+7+13+19+15=? ) class A0101 { public static void main(String[] args) { System.out.print("1+5+7+13+19+15= "); System.out.println(1+5+7+13+19+15); } }
一个程序的实例( 1+5+7+13+19+15=? ) class a0102 { public static void main(String[] args) { int a,b,c,d,e,f; int sum; a=1;b=5;c=7;d=13;e=19;f=15; sum=a+b+c+d+e+f; System.out.print(a+"+"+b+"+"+c+"+"+d+"+"+e+"+"+f+"="); System.out.println(sum); } }
一个程序的实例 import java.util.Scanner; class A0103 { public static void main(String[] args) { int a,b,c,d,e,f; int sum; Scanner scanner=new Scanner(System.in); a=scanner.nextInt(); b=scanner.nextInt(); c=scanner.nextInt(); d=scanner.nextInt(); e=scanner.nextInt(); f=scanner.nextInt(); sum=a+b+c+d+e+f; System.out.print(a+"+"+b+"+"+c+"+"+d+"+"+e+"+"+f+"="); System.out.println(sum); } }
一个程序的实例(用户界面很重要) import java.util.Scanner; class A0103 { public static void main(String[] args) { int a,b,c,d,e,f; int sum; System.out.println("请从键盘上输入六个整数,两个数之间用空格 隔开,以回车键结束。"); Scanner scanner=new Scanner(System.in); a=scanner.nextInt(); b=scanner.nextInt(); c=scanner.nextInt(); d=scanner.nextInt(); e=scanner.nextInt(); f=scanner.nextInt(); sum=a+b+c+d+e+f; System.out.print(a+"+"+b+"+"+c+"+"+d+"+"+e+"+"+f+"="); System.out.println(sum); } }
数据类型转换 import java.util.Scanner; import java.lang.Math.*; class datatype { public static void main(String[] args) { int a,b,c,d,e,f; int avgi; float avgf,sqrtf; System.out.println("请从键盘上输入六个整数,两个数之间用空格隔开,以回车键结束。"); Scanner scanner=new Scanner(System.in); a=scanner.nextInt(); b=scanner.nextInt(); c=scanner.nextInt(); d=scanner.nextInt(); e=scanner.nextInt(); f=scanner.nextInt(); avgi=(a+b+c+d+e+f)/6; avgf=(a+b+c+d+e+f)/6f; sqrtf=(float) Math.sqrt(avgf); System.out.println(“整数均值=“+avgi+” 小数均值=“+avgf+” 均值方根=“+sqrtf); } }
程序实例(用户登录) import java.util.*; public class login { public static void main(String[] args) { String userName; Scanner scanner=new Scanner(System.in); boolean flag=false; final String university="西南财经大学"; System.out.println("请输入用户名:"); userName=scanner.next(); if(userName.equals("vicky")) { System.out.println("欢迎您,来自"+university+"的"+userName); flag=true; } else {System.out.println(university+"无此用户!"); } } }
解一元二次方程 ax2+bx+c=0 当a=0, 只有一个解 当b2-4ac>0,有两个解 当b2-4ac<0,没有解 当b2-4ac=0,只有一个解
程序(解一元二次方程) import java.util.Scanner; import java.lang.Math.*; public class A0104 {public static void main(String[] args) {float a=0;float b=0;float c=0;float d=0;float x1=0;float x2=0; System.out.println("请输入一元二次方程的三个系数,数与数之间用空格分隔。"); Scanner scanner=new Scanner(System.in); a=scanner.nextFloat();b=scanner.nextFloat();c=scanner.nextFloat(); d=b*b-4*a*c; if (d>0) {x1=(float)(-b+Math.sqrt(d))/(2*a);x2=(float)(-b-Math.sqrt(d))/(2*a); System.out.println("X1=["+x1+"] X2=["+x2+"]");} else {if (d==0) {x1=(float)(-b)/(2*a); System.out.println("x1=x2="+x1);} else {System.out.println("此方程在实数范围内无解!");}}}}
基础知识总结 • 数据类型 boolean,int,float,double,char,String • 变量 先声明,后使用 自动类型转换与强制类型转换 • 常数与常量 • 常数,例如2,”西南财经大学”,3.14f,3.1415 • 常量,final
条件语句 If(逻辑条件){ … } If(逻辑条件){…} else {…} 比较运算符:<,>,<=,<= ,== , != 逻辑运算符: &&,||,!
作业 阅读教材指定内容 调试运行案例程序 编写解决特定任务的小程序