摘要:算數(shù)操作符基本算數(shù)操作符任意運(yùn)算單元的長(zhǎng)度超過(guò)如果有任何運(yùn)算單元的長(zhǎng)度超過(guò),那么運(yùn)算結(jié)果就按照最長(zhǎng)的長(zhǎng)度計(jì)算結(jié)果類型是的運(yùn)算結(jié)果是型,所以要進(jìn)行強(qiáng)制轉(zhuǎn)換任意運(yùn)算單元的長(zhǎng)度小于如果任何運(yùn)算單元的長(zhǎng)度都不超過(guò)那么運(yùn)算結(jié)果就按照來(lái)計(jì)算結(jié)果類型
1 算數(shù)操作符 (1) 基本算數(shù)操作符
+ - * /
public class HelloWorld { public static void main(String[] args) { int i = 10; int j = 5; int a = i+j; int b = i - j; int c = i*j; int d = i /j; } }(2) 任意運(yùn)算單元的長(zhǎng)度超過(guò)int
如果有任何運(yùn)算單元的長(zhǎng)度超過(guò)int,那么運(yùn)算結(jié)果就按照最長(zhǎng)的長(zhǎng)度計(jì)算
int a = 5;
long b = 6;
a+b結(jié)果類型是long
public class HelloWorld { public static void main(String[] args) { int a = 5; long b = 6; int c = (int) (a+b); //a+b的運(yùn)算結(jié)果是long型,所以要進(jìn)行強(qiáng)制轉(zhuǎn)換 long d = a+b; } }(3) 任意運(yùn)算單元的長(zhǎng)度小于int
如果任何運(yùn)算單元的長(zhǎng)度都不超過(guò)int,那么運(yùn)算結(jié)果就按照int來(lái)計(jì)算
byte a = 1;
byte b= 2;
a+b結(jié)果類型是int
public class HelloWorld { public static void main(String[] args) { byte a = 1; byte b= 2; byte c = (byte) (a+b); //雖然a b都是byte類型,但是運(yùn)算結(jié)果是int類型,需要進(jìn)行強(qiáng)制轉(zhuǎn)換 int d = a+b; } }(4) %取模
public class HelloWorld { public static void main(String[] args) { int i = 5; int j = 2; System.out.println(i%j); //余數(shù)為1 } }(5) 自增 自減
++ -- 在原來(lái)的基礎(chǔ)上增加1或者減少1
public class HelloWorld { public static void main(String[] args) { int i = 5; i++; System.out.println(i);//輸出為6 } }(6) 自增 自減操作符置前以及置后的區(qū)別
i++; 先取值,再運(yùn)算
++i; 先運(yùn)算,再取值
public class HelloWorld { public static void main(String[] args) { int i = 5; System.out.println(i++); //輸出5 System.out.println(i); //輸出6 int j = 5; System.out.println(++j); //輸出6 System.out.println(j); //輸出6 } }2 關(guān)系操作符
> 大于
>= 大于或等于
< 小于
<= 小于或等于
== 是否相等
!= 是否不等
public class HelloWorld { public static void main(String[] args) { int a = 5; int b = 6; int c = 5; System.out.println(a>b); //返回 false System.out.println(a>=c); //返回 true System.out.println(a==b); //返回false System.out.println(a!=b);//返回true } }3 邏輯操作符 (1) 長(zhǎng)路與和短路與
無(wú)論長(zhǎng)路與&還是短路與&&,兩邊的運(yùn)算單元都是布爾值
都為真時(shí),才為真
任意為假,就為假
區(qū)別
長(zhǎng)路與& 兩側(cè),都會(huì)被運(yùn)算
短路與&& 只要第一個(gè)是false,第二個(gè)就不進(jìn)行運(yùn)算了
public class HelloWorld { public static void main(String[] args) { //長(zhǎng)路與 無(wú)論第一個(gè)表達(dá)式的值是true或者false,第二個(gè)的值,都會(huì)被運(yùn)算 int i = 2; System.out.println( i== 1 & i++ ==2 ); //無(wú)論如何i++都會(huì)被執(zhí)行,所以i的值變成了3 System.out.println(i); //短路與 只要第一個(gè)表達(dá)式的值是false的,第二個(gè)表達(dá)式的值,就不需要進(jìn)行運(yùn)算了 int j = 2; System.out.println( j== 1 && j++ ==2 ); //因?yàn)閖==1返回false,所以右邊的j++就沒(méi)有執(zhí)行了,所以j的值,還是2 System.out.println(j); } }(2) 短路或和長(zhǎng)路或
無(wú)論長(zhǎng)路或|還是短路或||,兩邊的運(yùn)算單元都是布爾值
都為假時(shí),才為假
任意為真,就為真
區(qū)別
長(zhǎng)路或| 兩側(cè)都會(huì)被運(yùn)算
短路或|| 只要第一個(gè)是true的,第二個(gè)就不進(jìn)行運(yùn)算了
public class HelloWorld { public static void main(String[] args) { //長(zhǎng)路或 無(wú)論第一個(gè)表達(dá)式的值是true或者false,第二個(gè)的值,都會(huì)被運(yùn)算 int i = 2; System.out.println( i== 1 | i++ ==2 ); //無(wú)論如何i++都會(huì)被執(zhí)行,所以i的值變成了3 System.out.println(i); //短路或 只要第一個(gè)表達(dá)式的值是true的,第二個(gè)表達(dá)式的值,就不需要進(jìn)行運(yùn)算了 int j = 2; System.out.println( j== 2 || j++ ==2 ); //因?yàn)閖==2返回true,所以右邊的j++就沒(méi)有執(zhí)行了,所以j的值,還是2 System.out.println(j); } }(3) 取反
取反!
真變?yōu)榧?/p>
假變?yōu)檎?/p>
public class HelloWorld { public static void main(String[] args) { boolean b = true; System.out.println(b); //輸出true System.out.println(!b);//輸出false } }(4) 異或^
異或^
不同,返回真
相同,返回假
public class HelloWorld { public static void main(String[] args) { boolean a = true; boolean b = false; System.out.println(a^b); //不同返回真 System.out.println(a^!b); //相同返回假 } }4 位操作符
略
5 賦值操作符賦值操作
=
(1) 賦值操作對(duì)本身進(jìn)行運(yùn)算,并賦值
+=
-=
*=
/=
%=
&=
|=
^=
<<=
>>=
>>>=
賦值操作的操作順序是從右到左
int i = 5+5;
首先進(jìn)行5+5的運(yùn)算,得到結(jié)果10,然后把10這個(gè)值,賦給i
public class HelloWorld { public static void main(String[] args) { int i = 5+5; } }(2) 對(duì)本身進(jìn)行運(yùn)算,并賦值
+=即自加
i+=2;
i=i+2;
其他的 -= , *= , /= , %= , &= , |= , ^= , >= , >>>= 都是類似,不做贅述
public class HelloWorld { public static void main(String[] args) { int i =3; i+=2; System.out.println(i); int j=3; j=j+2; System.out.println(j); } }6 三元操作符
表達(dá)式?值1:值2
如果表達(dá)式為真 返回值1
如果表達(dá)式為假 返回值2
public class HelloWorld { public static void main(String[] args) { int i = 5; int j = 6; int k = i < j ? 99 : 88; // 相當(dāng)于 if (i < j) { k = 99; } else { k = 88; } System.out.println(k); } }7 Scanner (1) 使用Scanner讀取整數(shù)
使用Scanner類,需要在最前面加上import java.util.Scanner;
表示導(dǎo)入這個(gè)類,才能夠正常使用
import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { Scanner s = new Scanner(System.in); int a = s.nextInt(); System.out.println("第一個(gè)整數(shù):"+a); int b = s.nextInt(); System.out.println("第二個(gè)整數(shù):"+b); } }(2) 使用Scanner讀取浮點(diǎn)數(shù)
import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { Scanner s = new Scanner(System.in); float a = s.nextFloat(); System.out.println("讀取的浮點(diǎn)數(shù)的值是:"+a); } }(3) 使用Scanner讀取字符串
import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { Scanner s = new Scanner(System.in); String a = s.nextLine(); System.out.println("讀取的字符串是:"+a); } }(4) 讀取了整數(shù)后,接著讀取字符串
如果在通過(guò)nextInt()讀取了整數(shù)后,再接著讀取字符串,讀出來(lái)的是回車換行:" ",因?yàn)?b>nextInt僅僅讀取數(shù)字信息,而不會(huì)讀走回車換行" ".
如果在業(yè)務(wù)上需要讀取了整數(shù)后,接著讀取字符串,那么就應(yīng)該連續(xù)執(zhí)行兩次nextLine(),第一次是取走整數(shù),第二次才是讀取真正的字符串
import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { Scanner s = new Scanner(System.in); int i = s.nextInt(); System.out.println("讀取的整數(shù)是"+ i); String rn = s.nextLine(); String a = s.nextLine(); System.out.println("讀取的字符串是:"+a); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/67725.html
摘要:第四章引入流一什么是流流是的新成員,它允許你以聲明性方式處理數(shù)據(jù)集合通過(guò)查詢語(yǔ)句來(lái)表達(dá),而不是臨時(shí)編寫一個(gè)實(shí)現(xiàn)。 第四章 引入流 一、什么是流 流是Java API的新成員,它允許你以聲明性方式處理數(shù)據(jù)集合(通過(guò)查詢語(yǔ)句來(lái)表達(dá),而不是臨時(shí)編寫一個(gè)實(shí)現(xiàn))。就現(xiàn)在來(lái)說(shuō),你可以把它們看成遍歷數(shù)據(jù)集的高級(jí)迭代器。此外,流還可以透明地并行處理,你無(wú)需寫任何多線程代碼。 下面兩段代碼都是用來(lái)返回低...
摘要:內(nèi)部迭代與使用迭代器顯式迭代的集合不同,流的迭代操作是在背后進(jìn)行的。流只能遍歷一次請(qǐng)注意,和迭代器類似,流只能遍歷一次。 流(Stream) 流是什么 流是Java API的新成員,它允許你以聲明性方式處理數(shù)據(jù)集合(通過(guò)查詢語(yǔ)句來(lái)表達(dá),而不是臨時(shí)編寫一個(gè)實(shí)現(xiàn))。就現(xiàn)在來(lái)說(shuō),你可以把它們看成遍歷數(shù)據(jù)集的高級(jí)迭代器。此外,流還可以透明地并行處理,你無(wú)需寫任何多線程代碼了!我會(huì)在后面的筆記中...
摘要:鎖的使用建議減少鎖持有時(shí)間減少鎖粒度讀寫鎖替代獨(dú)占鎖鎖分離鎖粗化減少鎖的持有時(shí)間減少鎖的持有時(shí)間有助于降低沖突的可能性進(jìn)而提升并發(fā)能力減少鎖粒度例如內(nèi)部分為個(gè)加鎖時(shí)不會(huì)像一樣全局加鎖只需要對(duì)相應(yīng)加鎖但是如果需要獲取全局的信息比如首先會(huì)使用無(wú) 鎖的使用建議 減少鎖持有時(shí)間 減少鎖粒度 讀寫鎖替代獨(dú)占鎖 鎖分離 鎖粗化 減少鎖的持有時(shí)間 減少鎖的持有時(shí)間有助于降低沖突的可能性,進(jìn)而...
摘要:但是,最好使用差異化的類型定義,函數(shù)簽名如下其實(shí)二者說(shuō)的是同一件事。后者的返回值和初始函數(shù)的返回值相同,即。破壞式更新和函數(shù)式更新的比較三的延遲計(jì)算的設(shè)計(jì)者們?cè)趯⒁霑r(shí)采取了比較特殊的方式。四匹配模式語(yǔ)言中暫時(shí)并未提供這一特性,略。 一、無(wú)處不在的函數(shù) 一等函數(shù):能夠像普通變量一樣使用的函數(shù)稱為一等函數(shù)(first-class function)通過(guò)::操作符,你可以創(chuàng)建一個(gè)方法引用,...
摘要:文本已收錄至我的倉(cāng)庫(kù),歡迎回顧上一篇大型網(wǎng)站系統(tǒng)與中間件讀書筆記一這周周末讀了第四章,現(xiàn)在過(guò)來(lái)做做筆記,希望能幫助到大家。沒(méi)錯(cuò),我們通過(guò)肯定是可以完成兩個(gè)系統(tǒng)之間的通信的問(wèn)題的。 前言 只有光頭才能變強(qiáng)。文本已收錄至我的GitHub倉(cāng)庫(kù),歡迎Star:https://github.com/ZhongFuCheng3y/3y 回顧上一篇: 《大型網(wǎng)站系統(tǒng)與Java中間件》讀書筆記(一)...
閱讀 3616·2021-11-24 09:39
閱讀 2546·2021-11-15 11:37
閱讀 2211·2021-11-11 16:55
閱讀 5155·2021-10-14 09:43
閱讀 3703·2021-10-08 10:05
閱讀 3006·2021-09-13 10:26
閱讀 2327·2021-09-08 09:35
閱讀 3535·2019-08-30 15:55