




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、java基础内容Java 出现的背景Java的特点与Java相关的重要概念JVMJREJDKJava开发环境的搭建关键字变量运算符循环语句 数组Java出现的背景B/S的快速发展Java简介Sun Microsystems 于1995年推出1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器1994年将Oak语言更名为JavaJava 既安全、可移植,又可跨平台,而且人们发现它能够解决Internet 上的大型应用问题Java简介Internet使Java成为网上最流行的编程语言 Java对Internet的
2、影响也意义深远 什么是Java开发语言开发环境应用环境部署环境Java特点简单 - Java 设计人员删除了C+ 中许多复杂的功能,如指针操纵和运算符重载等面向对象 - 在 Java 中任何东西都是对象。因此,重点集中在数据、应用程序中操作对象的方法以及过程上健壮性 - Java 在编译和解释时都会检查代码Java特点安全性 - Java 提供了用于执行程序的受控环境,以及多层次的安全控制分布式 - Java 可用于开发能够在多个平台、操作系统和图形用户界面之间移植的应用程序多线程 - Java 程序使用称为“多线程”的进程同时处理多项任务Java三种运行平台J2SE(java 2 Platf
3、orm Stand Edition)Java标准版或Java标准平台J2EE(Java 2 Platform Enterprise Edition)Java企业版或Java企业平台J2ME(Java 2 Platform Micro Edition)成为Java微型版或Java小型平台Java三种核心机制Java 虚拟机(Java Virtual Machine)跨平台垃圾收集机制(Garbage collection)系统自动执行,不能强制执行代码安全性检测(Code Security)Java跨平台原理Java 虚拟机在一台计算机上由软件或硬件模拟的计算机。Java编译器针对Java虚拟机
4、产生class文件,因此是独立于平台的。Java解释器负责将Java虚拟机的代码在特定的平台上运行。JREJREJava Runtime Environment (动态)Java运行环境的三项主要功能:加载代码:由class loader 完成;校验代码:由bytecode verifier 完成;执行代码:由 runtime interpreter完成JRE编译时.java(源代码).class(字节码)运行时解释器硬件网络字节码校验器类加载器JIT代码生成器JDK-运行环境安装及配置Java开发工具集JDK-Java Development Kits Java编译器Java运行时解释器Ja
5、va应用程序编程接口Java文档化化工具其它工具及资源安装JDK安装JDK环境变量Path -外部命令搜索路径;(例: %JAVA_HOME%bin)CLASSPATH -类资源位置搜索路径;(例: .;%JAVA_HOEM%lib)JAVA_HOME-JDK的安装路径(例: c:j2sdk1.4.2)JDK中已经包含JRE安装JDKJDK是有助于程序员开发Java程序的Java开发工具包 j2sdk1.4.2_02了解安装目录 :bin目录:存放可执行文件;lib目录:存放Java的类库文件;include目录:存放用于本地方法的文件; demo目录:存放演示程序;jre目录:存放Java运
6、行环境文件Java应用程序示例HelloWorld.java运行HelloWorld 编译Javac HelloWorld.java执行Java HelloWorldHelloWorld 应用程序讲解创建Java源程序Java源程序一般用java作为扩展名,是一个文本文 件,用Java语言写成,可以用任何文本编辑器创建 与编辑;编译源程序Java编译器,“javac”,读取Java源程序并翻译 成Java虚拟机能够明白的指令集合,以class作为 扩展名;运行class(字节码)文件Java解释器读取字节码,取出指令并且翻译成计算 机能执行的代码,完成运行过程;HelloWorld 应用程序讲
7、解类定义Java程序的基本组成部分是类(class),如本例中的HelloWorld类。/所有类名首字母大写。main()方法Java Application程序的入口是main()方法。它有固定的书写格式:public static void main(String args) 注释/ /*/ /* */javacjavac:用于编译Java 源代码的编译器语法:javac 选项 源文件 源文件以扩展名.java 结尾选项可以包括:-classpath-djar命令的使用 c 创建新的存档 v 生成详细输出到标准输出上 f 指定存档文件名 使用:jar cvf test.jar Test1.
8、classJar cvf test.jar . /当前文件夹下所有文件打包Java API文档JDK中主要的包介绍java.lang-包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。java.awt-包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面-包含执行与网络相关的操作的类。java.io-包含能提供多种输入/输出功能的类。java.util-包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。Java 编成语法基础标识符和关键字Ja
9、va数据类型变量声明和作用域运算符流程控制语句数组标识符Java语言中,为各种变量、方法和类等起的名字称为标识符.Java标识符的命名规则:应以字母、下划线、美元符开头后跟字母、下划线、美元符或数字Java标识符大小写敏感,长度无限制不以数字开头(常考)关键字Java数据类型划分数据类型基本数据类型引用数据类型数值型字符型(char)布尔型(boolean)整数类型(byte, short, int, long)浮点类型(float, double)类(class)接口(interface)数组数据类型(1)逻辑类 boolean 在整数类型和boolean类型之间无转换计算 文本类 char
10、 一个char代表一个16bit无符号的Unicode字符 表示方式:au? 一个特殊的Unicode字符,?应严格按照四个16进制数字进行替换整数,小于65536 数据类型(2)整数类 byte, short, int, long表示方式2 十进制值是2077 首位的0表示这是一个八进制的数值0 xBAAC 首位的0 x表示这是一个16进制的数值 具有缺省int用字母“L”和“l”定义long8 bits byte -27 . 27 -1 16 bits short -215 . 215 -1 32 bit int -231 . 231 -1 64 bits long -263 . 263
11、-1数据类型(3)浮点类 double, float缺省为doubleE或e (增加指数值)F或f (float)D或d (double) 32 bits float 64 bits double数据类型(4)String具有用双引号引用的文字 转义字符System.out.println(=);数据类型转换隐式数据类型转换显式类型转换隐式数据类型转换基本数据类型的自动转换要实现自动类型转换,需要同时满足两个条件(1)这2种类型是兼容的。 (2)目的类型数的范围比来源类型的大。 例如,当byte型向int型转换时,由于int型取值范围大于byte型,就会发生自动转换byte b=3;int x
12、=b;/没有问题,程序把b的结果自动转换成int型了隐式数据类型转换整型和浮点型彼此都可以这样的转换。数字类型字符串类型(String)或布尔类型(bollean )是不兼容的。字符类型(char )和布尔类型也是互相不兼容的。显式类型转换显式类型转换(强制类型转换)当两种类型彼此不兼容,或目标类型取值范围小于源类型时,自动转换无法进行这时就需要强制类型转换,强制类型转换的格式如下:目标类型 变量 = (目标类型)值例如: byte a; int b; a = (byte)b;强制类型转换public class Testpublic static void main(Srting args)
13、byte b;int i = 266;b = (byte)i;System.out.println(“byte to int is”+” ”+b); 类型转换表达式的数据类型的自动提升Class test1public static void main(String args)byte b=5;b=b-2;System.out.println(b);在表达式求值时,变量值被自动提升为int型,表达式的结果也就成了int型。类型转换b=(byte)(b-2);Java类型自动提升的规则如下:所有byte、short、char型的值将被提升到int型;如果一个操作数为long型,计算结果就是lon
14、g型;如果一个操作数是float型,计算结果就是float型;如果一个操作数是double型,计算结果就是double型。注意:所有计算过程都是操作数先被提升,结果也被提升类型转换考虑:System.out.println()除了可以在屏幕上打印字符串外,还可以直接在屏幕上打印其他类的数据System.out.println(a+1)在屏幕上打印出来的结果与System.out.println(“”+a+1)和System.out.println(a+1+”)在屏幕上打印的结果有什么不同?Java变量分类变量(variable)用于记录数值可变的数据(定义数组:int x)按所属的数据类型划分
15、:基本数据类型变量引用数据类型变量参考数据类型划分按被声明的位置划分:局部变量:方法或语句块内部定义的变量成员变量:方法外部、类的内部定义的变量;(不是真正意义的全局变量,加上static才是全局变量)变量的声明与赋值变量的声明及赋值变量声明的格式为:变量类型 变量名初始化变量的格式为:变量名值;运算符算术运算符: +,*,/,%,+,关系运算符: ,=,=,=,!=布尔逻辑运算符: !,& , | , , &,|赋值运算符: = 扩展赋值运算符:+=,=,*=,/=字符串连接运算符: + 运算符赋值运算符=(赋值)、+=(加赋值)、-=(减赋值)、*=(乘赋值)、/=(除赋值)、%=(取模赋
16、值) 赋值运算符的意思是“取得右边的值,把它复制到左边”。右边的值可以是任何常数、变量或者表达式,只要能产生一个值就行。但左边的值必须是一个明确的、已命名的变量a+=1相当于a=a+1,a/=2相当于a=a/2注意:“=”与“=”的不同运算符算术运算符+ (加号)、 -(减号)、 /(除号)、 *(乘号)、 %(取模)+(字符串相加)、+x(前自增)、x+(后自增)、-x(前自减)、x-(后自减)+(正号)、-(符号)运算符注意:1.+字符串相加符号能将字符串与其他的数据类型相连成一个新的字符串;2.+x是在变量x参与其他运算之前先将自己加1后,再用新值参与运算,而x+是先用原来的值参与运算后
17、再将自己加1;3.如果对被模数取负模,则可以把模数的符号忽略不计,如5%-2=1;对于/号。整数除和小数除是有区别的:整数之间的除法时,只保留整数部分而舍弃小数部分;表达式和流程控制关系运算符 (大于)、=(大于等于)、=(等于)、!=(不等于)关系运算符生成的是一个“布尔”(Boolean)结果。它们评价的是运算对象值之间的关系。若关系是真实的,关系表达式会生成true(真);若关系不真实,则生成false(假) 分支语句分支语句实现程序流程控制的功能 ,即根据一定的条件有选择地执行或跳过特定的语句Java分支语句分类if-else 语句switch 语句if-else语句应用举例publi
18、c class Testpublic static void main(String args)Test t = new Test();t.test(75);public void test(int age)if (age250) System.out.println(“imposible); else System.out.println(“此人年龄 + age );switch语句应用举例public class Test public static void main(String args)int i = 1;switch (i) case 0:System.out.println(z
19、ero);break; case 1:System.out.println(one);break; default:System.out.println(default);break; switch 参数只能是byte,short,char,int循环语句循环语句功能在循环条件满足的情况下,反复执行特定代码循环语句的四个组成部分初始化部分(init_statement)循环条件部分(test_exp) 循环体部分(body_statement) 迭代部分(alter_statement) 循环语句分类for 循环while 循环do/while 循环for 循环语句语法格式 for (init
20、_statement; test_exp; alter_statement) body_statement应用举例public class ForLoop public static void main(String args) int result = 0; for(int i=1; i=100; i+) result += i; System.out.println(result= + result); while 循环语句语法格式 init_statementwhile( test_exp) body_statement;alter_statement;应用举例public class
21、WhileLoop public static void main(String args) int result = 0;int i=1;while(i=100) result += i; i+;System.out.println(result= + result); do/while 循环语句语法格式 init_statementdo body_statement; alter_statement;while( test_exp); 应用举例public class WhileLoop public static void main(String args) int result = 0, int i=1;do result += i; i+;while(i=100);System.out.println(result= + result); 数组概述数组是多个相同类型数据的组合,实现对这些数据的统一管理数组属引用类型,数组型数据是对象(object),数组中的每个元素相当于该对象的成员变量数组中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025轿车买卖合同范本
- 2025信息系统建设合同范本
- 2025标准商业空间租赁合同模板
- 2025国际货币兑换借款合同模板
- 2025办公室租赁补充合同范本
- 2025商务合同英文合同结构与格式指南
- 2025混凝土钢筋购销合同范本
- 2025年合肥租房合同范本
- 《童谣与寓言故事》课件
- 《繁花似锦东大街》课件
- 古诗词诵读《临安春雨初霁》课件 统编版高中语文选择性必修下册
- 军事理论(2024年版)学习通超星期末考试答案章节答案2024年
- 六年级(小升初)课外文言文训练(含答案)
- YS-T 5226-2016水质分析规程
- 2024-2030年中国4S店行业市场发展分析及前景趋势与投资风险研究报告
- 浙教版初中七年级下册科学知识点
- 国开2024年秋《生产与运作管理》形成性考核1-4答案
- 特殊工种模拟试题含答案
- 职业卫生及防护智慧树知到答案2024年中南大学
- 区块链技术在公共服务中的应用
- 劳务派遣单位分公司经营情况报告表
评论
0/150
提交评论