Day-02

本文探讨了浮点数转int、不同类型数据运算、兼容性、命名规则、运算符优先级等内容,包括算术、赋值、比较、逻辑、位运算符以及单目、三目运算符的使用和区别。通过实例和图解深入解析,帮助理解基本编程概念和技巧。
摘要由CSDN通过智能技术生成

目录

1. float a = 3.5; int b = a; 打印b的结果是什么

2. int a = 5; float b = a; 打印b的结果是什么

3. char a = 'A'; int b = a; 打印b的结果是什么

4. int a = 68; char b = a; 打印b的结果是什么

5. 画出基本数据类型的兼容关系图

6. 变量的命名规则

7. 分别用表格整理算术运算符, 赋值运算符,比较运算符,逻辑运算符,位运算符,单目运算符,三目运算符

8. =和==的区别

9. i++和++i的区别

10. +运算符操作数值, 字符, 字符串的区别是什么

11.&和&&的区别

12.|和||的区别

13. &可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么

14. |可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么

15. 什么是原码、反码、补码

16. 图解3&5的运算过程和结果

17.图解3|5的运算过程和结果

18. 图解~5的运算过程和结果

19.图解3^5的运算过程和结果

20.图解8<<2的运算过程和结果

21.图解8>>2的运算过程和结果

22.图解~5和~-5的运算过程和结果

23. 说说运算符的优先级, 以及如何改变优先级

24. 什么是单目(一元), 双目(二元), 三目(三元)运算符

1. float a = 3.5; int b = a; 打印b的结果是什么

语句错误,把float转为int类型,需要做强制类型转换,加上(int)

正确语句应该是,float a = 3.5F,int b = (int)a; 此时打印b的结果为3.


2. int a = 5; float b = a; 打印b的结果是什么

打印b的结果为5.0


3. char a = 'A'; int b = a; 打印b的结果是什么

打印的结果为65

4. int a = 68; char b = a; 打印b的结果是什么

语句错误,int转为为char类型需要做强制类型转换,要加(char)

正确的语句应该为int a = 68;char b = (char)a;此时打印b的结果为D

5. 画出基本数据类型的兼容关系图

6. 变量的命名规则


    驼峰命名法:骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。骆驼式命名法的命名规则可视为一种惯例,并无绝对与强制,为的是增加识别和可读性。
        大驼峰:命名规则:首字母大写,后面每个单词首字母也大写。例:DataBaseUser;

        小驼峰:命名规则:首字母小写,后面每个单词首字母大写。例:userName,passWord.

连字符命名法:

下划线命名法:函数名或变量中的每一个逻辑断点都有一个下划线来标记。例:my_name,test_name

7. 分别用表格整理算术运算符, 赋值运算符,比较运算符,逻辑运算符,位运算符,单目运算符,三目运算符

(1)算数运算符

算数运算符

+

-

*

/

%

++

--

取余

自增,在原来的基础上加1

自减,在原来的基础上减1

(2)赋值运算符

赋值运算符
=+=-=*=/=%=

赋值

加等于减等于乘等于除等于模等于

(3)比较运算符

比较运算符

>

<

>=

<=

!=

大于

小于

大于等于

小于等于

不等于

==

等于

比较数值是否相同,会产生隐式转换

===

全等于

比较数值与类型

!==

不全等于

特殊比较:undefined!==null

(4)逻辑运算符

逻辑运算符

&&

逻辑与

关联的两个条件都是true,结果是true

||

逻辑或

关联的两个条件有一个是true,结果是true

!

逻辑非

取反

(5)位运算符

十进制:0123456789
二进制:01101110010111011110001001

2进制转为10进制:1100→0*20+0*21+1*22+1*23=0+0+4+8=12

10进制转为2进制:20→ 20-24=22  →10100

&

按位与

上下两位比较,都是1结果是1,否则是0

|

按位或

上下两位比较,含有1结果是1,否则是0

^

按位异或

上下两位比较,不同是1,否则是0

>>

按位右移

按位右移,删除最后的位数;每移动1位除以2,如果是小数取整

<<

按位左移

按位左移,在末尾补0;每移动1位,在原来基础上乘以2

(6)单目运算符

单目运算符

~5 

1++!a
按位非自增逻辑取反

(7)三目运算符

三目运算符

由两个运算符连接了三个表达式

条件表达式  表达式1  表达式2

8. =和==的区别

=是赋值运算,==判断值是否相等

例如:

a=b 就是把b的值赋予给a;

