輸入輸出:
我們使用System.out.println(“abc”);作用:向控制檯輸入東西。
Scaner sc=new Scanner(System.in);//從輸入流中去讀取
int age=sc.nextInt();//等待接受用戶輸入的一個整型
String name=sc.nextLine();//阻塞函數,等待用戶輸入一行字符串
基本數據類型賦值:
基本數據類型是:複製傳遞
int i=10;
int j=i;//在此處將i的值拷貝過來傳遞給了j
i=20;
System.out.println(j);//結果是10
交換兩個變量的值(兩種方法解決):
int i=10;int j=20;
方法一:int temp=0;
Temp=i;//10
i=j;//20
j=i;//10
System.out.println(“i=”+i+“;j=”+j);
//輸出i=20,j=10
方法二:
i=i+j;// i=30,j=20
j=i-j;//j=10,i=30
i=i-j;//i=20,j=10
比較運算符:
1.比較運算符(又稱關係運算符)用來進行值得真假性判斷,結果是boolean類型
2. ==等於運算符!= 不等於運算符
>大於運算符>= 大於或者等於運算符
<小於運算符<= 小於等於運算符
3.System.out.println(3==5);//false
int i=9;
System.out.println(i>=3);//true
System.out.println(i==3);//false
//也可以把比較的結果賦值給boolean類型變量
int a=4;
int b=5;
boolean flag=a==b;
System.out.println(flag);//false
4.除了int、boolean等這些基本類型之外,字符串(String)等對象的相等判斷要用equals方法。
String s1="abcdefg";
String s2="abc";
System.out.println(s1.equals(s2));//false
String s3="abc";
System.out.println(s3.equals(s2));//true
System.exit(0);//退出程序,加入這句代碼,防止系統報錯
注意:
1.下面程序的執行結果是什麼?
int a=3;
int b=4;
System.out.println(a==b);//false
System.out.println(a=b);//4
2.賦值運算本身也是一個值,這個值就是賦值之後左邊的值
int i=(a=b)+3;//結果爲7
System.out.println(i);
邏輯運算符:
1.邏輯運算符用來對布爾類型的值運行運算的,主要有:
&&(與/並且)、||(或)、!(非)
2.二元運算符(+、-、>等)、一元運算符( ++、--等)
3. &&:二元運算符,兩邊都是true結果纔是true。
4. ||:二元運算符,只要有一個是true結果就是true。
5. ! 一元運算符,取反,真的變假,假的變真。
短路運算:
下面程序執行結果是什麼?
1.int i=8;
boolean b=(i>5)&&((i=i+5)>10);//true&&true
System.out.println(b);//true
System.out.println(i);//13
2.把第二句改成:
boolean b=(i>10)&&((i=i+5)>10);//false&&(不在執行)
System.out.println(b);//false
System.out.println(i);//8
結論:
1. &&當第一個爲false的時候,整個運算結果一定是false,
就沒必要算第二個了。
2. ||“或”運算符,||當第一個爲true的時候,整個運算結果一定是true,就沒必要算第二個了。
3.!“非”運算符就是一個參與運算,沒有短路問題。
三元運算符:
1.條件表達式?表達式1:表達式2
2.如果“條件表達式”爲true,則表達式的值爲“表達式1”,
否則爲“表達式2”
int i=9;
int j=(i>15?888:666);
System.out.println(j);
If 判斷語句:只能爲“true”或者“false”
if(比較表達式)//必須是boolean類型,不可以是int類型
{
//一行或多行語句
}
當“比較表達式”爲true時執行{}括號內的代碼。
注:if語句中的大括號寫不寫?
如果if語句的大括號中只有一句話,那麼可以省略大括號。
但是不建議這樣做養成良好的編程習慣,事倍功半。
練習一:
練習二:
練習三:
switch語句:
switch(表達式)
{case取值1:(取值1確定值,不能爲表達式)
{
//語句;
}
break;
case取值2:(取值2確定值,不能爲表達式)
{
//語句;
}
break;
..........
defalut:
//語句;
break;
}
注:
1.表達式可以是byte、short、int、char類型。JDK5以後還可以是枚舉類型(enum),JDK7以後還可以是String類型。
2.break意味着switch的結果。default相當於if的else,當所有都不匹配的時候,執行default。
練習一: