Java語言基礎(二)
運算式和運算子:
算術運算子:
元代表多少個運算元,一元表示一個運算元;
一元運算子:++自增(只能是變數),++a等價于a = a+ 1;
++a 與 a++ 有區別: ++a 先自增 在運算 a++ 先運算 在自增
實操: int a = 5;
int b = ++a + ++a + a++ + a++ + ++a; 輸出 a 、b 的值;
+:
1、如果+號兩邊都是數字,計算功能
2、如果+號兩邊只要有一邊是非數字,連接功能
Infinity 正無窮大, NaN 非數 not a number
%: 取模,回傳兩個運算元整除后的余數,注意: 整形對0或者0.0取膜,得到的數是非數 NAN;任何數對比他本身大的數取膜時,得到的結果就是他本身
實操: 輸入一個四位數,求該四位數的個位、十位、百位及千位之和;
關系運算子:
判斷兩個或者多個運算式之間的關系是否成立,回傳結果:true/false
<,>,>=,<=,!=,==
邏輯運算子:
與:并且(&&),短路與
(exp1 && exp2) 4> 3 && ‘c’ > ‘a’
exp1 == true, exp2 == true ----->true
exp1 == true, exp2 == false ----->false
exp1 == false, 不計算exp2的值 ----->false
&:邏輯與
(exp1 & exp2)
exp1 == true, exp2 == true ----->true
exp1 == true, exp2 == false ----->false
exp1 == false, 計算exp2的值 ----->false
或:或者(||),短路或
(exp1 || exp2)
exp1 == false, exp2 == true ------>true
exp1 == false, exp2 == false------>false
exp1 == true, 不計算exp2的值------>true
|:邏輯或:有一個結果為true,那么最終的計算結果為true否則為false
(exp1 | exp2)
exp1 == false, exp2 == true ------>true
exp1 == false, exp2 == false------>false
exp1 == true, 計算exp2的值-------->true
按位或 | 按位與 & 兩邊接數字時首先得把兩邊的十進制數字轉換為二進制
運算規則:
0|0=0;0|1=1;1|0=1;1|1=1;
0&0=0;0&1=0;1&0=0;1&1=1;
異或:^ 當兩個運算式結果不同回傳true
賦值運算子:從右向左執行運算的,=左邊只能是變數
條件運算子:(三目運算子)
變數 = exp1 ? exp2 : exp3;
注意!!!
1.exp1的結果為true,則變數的值為 exp2 否則為 exp3;
2.變數的資料型別必須與exp2、exp3的值的資料型別相同
控制流陳述句:
1、判斷陳述句:
if
語法:if(條件判斷){
code;
}
if…else
語法:if(condition){
code1;
}else{
code2;
}
if…else if…else if…else
語法:if(condition1){
code1;
}else if(condition2){
code2;
}else if(condition3){
code3;
}else{
code4;
}
2、switch分支陳述句
資料型別 變數名 = 變數值;
語法:switch(變數名){
case 值1:code1; break;
case 值2:code2; break;
case 值3:code3; break;
default:code4; break;
}
注意!!!
此資料型別只能為:byte、short、char、int ,JDK1.7版本后 String(字串)也適用于switch;
實操:
1、從控制臺輸入星期(1-7),如果是輸入的1-5,列印作業愉快,如果輸入的是6或者7,列印周末愉快,如果輸入的不是1-7之間的數字,則列印輸入錯誤!(用if…else if…else if…else和switch實作);
2、陸續輸入三個整數,運用條件運算子來求出這三個數中的最大數,最小數;
附原始碼如下:
import java.util.Scanner;
public class Dome1 {
public static void main(String[] ages) {
for (int i = 1; i <= 5; i++) { // 控制行
for (int j = 1; j <= 5 - i; j++) { // 控制列
System.out.print(" ");
}
for (int k = i; k >= 1; k--) { // 控制數字
System.out.print(k);
}
for (int num = 2; num <= i; num++) { // 控制后數字
System.out.print(num);
}
System.out.println(); // 自行換行
}
// 獲取個位十位百位千位的方法
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int he;
int qianwei = num / 1000;
int baiwei = num % 1000 / 100;
int shiwei = num % 100 / 10;
int gewei = num % 10;
he = qianwei + baiwei + shiwei + gewei;
System.out.println("和為:" + he);
/*
* 陸續輸入三個整數,運用條件運算子來求出這三個數中的最大數,最小數
*/
Scanner sc2 = new Scanner(System.in);
int i = sc2.nextInt();
int j = sc2.nextInt();
int k = sc2.nextInt();
int max = i > j ? (i > k ? i : k) : (j > k ? j : k);
System.out.println(max);
int min = i > j ? (j > k ? k : j) : (i > k ? k : i);
System.out.println(min);
int n = 7;
int m = 2;
int k2 = ++n + m-- + (++m - n-- + m++) + ++n;
// 求 n , m , k的值
n = 8;
m = 3;
k2 = 14;
// 1268 & 102 45 | 17
System.out.println(1268 & 102); // 100
System.out.println(45 | 17); // 61
}
}
好了,我們Java語言基礎(二)的分享就到這里結束了,希望大家努力學習!!!
謝謝大家的欣賞與關注!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/273716.html
標籤:java
上一篇:【Java程式設計】常量與變數
下一篇:Python基礎
