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

黑马程序员—Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)

2014-04-13 15:01 1136 查看
------- android培训java培训、期待与您交流! ----------
 

 

一、关键字

关键字的定义和特点

定义:被Java语言赋予了特殊含义的单词

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

 

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

class

interface

enum

byte

short

int

long

float

double

char

boolean

void

 

 

 

 

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

true

false

null

 

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

if

else

switch

case

default

while

do

for

break

continue

return

 

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

private

protected

public

 

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

abstract

final

static

synchronized

 

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

extends

implements

 

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

new

this

super

instanceof

 

 

用于异常处理的关键字

try

catch

finally

throw

throws

 

用于包的关键字

package

import

 

其他修饰符关键字

native

strictfp

transient

volatile

assert

 

 二、标识符

Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符

凡是自己可以起名字的地方都叫标识符。

定义合法标识符规则:

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

2.数字不可以开头。

3.不可以使用关键字和保留字,但能包含关键字和保留字。

4.Java中严格区分大小写,长度无限制。

5.标识符不能包含空格。

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

 

Java中的名称规范:

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

•   xxxyyyzzz

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

•   XxxYyyZzz

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

•   xxxYyyZzz

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

•   XXX_YYY_ZZZ

 

 

三、注释

用于注解说明解释程序的文字就是注释。

提高了代码的阅读性。

 Java中的注释格式:

•   单行注释

•   格式://注释文字

•   多行注释

•   格式:/* 注释文字  */

•   文档注释

•   格式:/**注释文字 */

 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。

 对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。

 注释是一个程序员必须要具有的良好编程习惯。

 初学者编写程序可以养成习惯:先写注释再写代码。

  将自己的思想通过注释先整理出来,在用代码去体现。

  因为代码仅仅是思想的一种体现形式而已。

 

四、常量与变量

常量表示不能改变的数值。

Java中常量的分类:

1,整数常量。所有整数

2,小数常量。所有小数

3,布尔型常量。较为特有,只有两个数值。true false。

4,字符常量。将一个数字字母或者符号用单引号( ' ' )标识。

5,字符串常量。将一个或者多个字符用双引号标识。

6,null常量。只有一个数值就是:null.

 

 

变量:其实就是内存中的一个存储空间,用于存储常量数据。

    作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。

    特点:变量空间可以重复使用。

 变量的概念:

•    内存中的一个存储区域

•    该区域有自己的名称(变量名)和类型(数据类型)

•    该区域的数据可以在同一类型范围内不断变化

 为什么要定义变量:

•    用来不断的存放同一类型的常量,并可以重复使用

使用变量注意:

•    变量的作用范围(一对{}之间有效)  

•    初始化值

 定义变量的格式:

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

•    注:格式是固定的,记住格式,以不变应万变。

理解:变量就如同数学中的未知数。

 

什么时候定义变量?只要是数据不确定的时候,就定义变量。

 

变量空间的开辟需要什么要素呢?

    1,这个空间要存储什么数据?数据类型。

    2,这个空间叫什么名字啊?变量名称。

    3,这个空间的第一次的数据是什么? 变量的初始化值。

 

变量的作用域和生存期:

变量的作用域:

    作用域从变量定义的位置开始,到该变量所在的那对大括号结束;

生命周期:

    变量从定义的位置开始就在内存中活了;

变量到达它所在的作用域的时候就在内存中消失了;

进制

•      对于整数,有四种表示方式:

–     二进制:0,1 ,满 2 进 1.以 0b 或 0B 开头。

–     十进制:0-9 ,满 10 进 1.

–      八进制:0-7 ,满 8 进1. 以数字 0 开头表示。

–     十六进制:0-9 及 A-F,满 16 进1. 以 0x 或 0X开头表示。此处的A-F不区分大小写。

所有数字在计算机底层都以二进制形式存在。

–      计算机以补码的形式保存所有的整数。

–      正数的补码与其原码相同;负数的补码是在其反码的末位加1。

–      原码:直接将一个数值换成二进制数。

–      反码:是对原码按位取反,只是最高位(符号位)保持不变。

–     Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位

–      

 

l 进制的基本转换

•    十进制  二进制 互转

•   十进制转成二进制 除以2取余数

•   二进制转成十进制 乘以2的幂数

•    十进制 八进制 互转

•    十进制 十六进制 互转

•    负数的二进制表现形式

•   对应的正数二进制取反加1

 

 

变量的分类

•      按被声明的位置划分:

–     成员变量:方法外部、类的内部定义的变量

–     局部变量:方法或语句块内部定义的变量       

–     注意:类外面(类对应的大括号外面)不能有变量的声明

•      按所属的数据类型划分

–     基本数据类型变量

–     引用数据类型变量



 

整数类型:byte、short、int、long

