2. 标识符与关键字

来源:互联网 发布:百度us优化怎么做 编辑:程序博客网 时间:2024/05/16 07:58

1:关键字

(1)被Java语言赋予特定含义的单词

       (2)特点:

              全部小写。

       (3)注意事项:

              A:goto和const作为保留字存在(保留字:在JDK的新版本中可能提升为关键字)

              B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记

(4)判断下列哪些是关键字

classHelloWorldpublicstaticvoidmainStringSystem

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

class

interface

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

2:标识符

       1:起名字,不能太随便,无规矩,不成方圆。

2:下面那些合法,那些不合法:

HelloWorldDataClass_983$bS5_c7classDataClass#98.3HellWorld

(1)就是给类,接口,方法,变量等起名字的字符序列

       (2)组成规则:

              A:英文大小写字母

              B:数字

              C:$和_

       (3)注意事项:

              A:不能以数字开头

              B:不能是java中的关键字

              C:区分大小写

       (4)常见的命名规则

              A:    包(其实就是文件夹,用于把相同的类名进行区分)全部小写

                     单级包:小写

                            举例:liuyi,com

                     多级包:小写,并用.隔开

                            举例:cn.itcast   ,  com.baidu                    

              B:类或者接口

                     一个单词:首字母大写

                            举例:Student,Demo

                     多个单词:每个单词首字母大写

                            举例:HelloWorld,StudentName

              C:方法或者变量

                     一个单词:首字母小写

                            举例:name,main

                     多个单词:从第二个单词开始,每个单词首字母大写

                            举例:studentAge  , showAllNames()

              D:常量

                     全部大写

                     一个单词:大写

                            举例:PI

                     多个单词:大写,并用_隔开

                            举例:STUDENT_MAX_AGE

3:注释

(1)就是对程序进行解释说明的文字

       (2)分类:

              A:单行注释    //

              B:多行注释    /**/

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

              C:文档注释(后面讲) /** */

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

       (3)注释的作用

              A:解释说明程序,提高了代码的阅读性。

              B:可以帮助我们调试程序。

                     后面我们会讲解一个更高端的一个调试工具

(4)把HelloWorld案例加入注释写出来

需求:写一个程序,在控制台输出HelloWorld

分析:

写一个java程序,首先定义类。

程序要想能够被jvm调用,必须定义main方法。

程序要想有输出结果,必须用输出语句。

实现:

定义类用的是class关键字,后面跟的是类名

main方法基本格式

输出语句基本格式

//这是我的HelloWorld案例

//用class定义类,HelloWorld是类名

class HelloWorld {       /*              这是main方法              是程序的入口              被jvm自动调用       */       public static voidmain(String[] args) {              /*                     这是输出语句                     ""里面放的是在控制台上输出的内容              */              System.out.println("HelloWorld");       }}

4:常量

       (1)在程序执行的过程中,其值不发生改变的量

       (2)分类:

              A:字面值常量

              B:自定义常量(后面讲)

       (3)字面值常量

              A:字符串常量       用双引号括起来的内容。

                     举例:"hello","world","HelloWorld"

              B:整数常量    所有的整数

                     举例:100,200

              C:小数常量    所有的小数

                     举例:10.23,110.11

              D:字符常量    用单引号括起来的内容

                     举例:'a','A','0'

                     错误的:'ab'

              E:布尔常量    比较特殊

                     举例:true,false

              F:空常量 后面讲

                     举例:null

       (4)Java中针对整数常量提供了四种表现形式

进制概述

进制:就是进位制,是人们规定的一种进位方法。对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。规律,进制越大,表现形式越短。

              A:二进制     01组成。以0b开头。

任何数据在计算机中都是以二进制的形式存在的。二进制早期由电信号开关演变而来。

一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。

              B:八进制     01...7组成。以0开头。

所以就想把一大串缩短点,将二进制中的三位用一位表示。这三位可以取到的最大值就是7.超过7就进位了,这就是八进制。

              C:十进制     01...9组成。整数默认是十进制。

              D:十六进制  01...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。

但是对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,

