日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

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

發布時間:2025/3/20 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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-[运算符]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。