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

黑马程序员——Java基础---基本组成

2015-06-02 14:13 351 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

关键字

定义:Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。

特点:关键字中所有字母都为小写

用于定义数据类型的关键字

class:定义类

格式:class类名 extends父类名称{

 

属性声明及初始化;方法声明及方法体;

 

}

interface:接口,一种抽象的类型,仅有方法和常量的定义

格式:interface 接口名 [extends 父接口列表]{

 

[public][static][final]属性类型属性名=常量值;

 

[public][abstract]返回值类型方法名(参数列表);

 

}

byte:8-bit 有符号数据类型

short:16位数字

int:32位整型数

long:64位整型数

float:32-bit单精度浮点数

double:64-bit双精度浮点数

char:16-bit Unicode字符数据类型

boolean:布尔数据类型

void:标记方法不返回任何值

代码:

class VarDemo
{
public static void main(String[] args)
{
//定义变量的格式
//数据类型	变量名 = 初始化值;
//定义一个int类型变量,取值为4;
int x = 4;
System.out.println(x);
x = 10;
System.out.println(x);
//演示其他数据类型。
byte b = 2;//-128~127
short s = 30000;
long l = 4l;
float f = 2.3f;
double d = 23.21;
boolean bo = true;
char c = 'a';
char ch = 'b';
/*
什么时候定义变量?
当数据不确定时,需要对数据进行存储时,就定义一个变量完成存储动作。
*/

//类型转换
// byte b = 3;
// b = b + 2;
// System.out.println(b);
System.out.println('a'+1);
System.out.println((char)('a'+1));
System.out.println((char)99);
}
}


用于定义数据类型值的关键字

true

false

null

用于定义流程控制的关键字

if:条件语句

else:if条件不成立时执行的分支

switch:选择语句

case:switch语句的一个条件

default:switch语句中的默认分支

while:while循环

do:循环语句,循环体至少会执行一次

for:for循环语句

break:跳出循环或者label代码段

continue:不执行循环体剩余部分

return:方法返回值

用于定义访问权限修饰符的关键字

private:表示私有字段,或者方法等,只能从类内部访问

protected:表示字段只能通过类或者其子类访问,子类或者在同一个包内的其他类

public:表示共有属性或者方法

用于定义类,函数,变量修饰符的关键字

abstract:抽象方法,抽象类的修饰符

final:表示一个值在初始化之后就不能再改变了,表示方法不能被重写,或者一个类不能有子类

static:表示在类级别定义,所有实例共享的

synchronized:表示同一时间只能由一个线程访问的代码块

用于定义类与类之间关系的关键字

extends:表示一个类是另一个类的子类

implements:表示一个类实现了接口

用于定义建立实例及引用实例,判断实例的关键字

new:分配新的类实例

this:表示调用当前实例或者调用另一个构造函数

super:表示基类

instanceof:测试一个对象是否是某个类的实例

用于异常处理的关键字

try:表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码

catch:和try搭配捕捉异常信息

finally:try 语句不管是否发生异常都要执行的语句块

throw:抛出异常

throws:定义方法可能抛出的异常

用于包的关键字

package:一系列相关类组成一个包

import:导入类

其他修饰符关键字

native:表示方法用非java代码实现

strictfp:浮点数比较使用严格的规则

transient:修饰不要序列化的字段

volatile:标记字段可能会被多个线程同时访问,而不做同步

assert:断言条件是否满足

标识符

在程序中自定义的一些名称。

由26个英文字母大小写,数字:0-9 符号:_ $ 组成

定义合法标识符规则:

1,数字不可以开头。

2,不可以使用关键字。

Java中严格区分大小写。

注意:在起名字的时,为了提高阅读性,要尽量有意义。

Java中的名称规范

包名:多单词组成时所有字母都小写。

xxxyyyzzz

类名接口名:多单词组成时,所有单词的首字母大写。

XxxYyyZzz

变量名和函数名:多单词组成时,第一个单词首字母小写,第二 个单词开始每个单词首字母大写。

