Java程序设计(基础)- 基本语法,java面试八股文

  1. 如果运算过程中有大类型参与了运算,结果一定是大类型

  2. 由于绝大部分小数在转化成二进制的时候是无限小数,所以double类型在存储小数的时候也没有办法精确存储,因此也没有办法来精确运算。

  3. 整数/0 :ArithmeticException(算数异常)。

任意非0数字/0.0或者是任意小数/0 :Infinity(无穷大)。

0/0.0->NaN-> Not a Number(非数字)NaN和任何值都不相等包括其本身。

判断一个对象是否是NaN只有一个方法isNaN();

  1. %(取 需要zi料+ 绿色徽【vip1024b】

模运算符/取余)

在做取余运算的时候,先按正数进行取余,然后看%左边数字的符号,如果%左边的数字是正数,那么结果就是正数。

3.2 % 2 = 1.2 5.4%1.7=0.3 -3.5%1.7=-0.1

  1. ++/–(自增自减运算)

相当于在原来的基础之上自增/自减1。

++ 在变量名之前,表示先自增,自增完成之后才会参与其他运算。

++ 在变量名之后,表示先拿变量的原来的值参与运算,然后再自增。

  1. +(字符串拼接符/连接符)

“a”+”b” —>”ab” 2+3+”a”—>”5a”

可以利用+将两个字符串进行拼接,或者也可以利用+将任何数据与字符串进行拼接。

2、赋值运算符


十二个运算符:=(等于) +=(加等) -=(减等) *=(乘等) /=(除等) %=(取余等) &=(与等) |=(或等) ^=(异或等) <<=(左移等) >>=(右移等) >>>=(无符号右移等)

注意:除了=以外,其余的赋值运算符要求这个变量必须有初始值。

byte/short可以参与赋值运算,运算结果仍是原类型。

3.关系 运算符/比较运算符


关系运算符又叫比较运算符。

七个运算符:==等于、!= 不等于、>(大于) 、<(小于)、>=(大于等于)、<=(小于等于)、instanceof(判断对象于实例的关系)。它们的结果全是boolean型

instanceof 用于判断对象是否是否对应类的实例的。

“abc” instanceof String -> true

运算完成之后结果是一个boolean类型的值。

4.逻辑运算符


六个运算符:&与(And)、|或(Or)、!非(Not)、^异或、&&短路与、||短路或

1.&运算规则:

true&true=true true&false=false false&true=false false&false=false

见false为false。

2.|运算规则:

true|true=true true|false=true false|true=true false|false=false

见true为true。

3.!运算规则:

!true=false !false=true

非否即是,非是即否。

4.^运算规则:

true^true=false true^false=true false^true=true false^false=false

相同则为false,不同则为true。

5.&&运算规则:

对于&&而言,如果前边的表达式的结果为false,则后边的表达式就不再运算。

6.||运算规则:

对于||而言,如果前边的表达式的结果为true,则后边的表达式就不再运算。

注意:短路特性可以提高代码的运算速度。

5.位运算符


7个运算符号:

&(与)、|(或)、 ^(异或)、<<(左移)、>>(右移)、>>>(无符号右移)、~(取反)

注意:位运算针对的是整数,运算的是数据的补码

可以利用&来判断是否是奇偶数。

1.原、反、补码

数据在计算机中是以补码形式来存储的。最高位是一个符号位:如果是正数,最高位为0,如果是负数,最高位为1。对于正数而言,原反补三码一致。负数的反码是在原码的基础上,最高位不变,其余位0变1,1变0,负数的补码是在反码的基础上+1。

6- 00000000 00000000 00000000 00000110—原码/反码/补码

-6 - 10000000 00000000 00000000 00000110—原码

11111111 11111111 11111111 11111001—反码

11111111 11111111 11111111 11111010—补码

11111111 11111111 11111111 11101101—补码

11111111 11111111 11111111 11101100—反码

10000000 00000000 00000000 00010011—原码— -19

2.与或非运算规则

与或非运算规则

奇数^偶数=奇数

a ^ b ^ b = a; b ^ b ^ a = a

注意:

Java中所有的数值类型的数据都是有符号的。

baty/short参加左移和右移和无符号右移结果为int。

一个数字右移几位就是将这个数字除以2的几次方,然后取整。

取反快捷运算:~i= - i - 1

这里写图片描述

这里写图片描述

6.三元运算符


三元运算符又叫三目运算符,还可叫做条件运算符。

1.格式

逻辑值 ? 表达式1 :表达式2;

int i = 4, j = 7;

int k = i > j ? i : j;

System.out.println(k);//结果为j。

2.执行顺序:

如果逻辑值为true的话,执行表达式1,;反之执行表达式2。

①三元表达式在运算完成之后必须有一个结果。

//不允许,运算完成之后,没有结果。

A > b ? System.out.println( a ) : System.out.println( b );

②表达式1和表达式2的结果必须是相同类型或相容。

double d = a > b ? a * 2 : a * 2.5;

③在三元表达式形成嵌套的时候,尽量添加()来提高代码的可读性

int max = a > b ? ( a > c ? a : c ) : ( b > c ? b : c );

四、字面量

===================================================================

  • 字节字面量

字面量是指由字母,数字等构成的字符串或者数值,它只能作为右值出现,所谓右值是指等号右边的值,如:int a=123这里的a为左值,123为右值。

常量和变量都属于变量,只不过常量是赋过值后不能再改变的变量,而普通的变量可以再进行赋值操作。

最后

光给面试题不给答案不是我的风格。这里面的面试题也只是凤毛麟角,还有答案的话会极大的增加文章的篇幅,减少文章的可读性

Java面试宝典2021版

最常见Java面试题解析(2021最新版)

2021企业Java面试题精选

u09WHid-1710357460276)]

最常见Java面试题解析(2021最新版)

[外链图片转存中…(img-WdMU2yvr-1710357460276)]

[外链图片转存中…(img-MXtU6rH7-1710357460276)]

2021企业Java面试题精选

[外链图片转存中…(img-Zw3CtjY7-1710357460277)]

[外链图片转存中…(img-vIMFUWs7-1710357460277)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值