360SDN.COM

首页/Java/列表

Java基础学习笔记(二)

来源:IT技术大神  2017-10-09 16:41:08    评论:0点击:

 
 

1、java关键字:

被系统赋予特殊含义的单词,一般都小写。

2、java保留关键字:

被系统拿走了,但是目前系统也没用,没有特殊意义,是为未来准备的。

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

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

代码:

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

3、标识符

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

注意事项:

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

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

         区分大小写

代码:

结果:

 

4、注释

解释说明程序的文字,给自己和别人看。

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

        单行注释:  //

        多行注释:  /*  */

        文档注释:  /** */

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

代码:

5、 常量

常量,即值不发生改变的量。

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

自定义常量: 后面会说到。

代码:

结果:

 

6、进制

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

代码:

结果:

7、进制转换

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

以十六进制为例:

代码:

结果:

其它进制转10进制:

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

代码:

结果:

8、原码反码补码

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

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

 

9、变量

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

变量的定义格式:

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

                如:  int   i =  10;

                变量使用:

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

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

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

         B:第二种 在使用前赋值

                声明、赋值、使用

                举例  byte b2;

                 b2 = 100;

                 System.out.println(b2);

 

10、数据类型

       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:字符串参与运算: 只能相加运算,与运算的数据相连接组成了一个新的字符串。

例如代码:

思考:

byteb1=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;是错的。

编译结果:

点击下方蓝色标题查看往期内容

Java基础学习笔记(一)

未完待续······

IT技术大神   小白到大神的进阶之路

 
长按识别二维码,加关注

阅读原文

为您推荐

友情链接 |九搜汽车网 |手机ok生活信息网|ok生活信息网|ok微生活
 Powered by www.360SDN.COM   京ICP备11022651号-4 © 2012-2016 版权