java基础知识整理(2)

小编 2026-06-11 阅读:354 评论:0
一、注释 1、定义 用于对程序进行说明的文字,就可以看成是注释。 2、注释的格式          A:单行注释                   **举例://我们好          B:...

一、注释

1、定义

用于对程序进行说明的文字,就可以看成是注释。

2、注释的格式

         A:单行注释

                  **举例://我们好

         B:多行注释

**举例:

/*

         我们都是

                  好孩子

                  */

         C:文档注释

                  **举例:

/**

                  @author itcast

                  @version V1.0

                  */

3、注释的用途

                  A:解释说明程序,给人看的。

                  B:用于调试程序。

C:用于面试

         写一段代码?

                  a:注释是否完整

                  b:格式是否良好

注意A-单行可以嵌套单行注释,也可以嵌套多行注释;

  B-多行可以嵌套单行注释,不能嵌套多行注释;

  C-文档注释可以嵌套单行注释,不能嵌套多行注释。

 

小插曲:写程序的好习惯——

A:明确需求;---要干什么?

B:寻找思路;---用什么技术进行问题的解决?

C:细化步骤;---每一步如何进行实现?

D:编写代码。

 

二、常量

         (1)在程序的运行过程中,其值是不能改变的量。

 

D:字符常量 \'1\',\'A\'

E:字符串常量 \"HelloWorld\"

F:null常量 null

 

         (2)常量的分类

                  A:整数常量 10,-10

                  B:小数常量 12.5

                  C:布尔常量 true,false

三、工具的使用

         (1)灵格斯翻译家/金山词霸/有道词典

         (2)截图工具(windows7自带截图工具)

         (3)EditPlus

                  A:把EditPlus添加至右键菜单中

                           **安装时选中

                           **通过工具--首选项--常规--进行选中

                  B:如果去掉备份文件(.bak)

                           **工具--首选项--文件--去掉保存时创建备份文件前面的勾

 

四、进制转换

         (1)进制:简单的说,就是计数的方式。x进制就是逢x进一。

         (2)java语言中,对整数有3中表现形式

                  A:十进制

                  B:八进制

                  C:十六进制

 

C:十六进制

         **逢16进1

         **由0-9,A-F组成

         **A-F对应是:10-15。并且A到F大小写都行

         **用0x或者0X开头表示十六进制

D:规律:进制越大,表现形式越短

 

         (3)进制的由来:进制是由电信号来的。

                  A:二进制

                           **逢2进1

                           **由0,1组成

                  B:八进制

                           **逢8进1

                           **由0-7组成

                           **用0开头表示八进制

         (4)不同进制的数据演示。

         (5)进制转换

                  A:其他进制到十进制

                           **规律:把系数*基数的权次幂相加即可。

                           **系数

                           **基数

                           **权

 

                           **举例

                                    ***二进制到十进制:1101 对应 13

                                    ***八进制到十进制:056 对应 46

                                    ***十六进制到十进制:0xF4 对应 244

                  B:十进制到其他进制转换

                           **规律:除基取余,直到商为0,最后,余数反转就是结果。

                           **举例

                                    ***十进制到二进制:60 对应 111100

                                    ***十进制到八进制:60 对应 074

                                    ***十进制到十六进制:60 对应 0x3C

                           **技巧

                                    ***十进制到八进制

                                             ****十进制--二进制--八进制

                                             ****13 -- 1101 -- 15 (015)       

                                    ***二进制到八进制:

                                             ****从右往左,每三位一组合,左边不够用0补。

                                             ****把组合后的每一位换算成十进制数据。

                                             ****最后,从左往右,把结果进行组合即可。

                                    ***十进制到十六进制

                                             ****十进制--二进制--十六进制

                                             ****13 -- 1101 -- 13 (0xD)

                                    ***二进制到十六进制:

                                             ****从右往左,每四位一组合,左边不够用0补。

                                             ****把组合后的每一位换算成十进制数据。

                                             ****最后,从左往右,把结果进行组合即可。

                                             ****对应位上的数据,应该是十六进制的。

五、在计算机内,有符号数有3种表示法:原码、反码和补码。

(1)原码

         A:所谓原码就是二进制数的有符号表示法,即最高位为符号位,

                  “0”表示正,“1”表示负,其余位表示数值的大小。               

                  举例:               符号位               数值位

                           +7         0             0000111

                           -7         1             0000111

         B:原码不能直接参加运算,可能会出错。例如数学上,1+(-1)=0,而在二进制中原码

                  00000001+10000001=10000010,换算成十进制为-2。显然出错了。

                  在计算机中,数值一律用补码来表示(存储)。

         主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。

                  另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。

         (2)反码

                  A:正数 与原码相同

                  B:负数 符号位不变,数值位按位取反,0变1,1变0。

                  举例:               符号位               数值位

                           +7         0             0000111

                           -7         1             1111000

         (3)补码

                  A:正数 与原码相同

                  B:负数 反码加1。

                  举例:               符号位               数值位

                           +7         0             0000111

                           -7         1             1111001

         练习:

         例:已知某数X的原码为10110100B,试求X的补码和反码。

         例:已知某数X的补码11101110B,试求其原码。

六、变量

         (1)在程序的运行过程中,其值是可以改变的量。

                  A:是内存中的一小块存储区域。

                  B:用于存储数据。

         (2)声明变量的格式:

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

                     **byte b = 10;

                     **System.out.println(b);

                  B:数据类型 变量名;

                     变量名 = 初始化值;

                     使用变量

                     **byte b;

                     **b = 20;

                     **System.out.println(b);

         (3)好处:该空间可以重复使用。

         (4)什么时候使用变量呢?当要使用的数据是不确定的时候。