•      Java各整数类型有固定的表数范围和字段长度,不受具体 OS 的影响,以保证 java 程序的可移植性。

•      Java 的整型常量默认为 int 型,声明 long 型常量须后加 ‘l’ 或 ‘L’

 


 

浮点类型:float、double

•       与整数类型类似,Java 浮点类型也有固定的表数范围和字段长度,不受具体OS的影响。

•      Java 的浮点型常量默认为double 型声明float 型常量,须后加 ‘f’ 或 ‘F’。

•      浮点型常量有两种表示形式:

–     十进制数形式:如:5.12       512.0f        .512  (必须有小数点)

–     科学计数法形式:如:5.12e2     512E2     100E-2



 

字符类型:char

•      char 型数据用来表示通常意义上"字符"。

•      字符型常量的三种表现形式:

–     字符常量是用单引号(‘ ’)括起来的单个字符,涵盖世界上所有书面语的字符。例如:charc1 = 'a';   char c2 = '中'; char c3 =  '9';

–     Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如:char c3 = '\n';  -- '\n'表示换行符

–     直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a表示\n。

•      char 类型是可以进行运算的。因为它都对应有Unicode 值。

 

布尔类型:boolean

boolean 类型适于逻辑运算,一般用于程序流程控制:

–     if条件控制语句;                 

–     while循环控制语句;

–     do-while循环控制语句;     

–     for循环控制语句;

•      boolean类型数据只允许取值true和false,不可以0或非 0 的整数替代true和false,这点和C语言不同。

 

 

 

 五、数据类型的转换

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

•     容量小的类型自动转换为容量大的数据类型。

•    有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。     

•    byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。

•    当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。

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

•    自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(()),但可能造成精度降低或溢出,格外要注意。

•    通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。如: String a = “43”; int i = Integer.parseInt(a);

•    boolean类型不可以转换为其它的数据类型。 

 

类型转换的原理

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

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

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

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

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

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

自动类型提升

byte b = 3;

int x = 4;

x = x + b;//b会自动提升为int类型进行运算。

强制类型转换

byte b = 3;

b = b + 4;//报错

b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。

 

 

下面是代码示例:

public classTest

{

     //成员变量

      int c = 12;

      public static void main(String[] args)

      {

           //申明了一个变量,局部变量

           int a = 12;

           a = 15;

 

           System.out.println(a);

 

           //关于变量的作用域

           {

                 int b= 20;

                 System.out.println(b);

                 System.out.println(a);

           }

 

           //System.out.println(b);

 

           //整型

           byte i1 = 127;

           short i2 = 3456;

           int i3 = 3456789;

           long i4 = 2345L;

 

           //浮点型

           //Java 的浮点型常量默认为 double型,声明 float型常量,须后加‘f’或‘F’。

           float i5 = 12.34F;

 

           //注意:直接给byte类型的变量赋值为一个合法范围内的数值,可以通过编译

           //而直接给float类型的变量赋值为一个合法范围内的浮点型数值,则无法通过编译

           byte i6 = 12;

           float i7 = 12;

          

           //i6 = 9;

           //int i8 = 9;

           //出现编译错误

           //i6 = i8;

 

           //字符型

           char c1 = '马';

           System.out.println(c1);

 

           String str = "黑马";

           System.out.println(str);

 

           //转义字符

           char c2 = '\n';

           System.out.print(c2);

 

           //System.out.println ();打印后换行,System.out.print();打印后不换行

           System.out.println(c1);

          

           //使用 unicode编码来标示字符

           char c3 = '\u0061';

           System.out.println(c3);//'a'

           //使用强制类型转换

           System.out.println((char)(c3 + 1));

 

           //boolean 类型

           boolean b1 = true;

           System.out.println(b1);

           b1 = false;

           System.out.println(b1);

 

           //不可以0或非 0的整数替代true和false,这点和C语言不同。

           //b1 = 0;

 

           //关于基本数据类型转换

           //1.自动类型转换

           int i9 = 123;

           float i10 = i9;

 

           //2.强制类型转换,使用时要加上强制转换符()

           float i11 = 12F;

           int i12 = (int)i11;

 

           //注意:不兼容的数据类型之间不能转换

           //1.字符串不能直接转换为基本类型

           //2.boolean类型不可以转换为其它的数据类型

 

           //3.有多种类型的数据混合运算时,

           //系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算

           //两个 int类型相除的结果仍是一个 int类型

           //以下代码编译出错

           //int i13 = 12 / 5.0F;

           //System.out.println(i13);

 

           //4.byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型

           byte i14 = 12;

           byte i15 = 13;

          

           //以下代码编译出错

           //byte i16 = i14 + i15;

      }

}

 

//int x=13;//类的外面(类对应的大括号外面)不能有变量的声明

 

------- android培训java培训、期待与您交流! ----------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