練習:求任意數的絕對值:
一:語句:
? 語句: 以分好結尾的就是一條語句。
? 分類: 空語句和單條語句,復合語句:
? 局部變量: 在某個作用域當中有效的變量,稱之為局部變量。
? 全局變量:在類當中定義的變量稱之為全局變量。全局變量可以在類當中的任意位置被訪問。
二:數據類型的轉換:
轉換分為兩種轉換:
(1)自動轉換:(隱形轉換,向上轉型): 小類型---->大類型:
(2)強制轉換:(向下轉型)? 大類型----->小類型
? ? 語法: (數據類型)變量名稱;?
? ? 注意:(1)被強制準換的變量,要考慮最大值的問題,和精度損失的問題。
? ? ? ? ? (2)類型之間是否兼容的問題。
三:表達式:
表達式: 有操作數,運算符,以及方法的調用組成的式子就稱之為表達式。
算數表達式:
? javaSE 當中提供了一個類,類名稱為Math。該類提供相應的和數學相關的運算。
? Math類:提供了和數學先關的方法。 該類位于lang包當中。lang在使用的時候不要導包,
? 類當中提供的方法都是static方法。靜態方法可以通過類名直接調用。
? 調用方式:類名.方法名();
? 方法:
? abs("");求絕對值方法;Math.abs("");
? max(datatype,datetype1);//求最大值
? min();求最小值。
? pow(value1,value2);參數value1的value2次冪。
? sqrt();開方
round();四舍五入。返回最接近的整數。
ceil(); 天花板方法。返回大于該數的最小整數。 (向上取整)
floor();地板方法。返回小于該數的最大整數。(向下取整)
random();返回一個double類型的值:值位于0.0 -1.0之間。包括0.0 不包括1.0? --[)
練習:生成5-10之間的隨機數。
? ? ? 考慮是否能生成6-10.
其他表達式:
四:流程控制:
a:順序結構: 按照順序,從上往下依次執行。
b:選擇結構(控制): 控制一定的條件,執行某一部分代碼。
? ? ? ? ? ? ? ? ? ? ? java當中提供了兩種控制結構,if else switch
c:循環結構: 可以在一定的條件下,重復的執行某一部分代碼。 (迭代)
選擇結構:
if語句:
1:語法:
? if(表達式){
...語句塊。
? }?
? 語法的解釋:
? 表達式:(1)運算結果,必須是boolean類型。
如果表達式的值的為true,執行if對應的語句塊。
? 如果表達式的值為false。不執行。
? (2) 如果語句塊只有一條語句,那么{} 可以省略不寫。
2:語法:
if(表達式){
? ? 語句塊1;
}else{
? ? 語句塊;
}
? 解釋:(1)表達式必須是boolean類型;
表達式的值如果為true,執行語句塊1.
表達式的值為false,執行語句塊2.
(2)如果語句塊1和語句塊2只有一條語句,那么{} 可以省略。
(3)if和else之間不能有任何的其他語句。
(4)if 和else 語句塊當中可以嵌套使用 if else
? 案例:
? 求兩個數的最大值:
? 3:語法:
? if(){
? ?}else if(){
}else if(){ }...
?else{? }
? ? 特點: if 和else if只能執行其中一個。
? ? 案例:給定月份,求月份所屬的季節。 int 9;---3,4,5 春季
? ? 案例:
? ? 練習: 給定一個分數,打印分數所屬的等級。
? 90-100 A? ? ? 80-89? B? ? ?70-79? C? ? 60-69? D? ? 0-59? E? ?其他? error
? 作業“:(1) 給定等級,打印范圍。
(2)判斷給定年份是平年還是閏年。
判斷閏年的標準:
能被4整除,且不能被100整除
只能能被400整除。
? (3)思考: 三目運算符和if else的區別?參考關于if else 和 三目運算符的效率問題
1.從類型轉換上看,因為三目運算符在做判斷的時候需要考慮到類型轉換的問題,而if else 不需要考慮類型轉換。 所以 if else 效率高一點。?
2.從總體上看?
A:需要考慮到循環自身所占用的時間。?
B:需要考慮到賦值以及循環內的其他運算符所占用的時間。?
所以 三目運算符效率高一點
? (4)給定數字,0-6打印 數字對應的星期: 0-sunday