四个二进制位最大是15,这就是十六进制。

5:进制转换(了解)

       (1)其他进制到十进制

              系数:就是每一个位上的数值

              基数:x进制的基数就是x

              权:对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。

              结果:系数*基数^权次幂之和。

       (2)十进制到其他进制

              除基取余,直到商为0,余数反转。

       (3)进制转换的快速转换法

              A:十进制和二进制间的转换

                     8421码。

8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。

在这种编码方式中每一位二值代码的1都是代表一个固定数值,

把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。

              B:二进制到八进制,十六进制的转换

6:变量

       (1)在程序的执行过程中,其值在某个范围内可以发生改变的量

       (2)变量的定义格式:

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

              B:数据类型变量名;

                变量名 = 初始化值;

(3)使用变量注意事项:

作用域:

变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。

初始化值:

没有初始化值不能直接使用

在一行上建议只定义一个变量

可以定义多个,但是不建议

7:数据类型(掌握)

       (1)Java是一种强类型语言,针对每种数据都提供了对应的数据类型。

       (2)分类:

              A:基本数据类型:4类8种

              B:引用数据类型:类,接口,数组。

       (3)基本数据类型

A:整数默认:int   

B:浮点数默认:double

C:字符           占用字节

                     char               2

              D:布尔           占用字节

                     boolean          1

              注意:

                     整数默认是int类型,浮点数默认是double

                     长整型后缀用L或者l标记。建议使用L

                     单精度浮点数用F或者f标记。建议使用F

小知识:

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

 

Java语言的整型常量默认为int型,声明long型常量可以后加‘ l ’或‘ L ’,如:

                int i1 = 600; //正确    

long l1 = 88888888888L; //必须加l否则会出错

与整数类型类似,Java浮点类型有固定的表数范围和字段长度,不受平台影响。

Java 浮点类型常量有两种表示形式

      十进制数形式,如: 3.14       314.0

科学记数法形式,如3.14e2   3.14*10^2

Java 浮点型常量默认为double 型,如要声明一个常量为float 型,则需在数字后面加 f 或 F ,如:

double d = 12345.6; //正确  

float f = 12.3f; //必须加f否则会出错

char 型数据用来表示通常意义上的“字符”

字符常量为用单引号括起来的单个字符,例如:char ch1= 'a';char ch2='中';

Java 字符采用 Unicode 编码,每个字符占两个字节,因而可用十六进制编码形式表示。注:Unicode是全球语言统一编码

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

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

8:数据类型转换(掌握)

       (1)boolean类型不参与转换

       (2)默认转换

              A:从小到大

              B:byte,   short,     char      --    int--      long --    float --   double

              C:byte,short,char之间不相互转换,直接转成int类型参与运算。

       (3)强制转换

              A:从大到小

              B:可能会有精度的损失,一般不建议这样使用。

              C:格式:

                     目标数据类型 变量名 = (目标数据类型) (被转换的数据);

       (4)思考题和面试题:

              A:下面两种方式有区别吗?

                     float f1 =12.345f;

                     float f2 =(float)12.345;

f2其实是通过一个double类型转换过来的。而f1本身就是一个float类型。

              B:下面的程序有问题吗,如果有,在哪里呢?

                     byte b1 = 3;

                     byte b2 = 4;

                     byte b3 = b1 + b2; 这个是类型提升,所有有问题

                     byte b4 = 3 + 4; 常量,先把结果计算出来,然后看是否在byte的范围内,如果在就不报错。

因为变量相加,会首先看类型问题,最终把结果赋值的也会考虑类型问题。常量相加,首先做加法,然后看结果是否在赋值的数据类型范围内,如果不是,才报错。

              C:下面的操作结果是什么呢?

                     byte b = (byte)130;       

class DataTypeDemo7 {public static void main(String[] args) {       //因为byte的范围是:-128到127。       //而130不在此范围内,所以报错。       //byteb = 130;       //我们可以使用强制类型转换       byteb = (byte) 130;       //结果是多少呢?       System.out.println(b); }}

       分析过程:

