bigdecimal运算_数据类型和运算符

b3d5e1a4b1a5f28a4bd9a509591e395f.png

【002】

数据类型和运算符

1. 注释(单行注释,多行注释,文档注释)

(1) 什么是注释?请写出单行注释,多行注释,以及文档注释

注释就是程序中一些说明行的文字,用来提高程序的可读性

单行注释://

多行注释:/*开头 */结尾

文档注释:/**开头 */结尾

2.标识符规则_驼峰规则

(1) 标识符的作用是什么,标识符的声明需要遵循哪些规则,哪些规范,标识符可以使用汉字么?

标识符是用来给变量,类,方法,包命名的;

规则:标识符必须以字母、下划线、数字 、$组成

首字母不可以是数字

Java标识符对大小写敏感,且长度无限制

标识符不可以是java的关键字(可以使用汉字但是不建议)

(2) 将课上的代码敲两遍,体验一下标识符的声明规则和规范

关于类名的标识符:每个单词的首字母大写

方法和变量要遵循“驼峰命名法”

包名:全部小写

3. Java的关键字保留字

(1) 将文档中的关键字都手写一遍,混个脸熟

abstrct catch do float instanceof null short this while throw static package int for double char assert boolean

break class else goto interface private throws break const extends if long protected super try switch

Public native implement final continue byte case default finally import new return void

4. 变量的本质_声明格式和初始化问题

(1) 变量的本质是什么?

变量本质上代表一个“可操作的存储空间”,我们可以通过变量名来访问“对应的存储空间”,从而操纵这个内存空间的值

(2) 变量的要素是哪三点?

变量名、变量类型和作用域(生命周期)

5. 变量分类(局部变量,成员变量,静态变量)

(1) 什么是局部变量?什么是成员变量?什么是静态变量?它们的生命周期分别是?

成员变量:方法外部、类的内部定义的变量 生命周期:伴随对象始终

局部变量:方法或者语句体内定义的变量 生命周期:从声明位置开始到方法或语句块执行完毕为止

静态变量:使用static定义的变量 生命周期:伴随类始终

5. 常量和final

(1) 什么是常量,什么是字面常量?什么是符号常量?

常量的值是不变的

字面常量就是它字面上就是一个具体的数据值,如整型6,字符型‘a'等。

符号常量是在宏定义中产生,是将一个符号与某一具体的数据值绑定,在以后使用该符号的时候就直接用其绑定的数据值替换。如#define num 90; 以后出现num的地方就直接用90替换。

(2) 变量和常量的命名规则有哪些?

变量命名规则:标识符必须以字母、下划线、数字 、$组成

首字母不可以是数字

Java标识符对大小写敏感,且长度无限制

标识符不可以是java的关键字(可以使用汉字但是不建议)

常量名称全部由大写和下划线组成

扩展思考:什么是强类型语言,什么是弱类型语言。各有什么优缺点

