下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
javaSEJava语言概述Java语言概述Java是SUN公司(斯坦福大学网络公司)1995年推出的一门高级编程语言是一种面向Internet的编程语言,随着Java技术在Web方面的不断成熟,已经成为Web应用程序的首选开发语言是简单易学、完全面向对象、安全可靠,与平台无关的编程语言Java包括Java语言和Java平台2009年SUN公司被Oracle公司收购Java技术的三个版本Java技术分为三个版本
-
JavaSE(JavaPlatformStandardEdition,标准版)用来开发桌面应用、C/S结构网络应该,是JavaEE的基础,是Java技术体系的核心。是本门课程的内容。
-
JavaEE(JavaPlatform,EnterpriseEdition,企业版)用来开发企业环境下的应用程序,通常来说,JavaEE包含JSP、Servlet、JDBC、XML等13种技术。Java课程体系中,后续会重点学习这部分内容。
-JavaME(JavaPlatformMicroEdition,微型版)用于小规模的嵌入式开发,适合手机等嵌入式设备。课程体系中不涉及此版本。Java语言的特点跨平台解释执行面向对象(应逐步建立面向对象的编程思想)自动垃圾回收鲁棒支持多线程编程简单性Java语言特点跨平台(可移植、一次编写,处处运行)简言之,跨平台的含义是使用Java语言开发应用,不需要为不同的平台开发不同的程序,而是只开发一套应用,就可以运行在不同的平台上。Java语言的特点Java语言特点解释执行解释执行的含义是,Java程序编译之后,只是生成了class文件,称为字节码,并不是机器码。在执行时,JVM中的解释器,会根据当前平台的特征,对class文件进行解释,生成符合当前规范的机器码,得以运行。Java语言的特点Java语言特点面向对象的语言Java语言是一门面向对象语言,具备面向对象语言三大特征:封装、继承、多态。Java语言的特点Java语言特点自动垃圾回收程序员无权回收内存。系统级线程跟踪每一个存储空间的分配情况,在JVM空闲周期,垃圾收集线程检查,释放内存。Java语言的特点Java语言特点鲁棒鲁棒即健壮的意思,Java语言从编译到运行期,都有很多机制,以保证其程序的鲁棒性,如异常处理机制,也是保证鲁棒性的重要手段。Java语言的特点Java语言特点支持多线程编程支持多线程编程是很多编程语言能够实现的功能,Java也不例外。Java语言的特点Java语言特点学习Java编程相对容易Java语言取消了很多容易混淆的概念,比如多继承、goto语句等。Java语言的特点环境搭建JavaSE开发工具包:JDK7官方下载:直接默认安装即可。集成开发环境:Eclipse官方下载:直接解压即可使用。JDK简介JDK简介JDK(JavaDevelopmentKit):给Java开发人员使用的工具包,包括Java的开发工具,也包括JRE。其中开发工具中包括编译工具(javac.exe)、运行工具(java.exe)、打包工具(jar.exe)等。JRE(JavaRuntimeEnviroment):Java的运行环境,包括Java虚拟机和Java程序运行所需的核心类库。两者之间的关系JDK=JRE+开发工具JRE=JVM+核心类库
JDK的配置(
配置JAVA_HOME及path)检测环境变量是否配置成功:javac(JavaCompiler(Java编译器)的缩写)检测java版本,在命令窗口中输入java-versionJDK配置JAVA_HOME=C:\ProgramFiles\Java\jdk1.7.0_02
path=C:\ProgramFiles\Java\jdk1.7.0_02\bin银行1、带上存折/银行卡去银行3、将存折或储蓄卡递给银行职员并告知取款数额2、取号排队5、银行职员办理取款事宜生活中的程序6、拿到钱并离开银行4、输入密码计算机中的程序什么是指令?1、做口述笔记……2、键入信函的内容……3、发送传真……1、口述2、信函System.out.println("口述");System.out.println("信函");System.out.println("传真");指令被逐条执行程序员老板秘书程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合要执行的一组指令程序3、传真使用Eclipse开发Java工程创建工作空间,即workspace;选择适合的Perspective,如JavaPerspective;创建JavaProject;在src目录下创建JavaClass;运行有main方法的Java类,在Console视图中查看结果。命名规范1、字母2、下划线‘_’3、‘$’
符号首字母任意多的:1、数字2、字母3、下划线‘_’4、‘$’符号其余部分Java语言中,命名要符合一定规则money,score,name,sex变量命名规范:简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的首字母大写。例如:myScoreJava程序框架publicclassHelloAccp{publicstaticvoidmain(String[]args){
…这里填写代码!...}}外层框架Java入口程序框架填写代码第一个Java类(HelloWorld.java)
使用javacHelloWorld.java进行编译使用javaHelloWorld进行运行第一个Java类publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println(“helloworld!");}}第一个Java类(HelloWorld.java)使用Eclipse创建、编译、运行
程序运行都从main方法开始运行,main方法必须遵守规范:staticvoidmain,参数必须是String[],否则运行时出现“没有main方法”错误
第一个Java类publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println(“helloworld!");}}练习控制台输出以下信息:*********************************************
欢迎进入Java编程世界*********************************************publicclasshelloWord{publicstaticvoidmain(String[]args){//输出消息到控制台
System.out.println("你好!ACCP5.0");}}常见错误5-1注意类名命名规范!演示示例:程序排错技巧命名规范publicclassHelloWord{publicstaticmain(String[]args){//输出消息到控制台
System.out.println("你好!");}}常见错误5-2main方法作为程序入口,void必不可少!voidpublicclassHelloWord{publicstaticvoidmain(String[]args){//输出消息到控制台
system.out.println("你好!ACCP5.0");}}常见错误5-3编译出错,无法解析system!Java对大小写敏感!代码错误publicclassHelloWord{publicstaticvoidmain(String[]args){//输出消息到控制台
System.out.println("你好!")}}常见错误5-4每一条Java语句必须以分号结束!;代码错误publicclassHelloWord{publicstaticvoidmain(String[]args){//输出消息到控制台
System.out.println("你好!);}}常见错误5-5注意:不要漏写引号!"总结Java的源文件均为.java文件一个Java文件中可以有多个类,但是通常建议为一个.java文件名必须与public类名同名,如果类不是public,文件名可以不与类同名,但是不建议如此一个Java类如果需要运行,必须有符合规范的main方法,即publicstaticvoid修饰的main方法,参数为String[]回顾内存如何存放数据电脑使用内存来记忆计算时所使用的数据内存如何存储数据?内存像旅馆数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空间1、开房间(单人间、双人间、总统套间)2、入住√变量1000*(1+5%)内存10001050变量:一个数据存储空间的表示对于专业程序员,数据存入内存不算完:怎么找到存入的数据?存进去还能改吗?98.76不同数据存入具有不同内存地址的空间,相互独立在银行存1000元钱,银行一年的利息5%,那一年之后钱变成了多少?为什么需要变量内存地址不好记,怎么办?通过内存中小房间的别名找到数据存储的位置变量是存储数据的一个基本单元房间
房间名字
房间类型
入住的客人变量
变量名
变量类型
变量值对应变量应用1、在内存中存储本金1000元2、显示内存中存储的数据的值publicclassHelloAccp1{publicstaticvoidmain(String[]args){
intmoney=1000;//存数据
}}
数据类型
变量名
内存空间存的数值System.out.println(money);//使用数据变量的声明和赋值使用变量的步骤:第一步:声明一个变量第二步:赋值第三步:使用变量数据类型变量名=数值;根据类型开辟空间将数据存入空间取出数据使用数据类型变量名;变量名=数值;intmoney=1000;intmoney;money=1000;变量名命名规则1、字母2、下划线‘_’3、‘$’
符号首字母任意多的:1、数字2、字母3、下划线‘_’4、‘$’符号其余部分变量名Java语言中,变量命名要符合一定规则money,score,name,sex变量命名规范:简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的首字母大写。例如:myScore注释Java注释//单行注释/*单、多行注释*//**文档注释*/
常见符号分号:在Java中,有一些字符被当作分隔符使用,最常用的分隔符是分号(;),用来分隔语句空白:在代码中遇到运算符时,例如=等,两端留出空格,增强代码可读性。代码行之间,可以根据逻辑关系加空白行,增强可读性花括号:用来包括自动初始化的数组的值用来定义程序块,类,方法以及局部范围基本数据类型8种基本数据类型数据类型位数取值范围说明byte(1字节)8-27~27-1
整数short(2字节)16-215~215-1
int(4字节)32-231~231-1
long(8字节)64-263~263-1
float(4字节)32略浮点数(小数)double(8字节)64略char(2字节)16‘\u0000’~‘\uFFFF’0~65535包括单个字符charsex='男';boolean1true/false布尔数据类型的使用输出Java课考试最高分:98.5输出最高分学员姓名:张三输出最高分学员性别:‘男’publicclassHelloAccp2{publicstaticvoidmain(String[]args){
doublescore=98.5;Stringname="张三";
charsex='男';System.out.println("本次考试成绩最高分:"+score);//输出其他……}}单引号双引号连接输出信息
演示示例:不同类型变量存取使用变量存储以下MP3信息,并打印输出品牌(brand):爱国者F928重量(weight):12.4电池类型(type):内置锂电池价格(price):499基本数据类型转换程序中经常会遇到要将数据类型进行转换的情况(如:在一个表达式中存在不同类型的操作数时),Java的数据类型转换比C控制得更为严格;数据类型转换有两种情况:自动类型转换强制类型转换自动类型转换自动类型转换也称作隐式类型转换;将一种类型的变量赋值给另一种类型的变量时,只要满足以下条件,就会发生自动类型转换两种类型之间相互兼容目标类型大于源类型(即类型提升)如:
charch='A'; intnum=ch; floatf=num; doubled=f; //类型转换自动发生,无需显式说明类型提升规则有类型提升的情况下,编译器将自动进行类型转换,否则就要进行强制类型转换;类型提升应遵循如下规则:两种类型必须兼容,且目标类型大于源类型,例如:
byte、char和short类型都可以提升为int型。对于表达式而言,其最终结果将会与表达式中最高的数据类型相同。byte<short(char)<int<long<float<double强制类型转换强制类型转换也称作显式类型转换;如果被转换的值的数据类型大于其目标类型,将会丢失部分信息;如:
intx=65;
charch=x;这样的语句将报错,因为char类型精度低于int类型,编译器无法将其自动转换,只能进行强制转换:
intx=65;
charch=(char)x;例子就是inta=130;byteb=(byte)a;b的值得运算//java采用补码存储整数,int型为32位,byte为8位//那么130在内存中的表示形式:00000000000000000000000010000010//这样截取后8位就变成10000010,补码表示的时候第一位是符号位,0正1负,//所以可以知道10000010肯定是一个负数了,再来看它的数值部分,//补码由正数变负数,还是正数变负,方法:“按位取反,再加1”,//所以0000010应该变为1111101+1=1111110(即126)//又因为是负数,所以就截取变成-126了
//我们再来看下-130的例子(符号位是1,其余按位取反+1)//-130在内存中的表示形式:11111111111111111111111101111110//这样截取后8位就变成01111110//显然这是整数啊,然后数值部分是126//64+32+16+8+4+2=126自动类型转换某班第一次Java考试平均分81.29,第二次比第一次多2分,计算第二次考试平均分?
doublefirstAvg=81.29;//第一次平均分
doublesecondAvg;//第二次平均分
intrise=2;secondAvg=firstAvg+rise;
System.out.println("第二次平均分是:"+secondAvg);在某种条件下,系统自动完成类型转换两种类型兼容例如:int和double兼容目标类型大于源类型例如:double型大于int型对于表达式如果一个操作数为double型,则整个表达式可提升为double型类型提升规则intbefore=20;//apple笔记本市场份额doublerise=9.8;//增长的份额intnow=before+rise;//现在的份额intnow=before+(int)rise;
去年Apple笔记本所占的市场份额是20,今年增长的市场份额是9.8,求今年所占的份额?编译出错:不能完成自动类型转换(类型名)表达式强制类型转换intb=(int)10.2;doublea=10;intc=(int)a;强制类型转换更改为
演示示例:强制类型转换强制类型转换完整代码演示intage=19;charsex=‘女’;
charresult=age+sex;
下面语句正确吗?inta=10;intb=10.2;doublec=10;c=a;intd=c;int不可以自动转换成chardouble不可以自动转化成int常见错误Java中的运算符按照功能分,Java中的运算符可以分为五类算术运算符比较运算符逻辑运算符赋值运算符位运算符算术运算符算术运算符单目:+(取正)-(取负)++(自增1)--(自减1)双目:+-*/%(取余)(+还可以连接字符串)三目:a>b?true:false说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。inta=4,b=5; intc;//四则运算符号的演示 c=a+b; System.out.println(c);//打印出加结果 c=a-b; System.out.println(c);//打印出减结果 c=a/b; System.out.println(c);//打印出除的结果 c=a%b; System.out.println(c);//打印出余数结果//三元运算符的使用 System.out.println(a>b?a:b);//打印出三元运算结果
inti=3;intsum=0;sum=(i++)+(i--)*(i++)+(++i)+(i++)-(--i)+(++i);System.out.println(sum);//打印出结果比较运算符比较运算符:==,<,>,<=,>=,!=除了==!=外,都只能比较基本数据类型注意:用来做比较运算比较后结果:boolean类型使用比较运算符可以比较高低、大小、长短大象的寿命<乌龟的寿命真张三的成绩>李四的成绩假令狐冲每次考试成绩>=90分真篮球的大小==地球的大小假由此看出inti=2; System.out.println(3>6);//>练习 System.out.println(3!=5);//练习!= System.out.println(3>=5);//练习>= System.out.println(i==6);//>练习== System.out.println(5>5);//练习>逻辑运算符逻辑运算符用于连接两个boolean类型的表达式&&(双与)、||(双或)、&(与)、|(或)、^(异或)、!(非运算)运算符表达式说明&&条件1&&
条件2仅仅两个条件同时为真,结果为真||条件1||条件2只要两个条件有一个为真,结果为真!!条件条件为真时,结果为假条件为假时,结果为真注意事项注意事项&&与&的运算结果是相同的,对于&而言无论左边为什么值,右边都参与运算;对于&&来说,只要左边为false右边就不再运算,直接返回false||与|的运算结果是相同的,对于|而言无论左边为什么值,右边都参与运算;对于||来说,只要左边为true右边就不再运算,直接返回true
&&和||可以理解为物理上的短路,实际中多用&&及||位运算符位运算符:(先转化成二进制再进行运算)与(&)、非(~)、或(|)、异或(^)移位运算符:<<、>>(有符号右移)
、>>>(无符号右移)左移1位相当于乘以2,右移1位相当于除以2,比乘除运算效率更高,忽略符号位,空位都以0补齐
inta=8,c;c=a>>2;原来:00001000移动后:00000010逻辑运算符有什么用? 用于连接两个boolean类型的表达式。
&:与,符号的运算特点: true&true=tr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年高考政治(课标版)仿真模拟卷及答案(共五套)
- 秋九级数学上册解直角三角形本章总结提升课
- 山东省泰安市肥城市2024-2025学年七年级上学期期中考试道德与法治试题(含答案)
- 社区垃圾分类计划
- 生物学项目学习计划
- 改进提案征集方案计划
- 促进学生自主学习的有效做法计划
- 优化财务流程提高资金使用效率计划
- 心衰患者的健康教育
- 放射科影像诊断质量提升计划
- 防渗漏、防裂缝施工技术交底.doc
- 城市地下管线普查与实施方案(完整版)
- 第三届全国“TRIZ”杯大学生创新方法大赛作品申报书
- 《一共有多少天》教学设计附反思[优制备课]
- 江苏建设工程施工项目部关键岗位人员变更申请表
- 诺贝尔奖获得者的教育背景统计分析及对我国研究生教育的启示
- 护理安全隐患及防范会议
- 天健军卫医院信息系统住院部分ppt课件
- 广西壮族自治区普通高级中学学籍管理规定.doc
- 变形观测记录表.doc
- 《与朱元思书》《与顾章书》阅读练习及答案
评论
0/150
提交评论