Day04

一.运算符

1. 逻辑运算符

&(与)、&&(短路与)、|(或) 、||(短路或)、!(非)、^(异或)

规则:

& 和 && 规则:两个有一侧为false,结果为false

| 和 || 规则 :两侧有一侧为true,结果为true

^ 规则:两侧相同为false,不同为true

!规则:置反,false变成true , true变成false

比较:做实验证明谁的效率高

& vs && 和 | vs ||

注意:

\1. 逻辑运算符运行结果都是boolean类型

\2. &、&&、|、||、^ 两侧都是boolean类型数据

2. 三目运算符/三元运算符

语法:

条件表达式 ? 表达式1 : 表达式2

其中,条件表达式是一个布尔表达式,如果条件为true,则返回表达式1的值;如果条件为false,则返回表达式2的值。

注意:

表达式1和表达式2可以是任意类型的表达式,但是它们的类型必须兼容(即可以进行隐式类型转换)。三目运算符可以嵌套使用,形成多个条件的判断。例如:条件1 ? 表达式1 : (条件2 ? 表达式2 : 表达式3)。

使用三目运算符可以简洁地根据条件选择不同的值或执行不同的操作。

理解:

三目运算符的优点在于它可以用更简洁的方式替代if-else语句,使代码更加简洁和易读。它常用于需要根据条件选择不同的值或执行不同的操作的情况。

扩展面试题1:

int a=5;

System.out.println(“a=”+((a<5)?10.9:9));

A. 编译错误

B. 10.9

C. 9.0

D. 以上答案都不对

解析:

答案为c结果为9.0的原因是由于Java中的三元条件运算符会根据表达式的类型进行自动类型转换。在这个表达式中,有两个分支:10.9 和 9.其中一个分支为浮点数(10.9)而另一个分支为整数(9)时,根据Java的规则,整数会被自动转换为浮点数。因此,整数9会被转换为浮点数9.0。最终,整个表达式的结果为浮点数9.0,并且使用System.out.println()方法打印出来时,会以浮点数形式输出 “a=9.0”。

扩展面试题2:

char x=‘x’;

int i=10;

System.out.println(false?i:x);

System.out.println(false?100:x);

A. 120 x

B. 120 120

C. x 120

D. 以上答案都不对

解析:

答案为A。第一个条表达式false?i:x中的条件为false,所以返回的是第二个操作数的值,即变量x的值。由于x的类型是char,但是println方法需要一个整数作为参数,所以会将x自动转换为对应的ASCII码值,即120。

在第二个条件表达式false?100:x中的条件同样为false,所以返回的是第二个操作数的值,即变量x的值。由于println方法可以接受整数参数,所以直接输出x的值,即字符’x’。

3.字符串拼接符

用处: 字符串拼接符通常是指用于将多个字符串连接在一起的特定字符或符号。在不同的编程语言和环境中,可能会使用不同的字符串拼接符。

4.位运算符: & 、 |、 ^ 、 <<、 >>、 >>>

5.表达式

5+6:算数表达式

5>6:关系表达式

5|6:位运算表达式

6.运算符的优先级别

经验:不用记,灵活运用小括号 1、括号:括号中的表达式具有最高的优先级,可以用来改变默认的运算顺序。 2、一元运算符:包括正号(+)和负号(-),它们具有较高的优先级。 3、乘法、除法和取模运算符:包括乘号(*)、除号(/)和取模(%)运算符,它们具有相同的优先级,按照从左到右的顺序进行计算。 4、加法和减法运算符:包括加号(+)和减号(-),它们具有相同的优先级,按照从左到右的顺序进行计算。 5、关系运算符:包括小于(<)、大于(>)、小于等于(<=)、大于等于(>=)、等于(==)和不等于(!=)等运算符,它们具有相同的优先级。 6、逻辑运算符:包括与(&&)、或(||)和非(!)等运算符,其中非运算符具有最高的优先级,而与和或运算符具有较低的优先级。 7、赋值运算符:包括等号(=)以及各种复合赋值运算符,如加等于(+=)、减等于(-=)等。

拓展:

什么是字符集和字符编码?

**字符:**在计算机和电信技术中,一个字符是一个单位的字形、类字形单位或符号的基本信息。即一个字符可以是一个中文汉字、一个英文字母、一个阿拉伯数字、一个标点符号等。

**字符集:**多个字符的集合。例如GB2312是中国国家标准的简体中文字符集,GB2312收录简化汉字(6763个)及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。

**字符编码:**把字符集中的字符编码为(映射)指定集合中的某一对象(例如:比特模式、自然数序列、电脉冲),以便文本在计算机中存储和通过通信网络的传递。

**字符集和字符编码的关系 ** 语注音字母,共 7445 个图形字符。

**字符编码:**把字符集中的字符编码为(映射)指定集合中的某一对象(例如:比特模式、自然数序列、电脉冲),以便文本在计算机中存储和通过通信网络的传递。

**字符集和字符编码的关系 ** 字符集是书写系统字母与符号的集合,而字符编码则是将字符映射为一特定的字节或字节序列,是一种规则。通常特定的字符集采用特定的编码方式(即一种字符集对应一种字符编码(例如:ASCII、ISO-8859-1、GB2312、GBK都是即表示了字符集又表示了对应的字符编码,但Unicode不是,它采用现代的模型)),因此基本上可以将两者视为同义词。

推荐阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。