(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。

(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

优缺点:强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误


1. 基本数据类型介绍

(1) 数据类型分为哪两大类?

基本类型和引用类型

(2) 基本数据类型中有几大类?又细分为哪几种?分别占据的空间是多少?

66717176233754407a159dc28fcdd58c.png

byte short int long 是整数型

Float double是浮点型

Char是字符型

Boolean是布尔型

Byte short int long float double char boolean

1 2 4 8 4 8 2 1 (字节)

2. 整型变量和整型常量

(1) 整型分为哪几种?整型常数默认为什么类型?

整形分为byte short int long 默认为int

(2) 整型常量的表示形式有哪几种?分别是什么样的格式?

十进制整数,如99,0,-50

八进制整数,要求以0开头,如015

十六进制数,要求0x或0X开头,如0x15

二进制数要求0b或0B开头,如0b000001010

3. 浮点型变量和BigDecimal的使用

(1) 浮点型的表示形式有几种?分别是什么样的格式?

十进制数形式,例如3.14 314 0.314

科学计数法,例如 314e2 314E2 314E-2

(2) 浮点型有几种?分别精确到几位有效数字?

Float 精确到小数点后7位 被称作单精度类型

Double 精确到小数点后14位 被称作双精度类型

(3) 浮点型适合金融领域么?金融领域用什么比较好?

浮点型不适合在金融领域,因为它是不精确的

BigInteger实现了任意精度的整数运算

BigDecimal实现了任意精度的浮点运算

4. 字符串类型_转义字符

(1) 表示一个char类型,用单引号还是双引号?

使用单引号

(2) char类型占几个字节?一个汉字占几个字节?一个char变量能存储一个汉字么?

Char类型占用两个字节,一个汉字占两个字节 数字和英文占用一个字节第一位是0

可以存储一个汉字

(3) 什么是转义字符?

使用加其他的字符来表示其他的含义

比如n 换行符

t 回车符

5. 布尔型_if语句的使用要点

(1) 布尔型的值有哪些,占用多少存储空间?

True 和 false 占用1个字节

(2) 布尔值一般配合什么关键字一起使用?

if关键字

6. 运算符介绍

(1) 运算符有哪些?

算数运算符,赋值运算符,关系运算符,逻辑运算符,条件运算符

位运算符,特殊运算符 扩展运算符,字符串链接符

af6c7fee0d86c277222542183e775364.png

7. 算数运算符

(1) 算数运算符分为哪些?整型做运算,浮点数做运算,有什么需要注意的?

+ - * / %都是算术运算符

整数运算:如果两个操作数有一个为long 那么结果也是long

没有long类型是,结果为int,即使操作数全为short byte结果也是int

浮点运算:如果两个操作数有一个为double,那么结果为double

只有两个操作数都为float,则结果才是float

(2) 取余操作,余数与谁的符号一致?

余数与左边操作数相同

(3) ++ -- 操作在数字前后有什么区别?

++a表示先增加1再运算

a++表示先进项运算再加1

- -同理

8. 赋值和赋值扩展运算符

(1) Int a =3 ,把谁赋值给了谁?

把3赋值给了变量a

(2) Int a+=3 等价于什么?

a=a+3

9. 关系运算符

(1) 关系运算符的结果是什么?分别有哪些关系运算符,代表什么意思?

结果是boolean类型,关系运算符有:= =,!=,>,<,>=,<=等等

分别代表等于,不等于,大于,小于,大于或等于,小于或等于

10. 逻辑运算符_短路运算详解

(1) 逻辑运算符操作的是什么?逻辑与逻辑或的规则是什么?

逻辑运算符操作的是boolean值

逻辑与两边只要有一个为false那么结果为false

逻辑或两边只要有一个为true那么结果为true

(2) 运算符||和|的异同之处

相同:

|| 与 | 都是逻辑运算符, 运算规则都为只要有一个为 true,则直接返回 true

不同:

|| 短路或 : 从左到右计算,如果符号左边的操作数为 true,则不会继续计算,直接返回

true; 如果符号左边的操作数为 false,则需要继续计算

| 逻辑或:操作数左右两边的操作数都需要计算,不会发生短路

|| 只是逻辑运算符

| 还可以是位运算符中的按位或符号

11. 位运算符

(1) 位运算符有哪些?分别代表什么意思?

&与 两边位都是1为1,否则为0;

|或 两边只要有一个为1时等于1,不是的话为0

~非 0变1 1变0

^异或 两边的位不同时结果为1,否则为0

<<左移 左移几位就乘几个2

>>右移 右移几位就除以几个2

>>> 无符号右移一位。不足的补0。

(2) & 和 | 左右侧如果是布尔值,就是逻辑运算符,如果是数字,就是位运算符,这句话对么?

(3) 怎么样计算3*16最快?

3<<4

12. 字符串连接符

(1) 字符串是基本数据类型么?什么时候加号会变成字符串连接符?

字符串是引用数据类型

当加号两边有字符串时,加号会变成字符串连接符

13. 条件运算符

(1) 条件运算符的格式是什么?

x?y:z

(2) 条件运算符也成为三目运算符,三目运算也可以用什么来代替

可以用if else来代替

(3)位、字节、字符的概念及其计数范围?

位:计算机存储信息的基本单位,代表一个二进制数位,

计数范围:0 或 1

字节:8 个连续的二进制位为一个字节,可以存放 1 个西文字符的编码

计数范围:-128~127

字符:单引号用来表示字符常量,例如 ‘A’,‘张’

计算范围:0-65535 之间的编码

14. 如何用科学计数法表示 3.14?

314E-2

15. 浮点常量默认是什么类型?

double 类型

16. 浮点数能用于比较吗?下面可能打印什么结果:

float 

打印结果为: d1 == d2

float 类型的数据在内存中的存储形式为科学计数法, 且有效位数为 7 位, 则 d1 为 4.2343242E7, d2 用科学计

数法表示同样为 4.2343242E7, 因此 d1 == d2

17. 4&5,4|5 的结果分别是多少? 4&&5 这个操作可行吗?为什么?

4&5 的结果为 4()(需要源码反码和补码的运算)

4|5 的结果为 5

4&&5 这个操作不可行,因为&&左右要求为 boolean 类型表达式

每日问题:

1、eclipese和myeclipse的区别

myeclipse 的核心使用的是eclipse,在这个基于上添加了许多框架,插件的直接支持。。。

eclipse 是免费的,myEclipse是收费的

2、myeclipse自带jdk的问题,需要掌握自己修改其中不同版本的jdk 查看自己的版本

windows--preferences--java--compiler--右边就可以看到当前使用的jdk版本号

3、源码反码补码的问题

1) 已知原码,求补码。

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

解:由[X]原=10110100B知,X为负数。求其反码时,符号位不变,数值部分按位求反;求其补码时,再在其反码的末位加1。

1 0 1 1 0 1 0 0 原码

1 1 0 0 1 0 1 1 反码,符号位不变,数值位取反

1 +1

1 1 0 0 1 1 00 补码

故:[X]补=11001100B,[X]反=11001011B。

(2) 已知补码,求原码。

分析:按照求负数补码的逆过程,数值部分应是最低位减1,然后取反。但是对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1 有方法。

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

解:由[X]补=11101110B知,X为负数。

采用逆推法

1 1 1 0 1 1 1 0 补码

1 1 1 0 1 1 0 1 反码(末位减1)

1 0 0 1 0 0 1 0 原码(符号位不变,数值位取反)

---------------------

先写到这 ,继续下一个!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值