七、数据类型

1、分类

         A:基本数据类型

         B:引用类型(类,接口,数组)

2、基本数据类型

         4类8种,区别在于他们在内存中的存储空间大小不一样。

                  A:整数

                           **字节 byte 占1个字节

                           **短整型 short 占2个字节

                           **整型 int 占4个字节

                           **长整型 long 占8个字节 其后跟L或者l标示

                  B:浮点数

                           **单精度 float 占4个字节 其后跟F或者f标示

                           **双精度 double 占8个字节

                  C:字符

                           **char 占2个字节

                  D:布尔

                           **boolean 占1个字节 true,false

                  注意:整型默认是int;浮点型默认是double。

3、数据类型的转换

A:数据参与运算

         **参与运算的数据类型要一致。

B:转换规则

         **布尔型不能参与运算。

         整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:

         **:容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序为:

                  byte,short,char->int->long->float->double

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

         **:容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。

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

八、运算符

1、算数运算符 +,-,*,/,%,++,- -

         A:%

                  **左边小于右边,结果是左边

                  **左边等于右边,结果是0

                  **左边大于右边,结果是余数

                  **余数的正负,取决于左边的正负

                  **应用:%2 (结果是0,1)

         B++,--

         **单独使用,放在操作数前后结果一样。 a++;++a;

         **参与操作(运算,赋值,打印)时,放在操作数的前面,数据本身改变,再参与操作。

                                    int a = 12; b = ++a;  //a=13,b=13;

         **参与操作(运算,赋值,打印)时,放在操作数的后面,数据先进行临时存储,数据本身改变,最后将存储的数据进行赋值。

                                    int a = 12; b = a++;  //a=13,b=12;

         C:+

                  **正号

                  **加法运算符

                  **字符串连接符

                  ***\"hello\"+\'A\'+1 结果是helloA1

                  ***\'A\'+1+\"hello\" 结果是66hello

2、赋值运算符 =,+=,-=,*=,/=%=

         A:int x = 3;//把3赋值给int类型变量x

         B:x += 3; //x = x + 3;  把左边和右边相加赋给左边。

         C:左边必须是变量。

         D:面试题

                  short s = 2;

                  s = s + 2;

                  s += 2; //+= 有一个自动强制转换的过程

                  哪一行会报错?为什么?

3、关系运算符 ==,!=,>,>=,<,<=

         A:比较运算符的结果都是boolean型,也就是要么是true,要么是false。

                  **System.out.println(3==3);  结果是true

                  **System.out.println(3!=3);  结果是false

4、逻辑运算符 &,|,^,!,&&,||

 

/*

|运算符:或

   左边       右边           结果

       true       true            true

       false      true       true

       true       false      true

       false      false      false

简单的说:有true则true。

*/

 

         逻辑运算符用于连接boolean类型的表达式 

/*

&运算符:与

         左边       右边               结果

         true        true                true

         false        true     false

         true        false     false

         false        false    false

简单的说:有false则false。

*/

 

/*

!运算符:非

!true       false

!false      true

!!true  true

*/

 

 

/*

^运算符:异或

         左边       右边               结果

         true       true                  false

         false      true     true

         true       false    true

         false      false    false

简单的说:相同则false,不同则true。

 

/*

||:短路或

|:或

区别:||是左边为true了,右边就不操作了。

         |左边是true,右边还得继续操作。

*/

 

*/

/*

&&:短路与

&:与

区别:&&是左边为false了,右边就不操作了。

           &左边是false,右边还得继续操作。

*/

5、三元运算符 (?:)

         A:(条件表达式)?表达式1:表达式2;

                  **如果条件表达式为true,运算后的结果是表达式1;

                  **如果条件表达式为false,运算后的结果是表达式2;

         B:表达式:用运算符连接起来的式子就叫表达式

                  **算术表达式 a+b

                  **赋值表达式 a+=2;

                  **关系表达式 (a+b+c) > (a+b)

                  **逻辑表达式 (a<b) || (c>d);

                  **三元运算符 100>200?(300>200?100:200):200; 结果是:200

         C:特点:运算完后,肯定有结果。

6、位运算符 &,|,^,~,>>,>>>,<<

位运算,要求我们先把数据转换成二进制。

         A:System.out.println(4 & 3);

         B:System.out.println(4 | 3);

         C:System.out.println(4 ^ 3);

                  **一个数对同一个数异或两次,该数不变。

                  **应用:加密。

         D:System.out.println(~4);

         E:<< 就是将左边的操作数在内存中的二进制数据左移右边操作数指定的位数,

                     右边被移空的部分补0。相当于乘与2的移位数次幂

                     2<<4-----2*2^4

         F:>> 右移稍微复杂一点,如果最高位是0,左边被移空的位就填入0;如果最高位是1,左边被移空的位就填入1。相当于除以2的移位数次幂

         G:>>> 无论最高位是1还是0,左边被移空的高位都填入0。

                   **讲一个应用。通过10进制获取十六进制的数。

                           ***1&1=1 0&1=0 发现,任何数和1做位与运算,结果不变。

                                    通过此规律,我们就可以取得任意二进制的多少位

                           ***num = num >>> 4;

                              num & 15

                              取得倒数第二个四位。

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表