JAVA语言基础知识 (一)

2014-11-24 11:49:52 · 作者: · 浏览: 36

1,JAVA语言概述式

Java是——简单的、面向对象的、安全的、解释的、与平台无关的、多线程

面向对象的程序设计思想
–Java是面向对象编程语言,完全支持面向对象的三大基本特征:封装、继承和多态。
–组成Java程序的最小单位是类,类封装了数据与处理数据的方法。
例:
–构建一个汽车类,需要提取所有汽车对象的共有的状态和行为。将状态用变量表示,行为用方法表示。
class Car {

intcolor_number;

intdoor_number;

int speed;

……

void brake() { … }

void speedUp() {…};

void slowDown() { … };

……

}

1.2 Java语言的特点
面向对象
安全性
–Java不支持指针
–Java的内部安全措施
平台无关性
–编译后的字节码对应于Java虚拟机,因此可在不同平台上运行
多线程
Java是第一个在语言级提供内至多线程支持的高级语言
内存管理
–Java对内存自动进行管理并进行垃圾回收
Java与C/C++的区别
–Java中没有#include 和#define 等预处理功能,用import语来句包含其它类和包;
–Java中没有structure,union及typedef;
–Java中没有不属于类成员的函数,没有指针和多重继承,Java只支持单重继承;
–Java中禁用goto,但goto还是保留的关键字;
–Java中没有操作符重载;
–Java中没有全局变量,可以在类中定义公用、静态的数据成员实现相同功能。

1.3 Java类库
l对于大多数常用的功能,有大量已经编译好、经过测试的类,这些类的集合就是Java类库。
lJava类库主要是随编译器一起提供,也有些类库是由独立软件开发商提供的。

2. Java跨平台的原理

3. Java开发工具及应用举例

Java开发工具包括

Javac:Java编译器,用来将java程序编译成 Bytecode。
Java:Java解释器,执行已经转换成Bytecode的java应用程序。
Jdb:Java调试器, 用来调试java程序。
Javap:反编译,将类文件还原回方法和变量。
Javadoc:文档生成器,创建HTML文件。
Appletviwer:Applet解释器, 用来解释已经转换成Bytecode的java小应用程序。
安装JDK后产生如下目录:

\bin目录:Java开发工具,包括Java编译器、解释器等
\demo目录:一些实例程序
\lib目录:Java开发类库
\jre目录: Java运行环境,包括Java虚拟机、运行类库等

4. 基本数据类型与表达式

变量与常量
变量
–一个由标识符命名的项
–每个变量都有类型, 例如 int类型或 Object类型, 变量还有作用域.
–变量的值可以被改变.
常量
–常量一旦被初始化以后就不可改变。
final int PRICE=30;

标识符
–标识符是一个名称,与内存中的某个位置(地址)相对应
–标识符的第一个字符必须是下列字符之一:
大写字母 (A-Z)
小写字母 (a-z)
下划线(_)
美元符号 ($)
–标识符的第二个字符及后继字符必须是:
上述列表中的任意字符
数字字符 (0-9)

基本数据类型
–byte 8 bits -128 ~ +127
–short 16 bits -32768~ + 32767
–int 32 bits –231~(231-1)
–long 64 bits –263~(263-1)
–char 16 bits 0 ~ 65535
整数运算
–比较运算符(关系运算符)
算术比较运算符 <, <=, >, and >=
算术相等比较运算符 ==and !=
–算术运算符
一元运算符 + 和 - +,- *, /, 和 % (取余 )
自增/自减运算符 ++/--
移位运算符 <<, >>, and >>>
位运算符 ~, &, |, and ^
–条件运算符 :
–类型转换运算符

浮点数
–float:单精度浮点数
32-bit
- m·2e ~ m·2e
–m 是一个小于 224的正整数
–e 是一个介于 -149和104之间(含)的整数
–double:双精度浮点数
64-bit
- m·2e ~ m·2e
–m是一个小于 253的正整数
–e是一个介于 -1045 和 1000之间(含)的整数
布尔类型和布尔值
–布尔类型表示一个逻辑量, 有两个取值: true和false
布尔运算符
–关系运算符 ==and !=
–逻辑“非”运算符 !
–条件“与”和条件“或”运算符 && 和 ||
–条件运算符 :

String——字符串
–String 是一个类
–String类JDK标准类集合中的一部分
String animal = "walrus";

String animal = new String("walrus");


表达式与运算符
表达式是由一系列变量、运算符、方法调用构成的,表达式可以计算出一个值来。程序中的很多工作是通过计算表达式的值来完成的。
–有时需要的是表达式的副作用,例如赋值表达式将数值赋给变量
–更多时候起作用的是表达式的值,这个值可以用作方法的参数,或更大的表达式的操作数,或者影响语句的执行顺序
赋值运算符
–简单赋值运算符 =
–复合赋值运算符 *= /= %= += -= <<= >>= >>>= &= ^= |=

关系运算符
–关系表达式的类型永远是布尔类型(bool).
–算术比较运算符 <, <=, >, and >=
–类型比较运算符 instanceof
例如: e instanceof Point //Point 是一个类
if、while语句使用布尔表达式或布尔值(true or false)作为条件进行控制:

int a = 1;

if (a) //错误的

{

// do something;

}

注意:Java是不允许将一个数字作为布尔值使用

以下哪个关系表达式为true:

String s = “hello”;

//String s = new String(“hello”);

String t = “hello”;

//String t = new String(“hello”);

char c[] = {‘h’,’e’,’l’,’l’, ‘o’};

A. s.equals(t);

B. t.equals(c);

C. s==t;

D. t.equals(new String(“hello”));

E. t==c;

A、C、D是正确的。由于s和t并非使用new创建,它们指向内存池中的同一个字符串常量,因此其地址实际上是相同的,故答案C是也正确的。

逻辑运算符
–“与”运算 &&:如果两个操作数的值都为true运算结果为true; 否则,结果为false.
–“或”运算 || :如果两个操作数的值都为false运算结果为false;否则,结果true
–“非”运算符!
操作数的类型必须是布尔类型
如果操作数的结果为 false,则表达式的结果为true ,如果操作数的结果为 true则表达式的结果为 false

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

–首先计算表达式1
–如果表达式1的值为 true, 则选择表达式2的值
–如果表达式1的值为 false,则选择表达式3的值

类型转换
每个表达式都有类型,如果表达式的类型对于上下文不合适
–有时可能会导致编译错误
–有时语言会进行隐含类型转换
扩展转换
–byte, short, int, long, float