一:運算符與表達式
這2個概念,這2個語法是緊密相連的!
根據(jù)不同的運算符,就有不同的表達式
什么是表達式? 表達式=變量和運算符一起的操作。注意,沒有分號
有分號的是語句!!
從語法角度來說。
Java 是由語句組成(以分號結(jié)尾的。)
而語句 又是由表達式組成
而表達式 又是由變量與運算符組成
運算符有哪些 表達式有哪些
+,-,*,/,% (算術(shù)運算符) 這算術(shù)運算符對應(yīng)的表達式,叫
算術(shù)表達式
int a=10, b=1; int c=a+b; 其中a+b 就是算術(shù)表達式
++,――,(自增,自減運算符也叫單目) int a=1; int b=a++; int c=++a;
運算符,單目就是只有一個變量 //int b=a++; 表示先把a的值賦值給b,然后a自身+1
//int c=++a; 表示先a自身+1,然后賦值給c
例子:
//編寫一個程序,它從鍵盤接收兩個數(shù)字,
//并使用/和%運算符來顯示相除之后的結(jié)果和余數(shù);
//這句就是定義一個鍵盤輸入的變量 sn ALT+/
//syso ALT+/
Scanner sn=new Scanner(System.in);
System.out.println("輸入第一個數(shù)字:");
int num1=sn.nextInt();
System.out.println("輸入第2個數(shù)字:");
int num2=sn.nextInt();
int result1=num1/num2;
int result2=num1%num2;
System.out.println("結(jié)果1="+result1+",結(jié)果2="+result2);
//從鍵盤輸入一個4位的整數(shù),分別顯示其千位,百位,十位,個位。
Scanner s=new Scanner(System.in);
System.out.println("請輸入一個4位的整數(shù):");
int num=s.nextInt();
//num=1234
int q=num/1000;
int b=(num/100)%10;//(num-q*1000)/100;
int shi=(num/10)%10;//(num-q*1000-b*100)/10;
int g=num%10;
System.out.println("q="+q+",b="+b+",shi="+shi+",g="+g);
>,<,>=,<=,!=,== 對應(yīng)的表達式叫關(guān)系表達式或比較表達式
都是關(guān)系運算符或比較運算符 這表達式返回的結(jié)果是 true 或 false
int a=10,b=2; boolean c=a>b;
=
賦值運算符 對應(yīng)的表達式就是賦值表達式
int a=10;
&&(與) ||(或) !(非)
邏輯運算符
&& 符號左右2邊的表達式都為真,才為真
|| 符號左右2邊的表達式有一個為真,那么就為真
! 符號一邊的表達式為真,結(jié)果為假
表達式為假,那么結(jié)果為真
int a=10,b=20;
boolean c=(a>b) && (a<b); c=false
boolean d=!(a>b); d=true
這么多表達式!有一個優(yōu)先級
先!,然后算術(shù)表達式,然后關(guān)系表達式,最后&&,|| 最終=
//從鍵盤輸入一個字母,顯示其下一個字母,比如輸入a,顯示b;輸入A,顯示B。
Scanner s=new Scanner(System.in);
System.out.println("請從鍵盤輸入一個字母:");
String str=s.next();//hello
//從字符串str中得到索引位置為0的字符
char c=str.charAt(0);
//得到字母c的下一個字母
System.out.printf("%c",c+1);
//字符串的方法 charAt(int index)
//格式化輸出 printf(“格式化符號”,數(shù)據(jù));