java语言基础知识

程序设计语言发展历程

机器语言

汇编语言

高级语言

面向对象的语言:好处 可重用行 可靠性

面向对象思想:将客观事物看作具有状态和行为的对象,通过抽象找出同一类对象的共同状态和行为构成类

抽象和封装

继承 

多态

java发展历程 

95年Sun发布Java语言

96年 发布JDK1.0

98年发布JDK1.2 将java分成了 J2SE J2EE J2ME 三个版本

04年Sun发布了JDK1.5同时将JDK改名为JDK1.5 改名为Java SE5.0 ,J2EE改名为JavaEE,J2ME改名为JavaME

06年 Sun发布JDK1.6 即Java 6.0

09年 4月 Oracle公司收购了Sun公司  GOOGLE

11年发布 JavaSE7

14年发布JDK8

Java语言 跨平台

java程序实在java虚拟机上运行的  半编译半执行 一次编写各处运行

java语言基础知识

java语言基础知识 

文字量 :直接出现在程序中并被编译器直接使用 文字量也称常量,在其生存期内其值不可改变的量

标识符:一个名称 与内存中的某个位置(地址)相对应 大小写字母 下划线(_) 美元符 数字。数字不能为首字母

变量 一个标识符命名的项   每个变量都有类型   变量的值 不可以被改变

java语言基础知识

java语言基础知识

 String 是一个类 是JDK标准类集合的一部分

String animal = “panda”;

字符串文字量  由0个或多个字符组成 用双引号括起

每一个字符都可以用转移序列来表示

运算符与表达式

算数运算符 ++ --

赋值运算符 = *= += -+ /= *=

关系运算符 的类型永远都是布尔类型

算术比较运算符 < <= > >= 

类型比较运算符 instanceof  用来比较某个对象是否始于某个类

相等关系运算符 ==  !=

逻辑运算符 

与 运算&&

或运算 ||

非运算 !

条件运算符 (表达式1 ? 表达式2 : 表达式3)

类型转换 

每个表达式都有类型  如果表达式对于上下文不合适 导致编译错误 或者隐含转换

扩展转换 可能会损失精度 整数 转化为float 或者 double

byte char short int long  float double

窄化转换  可能会丢失信息  float 或double 转化为 整数

隐含转换 

赋值转换 

方法调用转换 

字符串转换 如 任何类型都可以转换为String类型 包括null类型 当一个操作数是String 使用+ 就会自动转换为字符串

 数组  由同意类型的类的对象或基本数据类型 并封装在同一标识符下

数组是对象 需要动态初始化 先定义数字的名字在动态分配内存

在数组中可以赋值给Object类型的变量 数组可以调用Object的所有方法

每个数组都是一个由public final 修饰的成员变量 :length 即数组含有元素的个数 

数组的创建和使用:数组的声明 数组的创建 数组元素的初始化  使用数组

引用 :当我们定义个对象 声明对象的引用 然后用动态内存的方式得到这个对象的内存空间 并且初始化  让引用名和对象名关联起来 java中没有指针却处处都有引用

用关键字new 构成数组的创建表达式  ,可以指定数组的类型 和数组元素的个数 元素个数可以是常量 也可以是变量 因为是运行时分配内存引用类型的数组每一个元素都是对象的引用

数组元素的初始化: int [] a= {1,2,3};没有指定初始值,数组赋予默认的数组初始值 0 或空引用

数组下标最大值为length-1 超过length 就会抛出异常

java语言基础知识

字符串引用构成的数组 ————每个元素都是引用

数组没有新产生一个数组 而是两个引用指向了同一个内存区域

如果想新产生一个元素

java语言基础知识

 java语言基础知识

 利用 arraycopy实现数组的复制

java中 字符数组不能当作字符串

二维数组的声明和构造 ————多种方式

int [][] my array = new int [3][5];定义引用 同时构造数组并初始化引用 该数组的所有元素均为0

二位数组的长度  是行的长度 行有自己的可以有长度;

java语言基础知识

 增强for循环 

用来对数组或集合对象进行遍历 语法格式for(TypeName : 数组或集合类型对象){//循环体}