java基础

 

 

 

 

计算机语言的发展过程

机器语言--->汇编语言--->高级语言(面向过程和面向对象)

趋势:向人类自然语言靠近

JAVA发展过程

1991 Green项目-G、OaK

1995年 发布java1.0 -Java2.0-Java3.0-Java4-Java5-Java6-Java7-Java8

JAVA语言的特点:跨平台,简单性,安全,健壮,完全面对对象

JVM(java VIRTUAL MACHINE):JAVA虚拟机

JVM是一种规范,就是一个虚拟的用于执行bytecodes字解码的计算机。java虚拟机是java最核心的技术,也是跨平台的基础。

java如何实现跨平台?

平台:CPU操作系统与处理器的整体

通过“编译器”将java源程序编译成java字节码文件(.class)(字节码文件采用结构中立的中间文件格式)

通过“解释器”将java字节码文件解释为对应的机器语言并运行。

 

C语言与java的跨平台原理的比较:

java一次编译到处执行,C语言多次编译(针对不同操作系统需要编译器进行编译)

JAVA的版本 javame(微型版) javase(标准版)javaee(企业版)

JDK 、JRE、 JVM的关系

 

java的注释:就是为了提高可读性

1.单行注释:在程序中一行注释  格式://   如果单行无法注释,就是用块注释

2.多行注释:一次将程序中的多行注释

  格式:/*

    内容

    */

注释若干行,通常用于文件,方法,数据结构等意义和说明.

3.文档注释:

格式/**

  内容

  */

 

标识符:就是用于给java程序中变量,类,方法等命名的符号。

表示标识符类名通常以大写字母开头。

表示方法和变量的标识符用小写字母开头,后面的描述用大写开头。

使用标识符的规则:

1.标识符可以用字母,数字,下划线_和美元符($)组成。但不能包含特殊符号,不能以数字开头。

2.标识符不能使用java预留关键字。

3.java严格区分大小写和中英文符号。

4.标识符最好做到见名知意。

 

各种字符集的关系?

java的关键字是保留给内部使用的。

abstract

Assert

boolean

break

byte

case

catch

char(character)

class

const

continue

default

do

Double

else

extends

final

finally

float

For

goto

if

implements

import

instanceof

Int

interface

long

native

new

null

Package

private

protected

public

return

short

Static

strictfp

super

switch

synchronized

this

Throw

throws

transient

try

void

volatile

While

 

 

 

 

 

 

 

 变量(variable)

我们是通过变量来操纵存储空间的数据。

java是一种强类型语言,每个变量都必须声明类型。

1.java变量是程序中最基本的单位.要素包括变量名,变量类型和作用域。

2.变量在使用前必须声明。只有变量声明后才能匹配对应的长度和使用的数据类型。(必须是合法标识符)

3.可以变量名和赋值一起。(int (类型)age(命名)=12(值);(变量名以;结尾))

变量可划分为局部变量和全局变量。

局部变量(lacal variable):方法或语句块内部定义的变量。

例如:public class Test{

  public static void main(String[] args){

  int i =10;//定义在类里的变量:全局变量

  public void Name(){

  String j=12;//定义在方法和作用域内部的变量:内部变量(就是以{}为范围使用的) 

} 

}

}

全局变量(实例变量):方法外部,类的内部定义的量。(如果不自行初始化,系统会默认类型)

public class Test1{

public static void main(String[] args){

booleam i=true;//声明booleam类型并赋值

int a=1;//声明int类型的变量

char c ='a';//声明char类型的变量并赋值

float b=1.1f;//声明float类型并赋值  赋值加f;

}}

 

常量(Constant):初始化后不能改变的变量的值。

例如:

public class Constants {

public static void main(String[] args) {

final double PI=3.14;//final 定义变量后为常量 不能改变量的值

// PI = 3.15;    //error

double r = 4;

double area = PI * r * r;

double circle = 2 * PI * r;

System.out.println("area = " + area);

System.out.println("circle = " + circle);

}

}

 

命名规则:

