您的位置:首页 > 编程语言 > Java开发

Java基础:Day02笔记内容 (常量、注释、变量)

2016-02-25 10:26 811 查看


1.关键字: 被系统赋予特殊含义的单词,一般都小写


1.保留关键字: 被系统拿走了,但是目前系统也没用,没有特殊意义,是为未来准备的.

goto和const在c++中是关键字,在Java中,是保留字.

main不是关键字, 它只是一个方法名, 只不过这个方法比较特殊而已

代码:



看到其中红色的main, eat, Demo吧, main, eat, Demo都只是一个名字.


2. 标识符

在Java中,所有需要你取名字的地方都是标识符, 组成规则 :字母数字_$

注意事项:

不能以数字开头 a3(yes),3a(no)

不能是Java中的关键字 class等等

区分大小写

代码:



结果:




3.注释: 解释说明程序的文字,给自己和别人看.

作用: 调试错误.(将可能出问题的代码注释掉,如果问题消失,那么说明问题就在这里,可以缩小范围.)

单行注释: //

多行注释: /* */

文档注释:: /** */

注意: //可以嵌套, /* */不能嵌套.

代码:




4.常量: 值不发生改变的量.

字面值常量: 整数, 小数(浮点数), 布尔, 字符, 字符串, null

自定义常量: 后面学.

代码:



结果:




5.进制

二进制的组成: 0,1, 八进制: 0-7, 十六进制: 0-9,A,B,C,D,E,F (大小写不区分)

代码:



结果:




6.进制转换

10进制数转其他进制:

将10进制的数除以该进制, 所得的余数保留, 作为转换后的数的末位, 将商继 续除以该进制, 直到商为0, 十六进制数前面有0x或者0X, 八进制数前面有0

以十六进制为例:

代码:





结果:



其它进制转10进制:

将其它进制的数从末位数开始, 依次乘以该进制的n次幂, n从0开始. 将所有的数相加.

代码:





结果:




7.原码反码补码

原码就是数据的二进制形式, 反码就是将原码取反, 将1变为0, 将0变为1.

补码: 正数的补码就是反码, 负数的补码是取反加1


8. 变量: 在程序的运行过程中,其值在指定范围内变化的值,是内存中一个区域,用于存储数据.

变量的定义格式:

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

如: int i = 10;

变量使用:

A:第一种,在声明的时候,就初始化值

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

举例:byte b = 100; System.out.println(b);

B:第二种 在使用前赋值

声明 赋值 使用

举例 byte b2;

b2 = 100;

System.out.println(b2);


9.数据类型: java语言分为两种数据类型: 基本数据类型和引用数据类型

(1)基本数据类型

区别: 在内存中分配的空间大小不同,从而导致它表示的数据范围不同

整数

byte占1个字节

short 占2个字节

int 占4个字节0

long 占8个字节 其后加L或l标识

浮点数

float 占4个字节 其后加F或f标识3.3f 2^63

32个二进制位, 1位符号位, 8位代表指数位, 23位尾数位,

double 占8个字节

二进制无法精确表示十进制的很多小数, 所以对浮点 数的计算要特别小心, 比如以下代码:



结果是0.3吗?我们来看一下结果:



字符

char 占2个字节 0 - 65535

字符和字符串:

字符值单引号括起来的单个的代码单元

字符串是指双引号括起来的部分, 是由字符组成的



布尔型 大小不确定

true,false

默认情况下:

整数是int类型

浮点数是double类型

开发中,存整数,首先int

long类型的整数常量,要加L或l,系统才会当long处理

float类型的小数常量,要加F或f,系统才会当float处理

整数默认:int 小数默认:double

代码:





结果:



(2)数据参与运算

A: 自动转换

容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,

但可能造成精度降低或溢出;使用时要格外注意。

两个数值进行运算:

如果其中一个是double类型, 那么另一个也会自动转换成double类型, 结果自然也是double类型

否则如果其中一个是float类型, 那么另一个也会自动转换为float类型, 结果自然也是float类型

否则如果其中一个是long类型, 那么另一个也会自动转换为long类型, 结果自然也是long类型

否则两个数都转换为int类型, 结果自然也是int类型.

B:强制转换符

格式:(数据类型)(要被转换的数据) byte b = (byte)(300);

C:字符型参与运算

首先会去找对应字符的unicode码值。然后运算。

char 类型取值范围0~2(16)-1,

整数可以直接赋给char类型的变量, 每个字符在码表中都对应了一个整数, char类型的变量在底层存储的是该字符在码表中对应的整数.

代码:



结果:



D:布尔型参与运算: 不能参与运算

E:字符串参与运算: 只能相加运算,与运算的数据相连接组成了一个新的字符串。

例如代码:





思考:

byte b1=3,b2=4,b;

b=b1+b2;

b=3+4;

哪句是编译失败的呢?为什么呢?

(1)byte,short,char三种数据类型在内存中运算会自动类型提升为int去运算

(2)b1和b2是两个变量值,jvm编译时无法判断里面值的大小

jvm有常量优化机制,在编译的时候已经将3+4的结果赋值给b了

因此b = b1 + b2;是错的



编译结果:



部分笔记内容,整个笔记一共27天,打包下载:

网盘地址——链接:http://pan.baidu.com/s/1c1iem6c 密码:8lj8
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: