知识屋:更实用的电脑技术知识网站
所在位置:首页 > 科技

JAVA语言基础知识

发表时间:2022-03-25来源:网络

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 ^

–条件运算符 ? :

–类型转换运算符

浮点数

–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).

–算术比较运算符 =

–类型比较运算符 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, double, char

–从一种整数类型到另一种整数类型,或者从float到double的转换不损失任何信息

窄化转换

–double, float, long, int, short, byte,char

–窄化转换可能会丢失信息

short s1 = 1; s1 = s1 + 1; 有问题吗?

s1 + 1 运算结果是int型的,这里需要强制类型转换。即 s1 = ( short )( s1 + 1 )

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