1.见名知意

2.类变量(全局和局部变量):小写字母开头和驼峰原则

3.常量大写字母和下划线

4.类名首写字母和驼峰原则

5.方法名小写字母和驼峰原则

 

 

java的基本数据类型:

一基本数据类型(primitive type):byte shor int long

byte:占用1个字节 范围-128~127

short:占用2个字节 范围-32768~+32767

int:占用4个字节 范围大约21亿

long:8个字节 范围-263 ~ 263-1

java的进制:二进制(机器直接识别的) 八进制(要求以0开头) 十六进制(以0x开头)

默认类型为 int,声明long类型可以在变量后加l或L

超过类型的范围会失去精度出错。

浮点型:float double

float:单精度浮点类型 (精确到小数点后7位)占用4个字节

double:双精度浮点类型 (float类型精度的两倍)占用8个字节

科学记数法:

double f = 314e2;  //314*10^2-->31400.0

double f2 = 314e-2; //314*10^(-2)-->3.14

float类型的数值要在其后加f/F,不加后缀默认类型为double也可在数值后加D/d。

最好避免浮点类型数值的比较,以免损失过多的精度。

浮点类型的使用:

1.默认为double

2.浮点类型存在四舍五入

3.避免比较使用

 

字符型(char 2个字节):

1.单引号标识字符常量。'A'带单引号。"A"双引号表示一个字符串。

2.char类型使用的是unicode编码表

3.unicode编码表用来设计处理语言的所有文字。65536个字符。ASCII编码占1个字节

4.java中允许使用转义字符'\'

转义符

含义

Unicode值

\b

退格(backspace)

\u0008

\n

换行

\u000a

\r

回车

\u000d

\t

制表符(tab)

\u0009

\“

双引号

\u0022

\‘

单引号

\u0027

\\

反斜杠

\u005c

 

 

boolean(布尔类型):

1.只用两个值true和false,不能以0或!0代替

2.布尔用于逻辑判断,一般用于程序流程控制。

 

 

运算符(operator):

算术运算符:+,-,*,/,%,++,--

赋值运算符:=

关系运算符:>,>=.<,<=,!=

逻辑运算符:&&(与),||(或),!(非)

条件运算符:?:

复合运算符:+=,*=,-=,/=,%=

 

二元运算:

两个操作数为long,则结果为long。

没有long时,结果为long,操作数为shar,byte结果也为int。

两个操作数有一个为double,则为double。

两个操作数都为flase,则为false.

取模运算:

负数%负数=负数;
  负数%正数=负数;
  正数%负数=正数; 

一元运算符(++,--)

 

布尔逻辑表达符:

逻辑与:&&和&,逻辑或:||和|,逻辑非:!

逻辑与和逻辑或采用短路方式,从左到右。

逻辑与有一个false,则返回flase。

逻辑或只要有一个true,返回true。

 

位运算符:

~ -- 取反 &   -- 按位与    

|  -- 按位或 ^  -- 按位异或   

<<:左移运算符, >>:右移运算符 >>>:无符号移位运算符

右移一位相当于除2取商。

左移一位相对于乘2.

 

 扩展运算符:

运算符 

用法举例 

等效的表达式 

+=

    a += b

    a = a+b

-=

    a -= b

    a = a-b

*=

    a *= b

    a = a*b

/=

    a /= b

    a = a/b

%=

    a %= b

    a = a%b

 字符串连接:

'+'运算符只要有一个字符串类型,系统会自动将另一个操作数转换为字符串再连接。

 

三目运算符:

其中 x boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。

 

运算符的优先级


R to L

.   ( )   { }   ;   ,
++ --   ~ ! (data type)

L to R

* / %

L to R

+ -

L to R

<< >> >>>

L to R

<  >  <=  >=  instanceof

L to R

== !=

L to R

&

L to R

^

L to R

|

L to R

&&

L to R

||

R to L

? :

R to L

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

posted @ 2017-04-03 23:33  代鱼  阅读(186)  评论(0)    收藏  举报