              我们要想知道结果是什么,就应该知道是如何进行计算的。

              而我们又知道计算机中数据的运算都是补码进行的。

              而要得到补码,首先要计算出数据的二进制。

              A:获取130这个数据的二进制。

                     0000000000000000 00000000 10000010

                     这是130的原码,也是反码,还是补码。

              B:做截取操作,截成byte类型的了。

                     10000010

                     这个结果是补码。

              C:已知补码求原码。

                                   符号位           数值位

                     补码:    1                   0000010

                     反码:    1                   0000001

                     原码:    1                   1111110  

              D:字符参与运算

                     是查找ASCII里面的值

                     'a'           97

                     'A'          65

                     '0'           48

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

                     System.out.println('a'+ 1);    98

              E:字符串参与运算

                     这里其实是字符串的连接

                     System.out.println("hello"+'a'+1);        helloa1

                     System.out.println('a'+1+"hello");        98hello

                     System.out.println("5+5="+5+5);        5+5=55

                     System.out.println(5+5+"=5+5");        10=5+5

9.简要(掌握)

1:什么是注释?注释分为几种?注释有什么作用?

       概述:就是对程序进行解释说明的文字

       分类:A:单行注释       //

               B:多行注释 /**/

               C:文档注释(后面讲) /** */

       注释的作用:A:解释说明程序,提高了代码的阅读性。

                            B:可以帮助我们调试程序。

2:什么是关键字?有什么特点?

概述:被Java语言赋予特定含义的单词;

特点:组成关键字的字母全部小写

注意事项:不能以数字开头、不能是java中的关键字、区分大小写

3:什么是标识符?由哪些部分组成?常见的命名规则有哪些?

概述:就是给类,接口,方法,变量等起名字时使用的字符序列;

组成部分:英文大小写字母、数字字符、$和_;

命名规则:

              A:包(其实就是文件夹,用于把相同的类名进行区分)全部小写

                     单级包:小写

                            举例:liuyi,com

                     多级包:小写,并用.隔开

                            举例:cn.itcast   ,   com.baidu                     

              B:类或者接口

                     一个单词:首字母大写

                            举例:Student,Demo

                     多个单词:每个单词首字母大写

                            举例:HelloWorld,StudentName

              C:方法或者变量

                     一个单词:首字母小写

                            举例:name,main

                     多个单词:从第二个单词开始,每个单词首字母大写

                            举例:studentAge  ,  showAllNames()

              D:常量

                     全部大写

                     一个单词:大写

                            举例:PI

                     多个单词:大写,并用_隔开

                            举例:STUDENT_MAX_AGE

4:什么是常量?常量的分类?字面值常量表现形式有哪些? 

概述:在程序执行的过程中,其值不发生改变的量

       分类:A:字面值常量           B:自定义常量(后面讲)

       字面值常量:

              A:字符串常量 "hello"

              B:整数常量    12,23

              C:小数常量    12.345

              D:字符常量    'a','A','0'

              E:布尔常量    true,false

              F:空常量        null(后面讲)

       在Java中针对整数常量提供了四种表现形式

              A:二进制       由0,1组成。以0b开头。

              B:八进制 由0,1,...7组成。以0开头。

              C:十进制 由0,1,...9组成。整数默认是十进制。

              D:十六进制    由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。

5:什么是变量?变量的定义格式?要使用变量需要注意什么?

概述:在程序的执行过程中,其值在某个范围内可以发生改变的量

       变量的定义格式:

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

              B:数据类型变量名;

                变量名 = 初始化值;

使用变量注意事项:

作用域:

变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。

初始化值:

没有初始化值不能直接使用

在一行上建议只定义一个变量

可以定义多个,但是不建议

6:Java中的数据类型分几类?基本数据类型有哪些?

分类:

              A:基本数据类型:4类8种

              B:引用数据类型:类,接口,数组。

       基本数据类型

              A:整数                  占用字节数

                     byte               1

                     short              2

                     int                4

                     long               8

              B:浮点数

                     float               4

                     double            8

              C:字符

                     char               2

              D:布尔

                     boolean          1