java两个和三个_Java语言基础(day_03)
數(shù)據(jù)類型中補充的幾個小問題
1)在定義Long或者Float類型變量的時候,要加L或者f。整數(shù)默認是int類型,浮點數(shù)默認晨double。
byte,short在定義的肘候,他們接收的某實是一個int類型的值。這個是自己做了一個數(shù)據(jù)檢測的,如果不再它們的范圍內,就報錯。
2)byte值的問題
3)數(shù)據(jù)類型轉換之默認轉換
為什么float在long的后面?
解析圖
4)Java語言中字符char可以存儲一個中文漢字嗎?為什么呢?
可以。因為java語言中的字符占用兩個字節(jié)。(Java語言采用的是Unicode編碼)
運算符(掌握)
1)概述
就是對常量和變量進行操作的符號。
2)分類
> 算術運算符
+,-,*,/,%,++,--
算術運算符案例圖
1)注意:
A:整數(shù)相除只能得到整數(shù)。如果想得到小數(shù),必須把數(shù)據(jù)變化為浮點數(shù)類型
B: '/'獲取的是除法操作的商,'%'獲取的是除法操作的余數(shù)。
2)++,--運算符的使用:
A:單獨使用,放在操作數(shù)的前面和后面效果一樣。(這種用法是我們比較常見)
B:參與運算使用,放在操作數(shù)的前面,先自增或者自減,然后再參與運算。放在操作數(shù)的后面,先參與運算,再自減或者自增。
作用:就是對變量進行自增1或者自減1。
單獨使用
參與運算
3)++,--的練習題
題目
第一題解析圖
第二題解析圖
4)+的三種用法以及案例
> 賦值運算符
=,+=,-=,*=,/=,%=? ? ? ? 除=外,其余均為擴展的賦值運算符,=為基本的賦值運算符
基本賦值運算符,即把左邊的值賦給右邊;而擴展賦值運算符,先將左邊和右邊進行運算,然后賦值給左邊。
賦值運算符的案例
面試題案例
> 比較運算符
==,!=,>,=,<=
特點:無論操作是簡單還是復雜,結果都是boolean類型
注意事項:“==” 不能寫成 “=”
比較運算符的案例
> 邏輯運算符
&,|,^,!? ? ? ? &&,||
特點:邏輯運算符一般用于連接boolean類型的表達式或者值。
表達式:就是用運算符把常量或者變量連接起來的符合java語法的式子。舉例:(算術表達式) a+b,(比較表達式) a == b
邏輯運算符用于連接布爾型表達式,在Java中不可以寫成33&x<6。
“&”和“&&”的區(qū)別:
單&時,左邊無論真假,右邊都進行運算;
雙&時,如果左邊為真,右邊參與運算,如果左邊為假,那么右邊不參與運算。
“|”和“||”的區(qū)別同理,雙或時,左邊為真,右邊不參與運算。
異或(^)與或(|)的不同之處是:當左右都為true時,結果為false。
結論:&邏輯與:有false則false
結論:|邏輯或:有true則true
結論:^邏輯異或:相同為false,不同為true
結論:!邏輯非:取反
&與&&的區(qū)別案例
> 位運算符(了解)
<>,>>>,&,|,^,~
注意:要做位運算,首先要把數(shù)據(jù)轉換為二進制。
位運算符案例題
&和|的運算解析
^和~的運算解析
^的特點:一個數(shù)據(jù)對另一個數(shù)據(jù)位異或兩次,該數(shù)本身不變。
<
>>:右移? ? 最高位是o,左邊補齊o; 最高位是1,左邊補齊1
>>>:無符號右移? ? 無論最高位是0還是1,左邊補齊0
相關的例題
程序的原理解析
面試題:
1)請用最有效率的方式寫出計算2乘以8的結果
2*8? ? ?——>? ? 2 << 3
2)請自己實現(xiàn)兩個整數(shù)變量的交換(^的特點)
> 三目運算符
1)格式:(關系表達式)?表達式1:表達式2;
關系表達式的結果是一個boolean類型,如果為true,運算后的結果是表達式1;如果為false,運算后的結果是表達式2。
2)示例
利用三目運算求x,y中的最大值
3)練習題
I.獲取兩個整數(shù)中的最大值
II.獲取三個整數(shù)中的最大值
III.比較兩個整數(shù)是否相同
鍵盤錄入數(shù)據(jù)(掌握)
1)概述
我們目前在寫程序的時候,數(shù)據(jù)值都是固定的,但是實際開發(fā)中,數(shù)據(jù)值肯定是變化的。所以,我準備把數(shù)據(jù)改進為鍵盤錄入,提高程序的靈活性。
2)如何實現(xiàn)鍵盤錄入數(shù)據(jù)呢?
I.導包? ? ? ?import java.util.Scanner;(位置放到class定義的上面)
II.創(chuàng)建對象????Scanner sc = new Scanner(System.in);
III.接收數(shù)據(jù)????int x = sc.nextlnt();
代碼樣式
3)鍵盤錄入數(shù)據(jù)練習
在類前添加
導包
I.鍵盤錄入兩個數(shù)據(jù),并對這兩個數(shù)據(jù)求和,輸出其結果
II.鍵盤錄入兩個數(shù)據(jù),獲取這兩個數(shù)據(jù)中的最大值
III.鍵盤錄入三個數(shù)據(jù),獲取這三個數(shù)據(jù)中的最大值
IV.鍵盤錄入兩個數(shù)據(jù),比較這兩個數(shù)據(jù)是否相等
流程控制語句
在一個程序執(zhí)行的過程中,各條語句的執(zhí)行順序對程序的結果是有直接影響的。也就是說程序的流程對運行結果有直接的影響。所以,我們必須清楚每條語句的執(zhí)行流程。而且,很多時候我們要通過控制語句的執(zhí)行順序來實現(xiàn)我們要完成的功能。
流程控制語句分類:順序結構、選擇結構、循環(huán)結構
> 順序結構
1)概述
是程序中最簡單最基本的流程控制,沒有特定的語法結構,按照代碼的先后順序,依次執(zhí)行,程序中大多數(shù)的代碼都是這樣執(zhí)行的。【總的來說:寫在前面的先執(zhí)行,寫在后面的后執(zhí)行】
2)結構圖
順序結構圖
3)示例
> 選擇結構(掌握)
1)概述
也被稱為分支結構。選擇結構有特定的語法規(guī)則,代碼要執(zhí)行具體的邏運算進行判斷,邏輯運算的結果有兩個,所以產(chǎn)生選擇,按照不同的選擇執(zhí)行不同的代碼。
Java語言提供了兩種選擇結構語句:if語句和switch語句
2)if語句(有三種格式)
注意事項:關系表達式無論簡單還是復雜,結果必須是boolean類型。if語句控制的語句體如果是一條語句,大括號可以省略;如果是多條語句,就不能省略。(建議永遠不要省略。)【一般來說:有左大括號就沒有分號,有分號就沒有左大括號】
I.if(關系表達式){ 語句體 }
執(zhí)行流程:首先判斷關系表達式看結果是true還是false,如果為true就執(zhí)行語句體;如果為false就不執(zhí)行語句體。
格式I的流程圖
格式I的示例
II.if(關系表達式){? 語句體1;? }else{? 語句體2;? }
執(zhí)行流程:首先判斷關系表達式看其結果是true還是false,如果是true就執(zhí)行語句體1;如果是false就執(zhí)行語句體2。
格式II的流程圖
格式II的示例
if語句格式II的練習:
(1)獲取兩個數(shù)據(jù)中的較大的值
(2)判斷一個數(shù)據(jù)是奇數(shù)還是偶數(shù),并輸入
前面講解過三元運算符,它根據(jù)比較判斷后,給出的也是兩個結果,所以,這種情況和if語句的格式II很相似,他們在某些情況下應該是可以相互轉換的。
三元運算符的操作都可以使用if語句改進,反之不成立。
什么時候不成立呢?當if語句控制的語句體是一條輸出語句的時候,就不成立。因為三元運算符是一個運算符,必須要求有一個結果返回。而輸出語句卻不能作為一個返回結果。
不成立的示例
III.if(關系表達式1){? 語句體1;? }else if(關系表達式2){? 語句體2;? }... else{? 語句體n+1;? }
執(zhí)行流程:首先判斷關系表達式1看其結果是true還是false,如果是true就執(zhí)行語句體1;如果是false就繼續(xù)判斷關系表達式2看其結果是true還是false,如果是true就執(zhí)行語句體2;如果是false就繼續(xù)判斷關系表達式...看其結果是true還是false.....如果沒有如何關系表達式為true,就執(zhí)行語句體n+1。
格式III的流程圖
示例:鍵盤錄入一個成績,判斷并輸出成績的等級。? ? 0~60為不及格,60~70為及格,70~80為良,80~90為好,90~100為優(yōu)秀。
三種if語句分別適合做什么事情呢?格式I適合做單個判斷;格式II適合做兩個判斷;格式III適合做多個判斷。
if語句的練習題
(1)鍵盤錄入x的值,計算出y的并輸出。
要求
(2)鍵盤錄入月份的值,輸出對應的季節(jié)。
要求
主要的語句體
(3)獲取三個數(shù)據(jù)中的最大值
總結
以上是生活随笔為你收集整理的java两个和三个_Java语言基础(day_03)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA确定这天是这年的某一天_[Jav
- 下一篇: java完数流程图_编程基本功训练:流程