變數和運算子

weixin_33724059發表於2017-12-15

變數

  • 格式
int x = 3
變數型別 變數名 = 值
  • 基本資料型別

    • byte、short、int、long(整數型)
    • float、double(小數型)
    • char(字元型)
    • boolean(布林型)
  • String(字串型)(常用)

  • 變數名

    • 命名唯一,不能重複
    • 駝峰表示法(mySuperStar)
獲取使用者輸入
Scanner scanner = new Scanner(System.in);
//定義一個從螢幕獲得輸入資訊的變數

int age = scanner.nextInt();
//獲得使用者從螢幕輸入的整數

String name = scanner.nextLine();
//獲得使用者從螢幕輸入的字串

例子

Scanner scanner=new Scanner(System.in);
System.out.println("請輸入數字:");
int age = scanner.nextInt();
System.out.println("您的年齡是"+age+"歲");
System.out.println("請輸入名字");
String name = scanner.next();
System.out.println("您的名字是"+name);

運算子

  • 算術運算子
    +,-,*,/,%
  • 賦值運算子
    =
  • 關係運算子
    <,>,!=,==,>=,<=

表示式

int x=9;
int y=x+1

例子1. 使用者輸入半徑,系統算圓的周長。

Scanner a = new Scanner(System.in);
double pai=3.14;
System.out.println("請輸入圓的半徑");
int r =a.nextInt();
double c=2*pai*r;
System.out.println("面積是"+c);

例子2. 使用者輸入3門成績,系統算出平均分。

Scanner a = new Scanner(System.in);
System.out.println("請輸入JAVA成績");
int java=a.nextInt();
System.out.println("請輸入oracle成績");
int oracle=a.nextInt();
System.out.println("請輸入HTML成績");
int html=a.nextInt();
double avg=(java+oracle+html)/3.0;
System.out.println("平均成績是"+avg);

例子3. 天數換算系統(天>周)

Scanner a = new Scanner(System.in);
System.out.println("天數換算系統");
System.out.println("請輸入天數");
int day=a.nextInt();
System.out.println(day/7+"周零"+day%7+"天");

例子4. 天數換算系統(天>年)(假設一年360天,一個月30天)

Scanner a = new Scanner(System.in);
System.out.println("天數換算系統");
System.out.println("請輸入天數");
int day=a.nextInt();
System.out.println(day/360+"年"+day%360/30+"月"+day%360%30/7+"周零"+day%360%30%7+"天");

型別轉換

  • 自動轉換

    • 目標型別必須大於原型別
char c='B';
int d=9;
int e=c+d;//int型別>char型別
  • 強制轉換
int b=(int)10.2;
double avg=(double)65/3;
double avg=(60+60+61)/(double)3;  
//=(變數型別)表示式

例子1. 去年Apple筆記本所佔市場份額是20,今年增長的市場份額是9.8,求今年所佔份額。

int lastYear=20;
double thisYear=lastYear+9.8;
System.out.println(thisYear);

例子2.從控制檯輸入張三同學的成績,與李四的成績(80分)比較,輸出“張三的成績比李四的成績高嗎?” 的判斷結果。

Scanner a=new Scanner(System.in);
int liGrade=80;
System.out.println("請輸入張三的成績");
int zhangGrade=a.nextInt();
boolean age=zhangGrade>liGrade;
System.out.println("張三的成績比李四高嗎?"+age);

例子3. 商場舉辦幸運抽獎活動,四位數的卡號各位相加大於20的會員會中獎。建立一個從控制檯輸入卡號檢視是否中獎的機制。

Scanner a=new Scanner(System.in);
System.out.println("請輸入卡號:");
int cardNo=a.nextInt();
int sum=cardNo%10+cardNo/10%10+cardNo/100%10+cardNo/1000;
System.out.println("會員卡號"+cardNo+"各位之和:"+sum);
boolean yes=sum>20;
System.out.println("是否中獎:"+yes);

例子4. 從控制檯輸入3位數,判斷該數是否為水仙花數?(水仙花數:各位的三次方相加等於該數)

Scanner a=new Scanner(System.in);
System.out.println("請輸入3位數字:");
int num=a.nextInt();
int ge=num%10;
int shi=num/10%10;
int bai=num/100%10;
int sum=ge*ge*ge+shi*shi*shi+bai*bai*bai;
boolean n=sum==num;
System.out.println("該數是否為水仙花數:"+n);
  1. 定義兩個整數a,b,從控制檯輸入兩個數,使兩個數交換。
System.out.println("請輸入第一個數:");
int a=n.nextInt();
System.out.println("請輸入第二個數:");
int b=n.nextInt();
int c=a;
a=b;
b=c;
System.out.println("交換之後"+a+":"+b);

相關文章