`
he91_com
  • 浏览: 375739 次
文章分类
社区版块
存档分类
最新评论

JAVA从零单排1-----搭建开发环境、基本语法

 
阅读更多

JAVA相关介绍

Java语言是一种特殊的高级语言,Java程序需要先经过编译,在经过解释两个步骤。Java经过编译之后不会产生机器码,而是生成一种与平台无关的字节码(*.class文件)。这种字节码是不可执行的,必须使用Java解释器来解释执行。

Java语言负责解释执行字节码文件的是Java虚拟机,即JVM(JavaVirtual Machine)。JVM是可运行java字节码文件的虚拟计算机。所有平台上的JVM向编译器提供相同的编程接口,而编译只需要面向 虚拟机,生成虚拟机能理解的代码,然后由虚拟机来解释执行。

一、安装JDK

想要开发JAVA必须安装JDK,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行是环境,以及常用的Java类库等。

在JDK安装路径下:

bin:该路径下是JDK的各种命令工具,常用的javac、java等命令都在此路径下。

db:

demo:该路径下是JDK的演示代码。

jre:该路径下是运行Java程序必需的JRE环境。

lib:该路径下存放的是JDK工具命令额实际执行程序。

sample:该路径下是JDK提供的简单示例代码。

src.zip:该文件包括了Java所有核心类的源代码。

二、设置PATH环境变量

编译和运行Java程序有两个步骤(编译和执行),分别需要使用java和javac两个命令。这两个命令均在bin目录下。


在 windows的环境变量下设置此变量。



JAVA命名规范

定义规范的目的是为了是项目的代码样式统一,使程序有良好的可读性。

A.包的命名:全部小写,由域名定义

B.类的命名:单词首字母大写

C.方法的命名:首字母小写,其余字母开头大写

D.常量的命名:全部大写,常加下划线

E.参数的命名:为了避免阅读程序时造成迷惑,尽量保证参数有明确的含义

F.变量的命名:常采用首字母小写,其余字母大写的规则。

Java基本语法

一、标识符和关键字

标识符就是用于给程序中变量、类、方法命名的符号。Java语言的标识符必须以字母、下划线(_)、美元符($)开头,后面可以跟任意数目的字母、数字、下划线(_)和美元符($)。

Ø 标识符可以由数字、字母、下划线和美元符组成,但是数字不能开头

Ø 标识符不能是Java关键字和保留字

Ø 标识符不能包含空格

Ø 标识符只能包含美元符,不能包含@#等其他特殊字符

二、Java关键字

关键字是一些具有特殊用途的单词。当定义标识符时,不要让标识符和关键字相同,否则会引起错误。

abstract

assert

boolean

break

byte

case

catch

char

class

continue

default

do

double

else

enum

extends

final

finally

float

for

if

implements

import

int

interface

instanceof

long

native

new

package

private

protected

public

return

short

static

strictfp

super

switch

synchronized

this

throw

throws

transient

try

void

volatile

while

三、数据类型

Java语言是强类型的语言,每个变量必须显式声明类型,也就是说,所有的变量必须先声明后使用。

Java语言的类型包括两类:基本类型(Primitive Type)和引用类型(Reference Type)。

基本类型包括boolean类型和数值类型。数值类型包括整数类型和浮点类型。整数类型包括byte、short、int、long、char,浮点类型包括float和double。

引用类型包括类、借口和数组类型,还有一种特殊的null类型。引用类型就是对一个对象的引用,对象包括实例和数组两种。实际上,引用类型变量就是一个指针,只是java语言中没有指针这个说法。

空类型(null type)就是null值的类型,这种类型没有名称。因为null类型没有名称,所以不可能声明一个null类型的变量或者转换到null类型。空引用(null)是null类型变量唯一的值。空引用(null)可以转换为任何引用类型。

四、基本数据类型

JAVA中一共有8种数据类型。但是字符串不是基本数据类型,它是一个引用类型。

1.整形:

Ø byte:占8位,范围是-128(-27)到127(27-1)

Ø short:占16位,范围是-32768(-215)到32767(215-1)

Ø int:占32位,范围是-2147483648(-231)到-2147483467(231 -1)

Ø long:占64位,范围是-9223372036854775808(-263)到9223372036854775807(263-1)

java整形常量默认就是int类型,int是最常用的整形常量。

2.字符型

字符型常量有三种表示形式:

Ø 直接通过单个字符来指定字符常量:例如’A’、’9’。

Ø 通过转义字符表示特殊字符常量:例如’\n’、’\t’。

Ø 直接使用Unicode值来表示字符常量,格式是’\uXXXX’,其中’XXXX’代表一个16进制的整数。

Java中常用的转义字符表:

转义字符

说明

Unicode表示方式

\b

退格符

\u0008

\n

换行符

\u000a

\r

回车符

\u000d

\t

制表符

\u0009

\’’

双引号

\u0022

\’

单引号

\u0027

\\

反斜线

\u005c

字符型常量也可以采用16进制编码方式来表示,范围是’\u0000’~’\uFFFF’,一共表示65535个字符,其中前256个字符和ASCII码中的字符完全重合。

如果把一个在0~65535范围内的int整数赋给char类型的变量,系统会自动把这个int整形当成char类型来处理。

3.浮点型

Java的浮点类型的字段长度和表数范围和机器无关。采用二进制数据的科学计数法来表示浮点数,对于float型数值,第一位是负号位,接下来8位表示指数,接下来23位表示系数;对于double型数值,第一位是负号位,接下来的11位表示指数,接下来的52位表示尾数。

一个float类型的数值占4个字节,32位。

一个double类型的数值占8个字节,64位。

Java语言的浮点型默认的是double型,如果希望把一个浮点型当成float处理,应该在这个浮点型值后紧跟着f或F。所有正无穷大数值都是相等。所有负无穷大数值都是相等。而NaN不与任何数值相等,甚至和NaN都不相等。

Double或Float的POSITIVE_INFINITY表示它们的正无穷大,NEGATIVE_INFINITY表示它们的正无穷小。

4.布尔型

在逻辑上表示“真“或“假”。Boolean值只能是true或false。其他基本数据类型不能转换为布尔类型。

五、基本数据类型转换

有两种转换类型:自动类型转换和强制类型转换。

把一个范围小的数值或变量直接赋给另一个表数范围大的变量时,称为自动类型转换。

如: int a = 9; float f = a;//int可以自动转换为float类型

把一个范围大的数值或变量直接赋给另一个表数范围小的变量时,称为强制类型转换。

如:double dValue =3.21; int result = (int)dValue;//强制把一个double类型的值转换为int

通常情况下,字符串不能直接转换为基本类型,但是通过基本类型对用的包装类则可以将字符串转换成基本类型。

如:String str = “23”; int iValue = Integer.parseInt(str);

六、运算符

1.算术运算符

+(加法)、-(减法)、*(乘法)、/(除法)、%(求余)、++(自加)、--(自减)

2.赋值运算符

Java使用=作为赋值运算符,通常使用赋值运算符将一个常量值赋给变量。

扩展后的赋值运算符:

Ø +=:x = x + y

Ø -=:x = x – y

Ø *=:x = x *y

Ø /=:x = x / y

Ø %=:x = x % y

Ø &=:x = x & y

Ø |=:x = x | y

Ø ^=:x = x ^ y

Ø <<=:x = x <<y

Ø >>=:x = x >>y

Ø >>>=:x = x >>> y

3.比较运算符

Ø >

Ø >=

Ø <

Ø <=

Ø ==

Ø !=

4.逻辑运算符

Ø &&:与,前后两个操作数都是true才返回true,否则返回false

Ø &:不短路与

Ø ||:或,只要两个操作数中有一个true就返回true,否则返回false

Ø |:不短路或

Ø !:非,只需要一个操作数,操作数为true返回false,操作数为false返回true

Ø ^:异或,当两个操作数不同时才返回true,相同时返回false

:&总会计算前后两个操作数,而&&先计算前一个操作数,如果左边的操作数为false,直接返回false,根本不会计算右边的操作数。

5.位运算符

Ø &:按位与

Ø |:按位或

Ø ~:按位非

Ø ^:按位异或

Ø <<:左位移运算符

Ø >>:右位移运算符

Ø >>>:无符号右移运算符

位运算的运算结果表

第一个运算数

第二个运算数

按位与

按位或

按位异或

0

0

0

0

0

0

1

0

1

1

1

0

0

1

1

1

1

1

1

0

注:按位与 0&0 = 0;0&1 = 0;1&0 = 0; 1&1 = 0;

按位或 0|0 = 0; 0|1 = 1; 1|0 = 1; 1|1 = 1;

按位异或 0^0 = 0; 0^1 = 1;1^0 = 1; 1^1 = 0;

>>、>>>和<<<三个移位运算符并不是适合所有的数值类型,他们只适合对byte、short、char、int和long等整数型进行运算。除此之外,进行移位运算时还有如下规则;

对于低于int类型的操作数总是先自动类型转换为int类型后再移位。

对于int类型的整数移位a>>b,当b>32,系统先用b对32求余(因为int类型只有32位),得到的结果才是真正移位的位数。例如a>>33和a>>1的结果完全一样,而a>>32的结果和a相同。

对于long型的整数移位时a>>b,当b>64,总是先用b对64求余(因为long类型是64位),得到的结果才是真正移位的位数。

6.类型相关运算符

7.三目运算符 ?:

七、运算符的优先级

运算级优先级表(上面的优先级高于下面的)

运算符说明

java运算符

分隔符

[] () {} , ;

单目运算符

++ - ~ !

强制类型转换运算符

(type)

乘法/除法/求余

* / %

加法/减法

+ =

移位运算符

<< >> >>>

关系运算符

< <= >= > instanceof

等价运算符

== !=

按位与

&

按位异或

^

按位或

|

条件与

&&

条件或

||

三目运算符

?:

赋值

= += -= *= /= &= |= ^= %= <<= >>= >>>=

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics