您的位置:首页 > 职场人生

黑马程序员——JAVA基础之语言组成

2014-10-23 18:57 375 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一.关键字

1.被java赋予了特殊含义的单词,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。

二.标示符

1.程序中所定义的一些名称,比如类名,他们是由26个英文单词,数字0-9,符号_$组成

2.规定:

(1)不能数字开头

(2)不能使用关键字

三.注解

1.注释就是用于解释说明程序的文字,包含三种形式:

(1)单行注释://要注释内容

(2)多行注释:/*要注释内容*/

(3)文档注释:/** 要注释内容 */

2.作用:

(1)对程序进行说明,使程序易懂,可通过javadoc.exe将程序提取出形成网页形式的使用说明书,为其他开发者使用

(2)调试代码

四.常量和变量

1.常量:表示不能改变的数值,如整数,小数,布尔型,字符串,字符,null

2.变量:将不确定的数据进行存储,需要在内存中开辟一个空间

定义变量的格式:

数据类型 变量名 = 初始化值;

如 int x = 4;

3.数据类型:

基本数据类型:byte,short,int,long,char,boolean,float,double

引用数据类型

五.运算符

1.算数运算符:

+,-,*,/,常见加减乘除

%,取模,即取余数 5%2 = 1;

++,自增,相当于加一

--,自减,相当于减一

2.赋值运算符:

=,赋值

+=,-=,*=,/=,%= ,以+=为例:x += 1; 相当于 x = x+1;其他的与之相同

3.比较运算符:

==,判断是否相同

!=,>,<,>=,<=,常见比较符号

instanceof,判断是否为类的对象

4.逻辑运算符:

& 与,相同返回true,不同返回false。如:true&true = true;

| 或,有一个为true返回true,否则返回false。如:true|false= true;

^ 异或,相同返回false,不同返回true。如:true^true = false;

! 非,返回相反值。如:!true = false;

&& 与的短路形式,与&之不同的是,如果第一个表达式为false则退出不在执行表达式二

|| 或的短路形式,与|之不同的是,如果第一个表达式为true则退出不在执行表达式二

5.位运算符:

<< 左移运算符,将数转换为2进制,进行相左移位,末位补零,相当于乘以2的左移位数次幂

如:8<<1 相当于 8*(2^1)

>> 右移运算符,将数转换为2进制,进行向右移位,首位补符号位(整数为0,负数为1)

相当于除以2的右移位数次幂(还可用于进行16进制转换)

>>> 无符号右移,将数转换为2进制,进行向右移位,首位补0

& 与,将两个数转换为2进制,相同位置的两个数进行运算,如果都为1则为1,如果反之为0

| 或 ,将两个数转换为2进制,相同位置的两个数进行运算,有一个为1则为1,反之为0

^ 异或, 将两个数转换为2进制,相同位置的两个数进行运算,相同返回0.不同返回1

可以简单加密,简单应用:两个数字交换
n=n^m,m=n^m,n=n^m

~ 反码,按位取反再加一

6.三元运算符:

形式:条件?表达式1:表达式2;

是否满足条件?如果满足条件返回表达式1,否则返回表达式2。

如: x>y?x:y; 返回x与y之间大的数。

六.语句 程序流程控制

1.判断结构

(1).if(条件){

执行语句

}else if(条件){ //此大括号内容如果没有,if可以直接接else

执行语句

}else{ //此大括号内容如果没有可以单独使用if

执行语句

}

与三元运算符比较:if更复杂,而三元运算符必须返回结果

2.选择结构

(1).switch(表达式){

case
取值1:

执行语句;

break ;

case 取值2:

执行语句;

break ;

......

default
:

执行语句;

break;

}
被选择表达式只接收,byte,short,int,char

与if相比较,switch效率稍高,对结果为boolean判断使用if,if使用范围更广

3.循环结构

(1).while循环

形式一:while(条件){

语句

}

形式二:do{

语句

}while(条件);

与if比较,可以循环多次需要执行多次使用

与while相比较,do while 至少执行一次

(2).for循环

for(初始化表达式;循环条件表达式;循环后表达式){

语句

}

与while比较:for的初始化动作在循环里,while在循环外

如果变量只是用于控制循环则用for,反之如果变量在之后需要用到则使用wile,两者可以互换

(3).无限循环格式:

for(;;){}

while(true){}

4.其他流程控制语句

(1).continue,用于循环语句 结束本次循环继续下一次循环

(2).break,应用选择
,循环结构 跳出当前循环

注意:必须存在各自的执行范围内

break,continue单独存在时,下面不能有任何语句,因为执行不到

七.函数

1.函数的定义:定义在类中具有特定功能的一段独立小程序,也叫方法

2.格式:

修饰符 返回值类型 函数名(参数类型 参数1,参数类型 参数2,.....){

执行语句

return 返回值;

}

3.特点:

(1).将代码功能进行封装

(2).提高复用性

(3).只有执行才调用

(4).对于没有返回值的情况,使用关键字void,return语句如果在最后一行,可以省略

4.注意:

函数中只能调用函数,函数不能定义在函数中

在定义函数名的时候要有意义,应该返回的值交给调用者处理

5.函数的重载(overload)

在同一个类中,可以存在多个同名函数,只要参数个数或参数个数不同即可

简单的说重载只和参数列表有关

用于功能相同但是参数个数不同的函数,可提高代码的复用性

八.数组

1.数组的定义:同一种类型的数组的集合,就是一个容器存放数据的地方

2.二位数组:可以理解为数组中的数组

3.好处:可以自动给数组内的元素从0开始编号,方便操作

4.格式:

形式一:元素类型[] 数组名 = new 元素类型[元素个数或长度]; 如:int[] array = new int[4];

形式二:元素类型[] 数组名 = new 元素类型[]{元素,元素,......}; 如:int[] array = new int[4]{1,2,3,4};

可简化为 元素类型[] 数组名 = {元素,元素,......}; 如:int[] array = {1,2,3,4};

5.内存结构

内存结构为什么不一样?因为处理数据方式不一样

栈内存:存放方法中的变量,数据使用完毕,自动释放

堆内存:new出来的实体都在堆中

堆内存中数据都有默认的初始化值,和数据类型有关

堆内存中每一个实体都有一个起始地址标记存放位置

6.垃圾回收机制

jvm会不定时的启动垃圾回收机制,就是将垃圾数据从堆内存中清除
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: