欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

java 左右两边数据类型不一样_Java笔记-day004-[运算符]

发布时间:2025/3/20 java 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java 左右两边数据类型不一样_Java笔记-day004-[运算符] 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

java中的数据类型

两种\无数种

基本数据类型\引用数据类型

基本数据类型的分类[四类八种]

布尔类型

boolean true\false

字符类型

char 不区分中英文统一两个字节16个位

取值范围: 0 -65535

整数类型

byteshortintlong

位8163264

字节1248

我们在使用整数类型的时候呢,需要去注意他们的取值范围

尤其是在我们做乘法运算的时候需要注意应用Long

定义long类型的时候我们需要在数值后面加L或小写的L

浮点类型

floatdouble

位3264

字节48

默认值是Double如果我们需要使用float 需要在后面加F\f

double d = 45;//?45.0

int i = (int)45.5;//?45

Java中的运算符

+ - * / %

++两边如果是基本数据类型算数运算、

+两边如果是基本数据类型+String 那么就是字符串的拼接

-

*

/Java中整数/整数 = 整数;

%取模运算符求余数

+= -= *= /= %=

[他们能够保证运算符的左边的数据类型不发生改变 -》 隐式的强转]

面试题:

short x = 1;

x = x + 1;

System.out.println(x);//错误

short y = 1;

y += 1;//y = (short)(y + 1);

System.out.println(y);//2

++ --

[a:取值 b:运算x++ -> 先a后b++x -> 先b后a]

<= >= ! = != == < >

> < >= <= -> 返回类型boolean类型 -》 true/false

!: 非 !boolean

!true = false!false = true

!=: 判断左右两边的值是否不相等

System.out.println(45 != 45);//false

=和== 之间的区别?

=:赋值运算符 将右侧的值交给左侧的变量保管

==: 判断两边值是否相等 相当于数学上的等于

& && | ||

&&和&之间的区别?

相同点:&&和&都是逻辑的与 相当于汉文中并且的意思

需要前后两个条件都成立才可以

不同点:&&叫做逻辑的短路与 有短路特性

短路特性:如果通过前面的条件已经可以得出最终的结果

后面的条件直接舍弃不再判断

&既可以作为逻辑运算符 还可以作为按位运算符

||和|之间的区别?

相同点:||和|都是逻辑的或 相等于汉文中或者的意思

需要前后只要有一个条件成立就可以

不同点:||叫做逻辑的短路或 有短路特性

短路特性:如果通过前面的条件可以得出最终结果的话

后面的条件直接舍弃 不再判断

& | ^ ~(按位(二进制)运算符)

& | 什么情况下表示按位运算符 什么情况下表示逻辑运算符?

看运算符两边的数据类型:

如果两边是boolean类型 -> 逻辑运算符

如果两边是数字 -> 按位运算符

基本用法:(非重点)

&:按位的与 需要上下都为1才写1

System.out.println(7 & 5);//5

7:4 + 2 + 1 = 111(二进制码)

5:4 + 1 = 101(二进制码)

111

&101

101 -> 4 + 1 = 5

|:按位的或 上下只要有1就写1

System.out.println(7 | 5);//7

111

|101

111 -> 4+2+1=7

^:按位的异或 上下只要不一样就写1

System.out.println(7 ^ 5);//2

111

^101

010 -> 2

---交换两个变量的值---

int x = 39;

int y = 74;

A:创建第三块空间

int z = x;

x = y;

y = z;

B:不借助第三块空间的方式交换

x = x ^ y;

y = x ^ y;

x = x ^ y;

~:按位取反 原本二进制1 -> 0 0 -> 1

byte x = 5;

~x;

5: 4+1=00000101 -> 11111010(二进制码)

11111111 -> -1 - 1 - 4 = -6

***重点:************

&:

在某些情况下&可以取代%的元素

某些情况:

当我们拿着一个正数%上2的n次方数的时候

其实他的结果完全等价于

我们拿着这个数字&上2的n次方数-1的结果

27%2%4%8%16.......%2(n)

13311

27&1&3&7&15.......&2(n)-1

13311

>> << >>>(位(二进制)移运算符)

<>相等于除以 移动多少位相等于乘以/除以2的几次方数

*2*4*8*16.....*2(n)

<<1<<2<<3<<4.....<

/2/4/8/16...../2(n)

>>1>>2>>3>>4.....>>n

>>和>>>之间的区别?

>>叫做有符号右移 移动之后空缺的高位看原本的符号位

byte x = 55;

x >> 2;

55:32 + 16 + 4 + 2 + 1 = 00110111

00110111

00001101

byte x = -55;

x >> 2;

-55:-1-32-16-4-2 = 11001001

11001001

11110010

>>>叫做无符号右移 移动之后空缺的高位直接补0

byte x = 55;

x >>> 2;

00110111

00001101

byte x = -55;

x >>> 2;

11001001

00110010

三目运算符

1 ? 2 : 3

1:永远是个判断条件

2:符合条件要执行的语句

3:不符合条件要执行的语句

总结

以上是生活随笔为你收集整理的java 左右两边数据类型不一样_Java笔记-day004-[运算符]的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。