a==b 就是判断a等于b

9. i++和++i的区别

如果有表达式 a = i++ 它等价于 a = i ; i = i + 1;
如果有表达式 a = ++i 它等价于 i = i + 1; a = i;

两者的区别是:前者是先赋值,然后再自增;后者是先自增,后赋值

10. +运算符操作数值, 字符, 字符串的区别是什么

操作数值作加法算术运算

操作字符和字符串作连接作用

11.&和&&的区别

相同点:&和&&都可以用作逻辑与的运算符,表示逻辑与(and)。

不同点:

(1)&&具有短路的功能,而&不具备短路功能。

(2)当&运算符两边的表达式的结果都为true时,整个运算结果才为true。而&&运算符第一个表达式为false时,则结果为false,不再计算第二个表达式。

(3)&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如:0x31 & 0x0f的结果为0x01。
 

12.|和||的区别

单 | 时,左边无论真假,右边都进行运算;

双 || 时,如果左边为假,右边参与运算,如果左边为真,那么右边不参与运算

13. &可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么

逻辑运算符&:当&两侧的值都为真时,结果才为真,
例如:
int i = 2,j = 4;则(++i=2)&(j++=4)的结果为false:
先判断++i=2是否成立,结果不成立(false),程序会继续判断下一个表达式是否成立,j++=4,该表达式成立。但是&逻辑运算符要求两侧的值都为真时,结果才为真。

位运算符&(按位与):如果相对应位都是1,则结果为1,否则为0;
例如:假设整数变量A的值为60和变量B的值为13。即A = 0011 1100
B = 0000 1101。
则(A&B),得到12,即0000 1100。

14. |可以作为逻辑运算符使用, 也可以作为位运算符使用, 区别是什么

|(逻辑或):左边的表达式为true的时候,程序还是会执行右边的表达式,再得出true结果。

|(按位或):一真全真,同假为假。(0&0=0;0&1=1; 1&0=1;1&1=1)

15. 什么是原码、反码、补码

原码:将最高位作为符号位(0表示正,1表示负),其它数字位代表数值本身的绝对值的数字表示方式。

反码:如果是正数,则表示方法和原码一样;如果是负数,符号位不变,其余各位取反,则得到这个数字的反码表示形式。

补码:如果是正数,则表示方法和原码一样;如果是负数,则将数字的反码加上1(相当于将原码数值位取反然后在最低位加1)。

正数原码反码补码是一样的

5

原码:00000101

反码:00000101

补码:00000101

-5

原码:10000101

反码:11111010 反码=原码取反(除符号位)

补码:11111011 补码=反码+1

16. 图解3&5的运算过程和结果

00000011

00000101

00000001

3&5=1

17.图解3|5的运算过程和结果

00000011

00000101

00000111

3|5=7

18. 图解~5的运算过程和结果

按位取反00000101

~5 = 11111010 补码

11111001 反码

10000110 原码

~5=-6

19.图解3^5的运算过程和结果

00000011

00000101

00000110

3^5=6

20.图解8<<2的运算过程和结果

8*4

高位舍弃 -- 低位以0填充

00001000

00100000

8<<2=32

21.图解8>>2的运算过程和结果

8/4

有符号右移,正数最高位补0,负数最高位补1

高位以0填充 -- 低位舍弃

00001000

00000010

8>>2=2

22.图解~5和~-5的运算过程和结果

5:00000101

~5=-6

-5

原码:10000101

反码:11111010 反码=原码取反(除符号位)

补码:11111011 补码=反码+1

按位非运算 ~-5

00000100 补码

00000100 反码

00000100 原码

~-5=4

23. 说说运算符的优先级, 以及如何改变优先级

各种运算符间的优先级如下:数值运算符、字符串运算符、关系运算符、逻辑运算符逻辑运算符逻辑运算符。可以用括号改变优先级顺序,使得括号内的运算优先于括号外的运算。

24. 什么是单目(一元), 双目(二元), 三目(三元)运算符


      单目: 运算符只对一个操作数进行运算
           ~5 按位非
           i++ 自增
           !a  逻辑取反
      双目: 运算符对两个操作数进行运算
              3 + 4
              5-2
              6*7
              8/2
              10%3
              a > b...........
      三目: 运算符对三个操作数进行运算
            ?:
 


int a = 10
char b = a++ > 10 ? 'A': 'B'
打印a
打印b 
 

有四个运算符

运算顺序:1.> 2.a++ 3.? 4.=

打印a=11,打印b=B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值