變量的三要素
變量名,類型,保存的值
- 變量名
首先我們從簡單的說起,如何給變量命名?
變量的命名遵循所有Java標識符的命名規(guī)則,那什么是標識符呢?就是java代碼中各個組成部分的名字,比如我們后邊要學到的類、包、方法。
命名規(guī)則:
英文!
必須以下劃線()、字母、美元符($)開頭,后面跟劃線()、字母、美元符($)或數(shù)字。
比如我起一個變量名叫a,這個就是合法的;起一個變量名叫88,這個就是不合法的。
這樣我們就完成了對變量的命名,還要注意一點,就是在java語言中,有很多的關鍵字和保留字,我們命名時不能和關鍵字或保留字沖突。
上圖
image.png - 基本數(shù)據(jù)類型
- 數(shù)值
整數(shù) byte,short,int,long
25,-987, 0
小數(shù) float,double
5.23,3.14 - 字符 char
'a', '的' - 布爾型
boolean
這里我們?yōu)榱朔奖憔毩暥嘟榻B一個引用數(shù)據(jù)類型String:String為字符串類型,它不屬于基本數(shù)據(jù)類型。
如:"你好","中國的首都"
使用一個變量的步驟
- 定義一個變量
數(shù)據(jù)類型 變量名;
int money; - 給變量賦值
變量名 = 數(shù)值;
money = 1000 ;
第一步和第二步可以合并
數(shù)據(jù)類型 變量名=數(shù)值;
int money = 1000;
- 使用這個變量
System.out.println(money );
int age;//定義一個變量
age = 34; //給變量賦值
System.out.println(age); //在屏幕上輸出變量的值
String name="zhangsan";//定義一個變量,并且馬上給其賦值
System.out.println(name); //在屏幕上輸出變量的值
定義幾個變量
手機的品牌brand是華為,價格(price)2500,重量(weight)0.125千克,
顏色(color) 紅
String brand = "華為";
int price = 2500;
double weight = 0.125;
char color = '紅';
System.out.println("手機品牌:" + brand);
System.out.println("手機價格:" + price);
獲取用戶輸入
使用Scanner
Scanner sc = new Scanner(System.in);
/*
* Scanner:用于接收鍵盤錄入數(shù)據(jù)。
*
* 前面的時候:
* A:導包
* B:創(chuàng)建對象
* C:調(diào)用方法
*
*/
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
// 創(chuàng)建對象
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
System.out.println("x:" + x);
}
}
Scanner scanner = new Scanner(System.in);//定義一個從屏幕獲得輸入信息的變量scanner
System.out.println("請輸入您的年齡");
int age = scanner.nextInt();//獲得用戶從屏幕輸入的一個整數(shù),有一個阻塞的副作用,通俗點說,就是程序卡在這里了
System.out.println("您的年齡是" + age);
System.out.println("請輸入您的姓名");
String name = scanner.next();//獲得用戶從屏幕輸入的一個字符串,有一個阻塞的副作用,通俗點說,就是程序卡在這里了
System.out.println("歡迎您" + name);
運算符
- 賦值運算符=
學員王浩的Java成績是80分,學員張萌的Java成績與王浩的相同,輸出張萌的成績。
int wangScore = 80; //王浩成績
int zhangScore; //張萌成績
zhangScore = wangScore;
System.out.println(“張萌成績是" +zhangScore);
- 算數(shù)運算符+,-,*,/,%
System.out.println(1600%5);//0-4
System.out.println(3%5);//3
System.out.println(3%2);//1
System.out.println(21%5);//1
System.out.println(13%4);//1
System.out.println(m%n);//0----n-1
System.out.println(23%7);//2
System.out.println(25%7);//4
一個問題
用戶在屏幕上輸入一個天數(shù),程序回答出是幾周零幾天?
用戶在屏幕上輸入一個天數(shù),程序回答出是幾周零幾天?
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入天數(shù)");
//獲得用戶輸入的天數(shù)dayCount
int dayCount = scanner.nextInt();
System.out.println(dayCount+"天是"+ dayCount/7 + "周零" + dayCount%7 + "天");
關系運算符
比較高低、大小、長短等
張三的考試成績是否比李四高
大象是否比烏龜更長壽
籃球跟地球一樣大嗎
表達式(3+40%6)>(9/2*3)的結果是什么?
從控制臺輸入張三同學的成績,與李四的成績(80分)比較,輸出“張三的成績比李四的成績高嗎?” 的判斷結果
int liSi = 80; //學員李四成績
boolean isBig ;
Scanner input = new Scanner(System.in);
System.out.print("輸入學員張三成績: ");
int zhangSan = input.nextInt(); //輸入張三的成績
isBig = zhangSan > liSi ;
System.out.println( "張三成績比李四高嗎 ? "+isBig ); //輸出比較結果
表達式
y = x-9+(x +90);
商場推出幸運抽獎活動
抽獎規(guī)則:
顧客的四位會員卡號的
各位數(shù)字之和大于20,
則為幸運顧客。

image.png
類型轉(zhuǎn)換
自動類型轉(zhuǎn)換
某班第一次Java考試平均分81.29,第二次比第一次多2分,計算第二次考試平均分?
double firstAvg = 81.29; //第一次平均分
double secondAvg; //第二次平均分
int rise = 2;
secondAvg = firstAvg + rise;
System.out.println("第二次平均分是:" + secondAvg);
規(guī)則1:如果一個操作數(shù)為double型,則整個表達式可提升為double型
規(guī)則2:滿足自動類型轉(zhuǎn)換的條件
兩種類型要兼容:
數(shù)值類型(整型和浮點型)互相兼容
目標類型大于源類型:
例如:double 型大于 int 型
強制類型轉(zhuǎn)換
(類型名)表達式
int b = (int)10.2;
double a = 10;
int c = (int)a;
去年Apple筆記本所占市場份額是20,今年增長的市場份額是9.8,求今年所占份額?
int before = 20; //apple筆記本市場份額
double rise = 9.8; //增長的份額
int now = before+ (int)rise; //現(xiàn)在的份額
注意:當強制轉(zhuǎn)換時,精度有損失。
