寫在前面:今天繼續分享一些JAVA的基礎操作,這個系列主要是以代碼爲主體。
學習內容安排
JAVA基礎課程學習:數據類型(一)、運算符表達式和程序結構控制(二)、面向對象基礎:類與對象和接口(三)、面向對象基礎:繼承抽象多態封裝(四)、異常類和常用實用類(五)、組件和事件處理(六)、IO和JDBC(七)、泛型和集合函數(八)。
二、運算符表達式和程序結構控制
在本節的分享中,我們主要會簡單說幾句JAVA的運算符,重點對if、switch、for、while、以及break和continue的使用。
JAVA運算符
JAVA常見的運算符有的算術運算符、自增自減運算符、關係運算、邏輯運算符與表達式、賦值運算符,分別是,
類別 | 運算符 | 含義 |
---|---|---|
算術運算符 | + | 加法運算 |
算術運算符 | - | 減法運算 |
算術運算符 | * | 乘法運算 |
算術運算符 | / | 除法運算 |
算術運算符 | % | 求餘運算 |
自增自減運算符 | ++,– | 自增,自減 |
關係運算符 | >,>= | 大於,大於等於 |
關係運算符 | <,<= | 小於,小於等於 |
關係運算符 | ==,!= | 等於,不等於 |
邏輯運算符 | &&,||,! | 邏輯與,邏輯或,邏輯非 |
賦值運算符 | = | 賦值 |
這裏值得注意的是在自增運算和自減運算各自分別有兩種,就是++x與x++,前者是先自增再使用x,後者是先使用x再自增。另一個值得注意的是邏輯或的判斷,下面給出兩個例子,
package tt;
public class Test2 {
public static void main(String[] args) { //輸入psvm按下tab快速生成語句
//自增測試
int x = 10;
int y = x++; //x++意思是先使用x,然後再加1,也就是先賦值再自加
//int y = ++x; //++x意思是先加1,再賦值
System.out.println("x= "+x);
System.out.println("y= "+y);
//邏輯或運算測試
int s, z = 10;
if(((s=0) == 0)||(z=20) == 20) {
System.out.println("現在的z的值是: "+z);
}
}
}
x= 11
y= 10
現在的z的值是: 10
從結果可以看出++x就是先對y進行賦值,然後再對x自增。然後下面的邏輯或判斷就是因爲第一個條件滿足了,,就不進行第二個條件判斷,所以z還是等於10。
JAVA的if語句
與其他語言中的if語句差別不大,主要是輸入格式的差別,下面展示一個簡單的if語句代碼,用來判斷x=51時,屬於哪個檔次,
//用來判斷x屬於哪個檔次
package tt;
public class Test2 {
public static void main(String[] args) {
int x =51;
if (x >= 90){
System.out.println("A");
}else if (x >= 80){
System.out.println("B");
}else if (x >= 60){
System.out.println("C");
}else{
System.out.println("D");
}
}
}
JAVA中的switch語句
switch語句就是所謂的開關語句,當發生條件時,即執行某一case,否則執行default,下面同樣給出一個例子,用來隨機輸入然後抽獎,
//隨機抽獎
package tt;
public class Test2 {
public static void main(String[] args) {
int number = 0;
System.out.println("輸入正整數(回車確定)");
Scanner reader = new Scanner(System.in);
number = reader.nextInt();
switch(number){
case 23:
System.out.println(number+"是三等獎");
break;
case 24:
System.out.println(number+"是二等獎");
break;
case 55:
System.out.println(number+"是一等獎");
break;
default:
System.out.println(number+"未中獎");
break;
}
}
}
這裏就不展示這個例子的輸出了。
JAVA中的for循環
在for循環中一般情況下需要輸入起始條件、判斷條件以及增量條件,在日常生活中for循環也會遇到很多,
//實現8+88+888+...第11項的和
package tt;
public class Test2 {
public static void main(String[] args) {
long sum = 0, a = 8, item = a;
for(int i=1; i<12; i++){
sum = sum + item;
item = item*10 + a;
}
System.out.println(sum);
}
}
當然for循環對於數組還有更方便的計算方法,可以直接聲明變量後,自動索引運算,
//對於數組的求和
package tt;
public class Test2 {
public static void main(String[] args) {
int s[] = {23,34,12,45,3,4,6,123,456};
int sum = 0;
for (int i = 0; i < s.length; i++){
sum = sum + s[i];
}
System.out.println(sum);//一般循環
sum = 0;
for (int x : s){
sum = sum + x;
}
System.out.println(sum);//數組的循環
}
}
JAVA中的while運算
while運算與for一樣是用於循環,但當我們無法知道循環次數的時候,我們可以使用while通過條件進行控制,
//while循環
package tt;
public class Test2 {
public static void main(String[] args) {
int sum = 0;
for(int i = 0; i <= 100; i = i + 2){
sum = sum + i;
}
System.out.println(sum);//for計算100以內偶數和
int sum1 = 0;
int j = 0;
while(j <= 100){
sum1 = sum1 + j;
j = j + 2;
}
System.out.println(sum);//while計算100以內偶數和
}
}
break和continue的使用
在循環中,我們常常得到某個結果後希望結束循環,我們就要使用break,或者得到某個結果後結束當前循環開始下一次,我們就要使用continue函數,
//計算10以內奇數和,尋找100以內的素數
package tt;
public class Test2 {
public static void main(String[] args) {
int sum = 0, i, j;
for (i = 1; i <= 10; i++){
if(i%2==0){
continue;//滿足條件爲偶數,進入下一次循環
}
sum = sum + i;
}
System.out.println(sum);//計算10以內的奇數和
for(j = 2; j <= 100; j++){
for(i = 2; i <= j/2; i++){ // i <= j/2 是判斷條件
if (j%i == 0)
break; //滿足條件不爲素數,退出當前循環層
}//考慮是否有因子
if(i > j/2){
System.out.println(""+j+"是素數");//統計100以內有多少素數
}
}
}
}
小練習
那麼我們就來尋找一下1000以內有多少完美數吧,完美數就是這個數的因子之和(不包括本身)等於本身,比如6=1+2+3,
//尋找1000以內完美數
package tt;
public class Test2 {
public static void main(String[] args) {
for(int i = 2; i <= 1000; i++){
int total = 0;
for(int j = 1; j < i; j++){
if((i%j)==0){
total = total + j;
}
}
if(i == total){
System.out.println(i);
}
}
}
}
6
28
496
結語
本節分享了關於JAVA運算符以及if、switch、for、while、以及break和continue的使用。
謝謝閱讀。