xxxYyyZzz

常量名:所有字母都大写。多单词时每个单词用下划线连接。

XXX_YYY_ZZZ

常量和变量

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间。

自动类型转换(也叫隐式类型转换)

强制类型转换(也叫显式类型转换)

类型转换的原理

什么时候要用强制类型转换?

表达式的数据类型自动提升

所有的byte型、short型和char的值将被提升到int型。

如果一个操作数是long型,计算结果就是long型;

如果一个操作数是float型,计算结果就是float型;

如果一个操作数是double型,计算结果就是double型。

代码:

class OperateDemo
{
public static void main(String[] args)
{
int a = 3,b;
//a++; -->a = a + 1;
b = ++a;
System.out.println("a="+a);
//字符串数据和任何数据使用+都是相连接,最终都会变成字符串。

/*
转义字符:通过\来转变后面字母或者符号的含义。
\n:换行。
\b:退格。相当于backspace。
\r:按下回车键。window系统,回车符是由两个字符来表示\r\n。
\t:制表符。相当于tab键。
*/
System.out.println("hello \t world");

//逻辑运算符用于连接boolean类型的表达式。
/*
true & true = true;
true & false = false;
false & true = false;
false & false = false;
&:只要两边的boolean表达式结果,有一个false。那么结果就是false
只有两边都为true,结果为true。
*/
/*
true | true = true;
true | false = true;
false | true = true;
false | false = false;
|:两边只要有一个为true,结果为true。
只有两边都为false,结果为false。
*/
/*
^:异或;和|有点不一样。当true ^ true = false;
true ^ true = false;
true ^ false = true;
false ^ true = true;
false ^ false = false;
^:两边相同结果是false。
两边不同结果是true。
*/
/*
&和&&的特点:
&:无论左边是true还是false。右边都运算。
&&:当左边为false时,右边不运算。

|:两边都参与运算
||:当左边为true,右边不运算。
*/

//1,通过第三方变量。
int temp,n=3,m = 8;
/* temp = n;
n=m;
m = temp; */

//2,不用第三方变量
/* n = n + m;如果n和m的值非常大,容易超出int范围。
m = n - m;
n = n - m;  */
n = n ^ m;
m = n ^ m;//(n^m)^m;
n = n ^ m;//n^(n^m)

System.out.println(false^false);
System.out.println("n="+n+",m="+m);
}
}

判断结构

if语句

三种格式:

1.

if(条件表达式)

{

执行语句;

}

2.

if(条件表达式)

{

执行语句;

}

else

{

执行语句;

}

3.

if(条件表达式)

{

执行语句;

}

else if (条件表达式)

{

执行语句;

}

……

else

{

执行语句;

}

选择结构

switch语句

格式:

switch(表达式)

{

case 取值1:

执行语句;

break;

case 取值2:

执行语句;

break;

…...

default:

执行语句;

break;

}

switch语句特点:

a,switch语句选择的类型只有四种:byte,short,int ,char。

b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。

c,结束switch语句的两种情况:遇到break,执行到switch语句结束。

d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

循环结构

代表语句:while , do while , for

while语句格式:

while(条件表达式)

{

执行语句;

}

do while语句格式:

do

{

执行语句;

}while(条件表达式);

格式:

for(初始化表达式;循环条件表达式;循环后的操作表达式)

{

执行语句;

}

注:

a,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件, 为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件, 重复找个过程,直到条件不满足为止。

b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。

c,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

其他流程控制语句

break(跳出), continue(继续)

break语句:应用范围:选择结构和循环结构。

continue语句:应用于循环结构。

注:

a,这两个语句离开应用范围,存在是没有意义的。

b,这个两个语句单独存在下面都不可以有语句,因为执行不到。

c,continue语句是结束本次循环继续下次循环。

d,标号的出现,可以让这两个语句作用于指定的范围。

总结

Java中的基础知识与其他语言的基础知识基本相同,除了一些Java特有的一些修饰符还有关键字。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: