天天看點

java自學_資料類型_常量&變量資料類型

資料類型

辨別符

  1. 辨別符:讀辨別(zhi)符
  2. 辨別符的含義:代碼中隻要需要取名的,取的那個名字統稱辨別符
  3. 辨別符的定義規則:
    1. 可以由四種類型的字元組成:數字,字母,下劃線_,美元符号$。(字母的概念很寬泛,可以是英文,中文,日文等,但是盡量使用英文)
    2. 兩個不可以,不可以數字開頭,不可使用Java關鍵字命名
    3. 見名知意,就是看到名字就知道什麼意思,為了增加可讀性
    4. java中大小寫敏感,A跟a兩個類型是完全不同的
    5. 命名需要遵照駝峰命名法,如HolleWorld,每個單次的首字母大寫
      • 類名:首字母需要大寫,其餘遵循駝峰命名
      • 方法名,類名:首字母小寫,其餘遵循駝峰命名
      • 包名:全部小寫,可以不遵循駝峰命名
    6. 長度不限制,但是不建議太長

關鍵字

  1. 關鍵字:就是在java中被賦予特殊含義的用于專門用途的單次,就是關鍵字

變量和常量

常量

  1. 含義:常量通常指的是一個固定的值,如:1、2、3、‘a’、‘b’、true、false、等
  2. 定義:在java中,主要使用利用關鍵字final來定義一個常量,常量一旦被初始化後,它的值不能再被更改
  3. 字面常量&字元(符号)常量
    1. 字面常量:表達字面意思,1就是1,2就是2,這種叫字面常量
    2. 字元常量:使用final關鍵字修飾的PI等稱為字元常量或者符号常量
  4. 字面常量的類型:
    1. 整型常量:123、23、等整數
    2. 實型常量:3.1415926 小數
    3. 字元常量:‘a’ 使用單引号括起來的字元
    4. 邏輯常量:true跟false 邏輯常量隻有兩個值
    5. 字元串常量:“helloworld”

變量

​ 含義:變量本質上就是代表一個“可操作性存儲空間”,空間位置是确定的,但是裡面放什麼值不确定,我們可以通過變量名來通路“對應存儲空間”,進而操作空間中的值,java是一種強類型的語言,每個變量必須要有明确的變量名(空間位址)變量類型(空間大小)變量做為程式中最基本的存儲單元,其要素包括變量名,變量類型和作用域,變量隻有在聲明之後,才能為其配置設定對應長度的存儲空間

  1. 變量聲明格式:

    ​ type varName [ = value ] [varName[=value]…];

    ​ int age = 19 , age2 = 20;

    ​ 資料類型 變量名 [=初始值] [,變量名 [=初始值] …];

  2. 變量的聲明
    1. 如果你隻定義一個變量,沒有給變量指派,相當于沒有聲明這個變量
    2. 變量如果沒有指派,使用的時候會報錯:可能尚未初始化變量
  3. 變量的指派
    • 變量的指派有兩種形式,第一種
      int age;
      age = 10;
                 
      第二種;
      int age = 10;
                 
      使用第一種的時候,編譯之後,編譯器會預設使用第二種方式,是以我們在日常使用當中,較多的會使用第二種方法來進行變量指派
    • 變量的值可以重複更改,重新指派
    • 變量的名稱不可以重複
  4. 變量的使用
    package com.javaLearn.variable;
    
    public class demo01 {
        public static void main(String[] args) {
            int age = 10;
    
            age = 20;
            age = 21;
            age = 40;
            age =age + 20;
    
            System.out.println(age - 2);
            System.out.println(age + 10);
    
        }
    
    
    }
    
               
  5. 變量的記憶體
    • 建立一個變量後,會在記憶體中開辟一塊空間,變量名,變量類型,變量的值三者與記憶體的關系如下
      • 變量名:變量名相當于對應值在記憶體中的唯一位址,通過變量名系統可以通路到對應的值,是以,變量名不可以重複
      • 變量類型:考慮到不同大小的值所占用的空間大小不同,是以為了節省空間,我們要進行變量的類型聲明,用什麼樣的類型就建立多大的記憶體空間
      • 變量值:變量值就是實際存儲在記憶體空間中的資料
  6. 習題
    package com.javaLearn.variable;
    
    public class problem01 {
        public static void main(String[] args) {
            int num1 = 10;
            int num2 = 20;
            num1 = num2;
            num2 = num2 + 10;
            num1 = num2 - 10;
            num2 = num1;
            System.out.println("num1 = "+ num1);
            System.out.println("num2 = "+ num2);
        }
    }
    ----------------------------------------------------------
    D:\Java\JDK1.8\bin\java.exe "-javaagent:D:\IntelliJ IDEA Community Edition 2021.2\lib\idea_rt.jar=14653:D:\IntelliJ IDEA Community Edition 2021.2\bin" -Dfile.encoding=UTF-8 -classpath D:\Java\JDK1.8\jre\lib\charsets.jar;D:\Java\JDK1.8\jre\lib\deploy.jar;D:\Java\JDK1.8\jre\lib\ext\access-bridge-64.jar;D:\Java\JDK1.8\jre\lib\ext\cldrdata.jar;D:\Java\JDK1.8\jre\lib\ext\dnsns.jar;D:\Java\JDK1.8\jre\lib\ext\jaccess.jar;D:\Java\JDK1.8\jre\lib\ext\jfxrt.jar;D:\Java\JDK1.8\jre\lib\ext\localedata.jar;D:\Java\JDK1.8\jre\lib\ext\nashorn.jar;D:\Java\JDK1.8\jre\lib\ext\sunec.jar;D:\Java\JDK1.8\jre\lib\ext\sunjce_provider.jar;D:\Java\JDK1.8\jre\lib\ext\sunmscapi.jar;D:\Java\JDK1.8\jre\lib\ext\sunpkcs11.jar;D:\Java\JDK1.8\jre\lib\ext\zipfs.jar;D:\Java\JDK1.8\jre\lib\javaws.jar;D:\Java\JDK1.8\jre\lib\jce.jar;D:\Java\JDK1.8\jre\lib\jfr.jar;D:\Java\JDK1.8\jre\lib\jfxswt.jar;D:\Java\JDK1.8\jre\lib\jsse.jar;D:\Java\JDK1.8\jre\lib\management-agent.jar;D:\Java\JDK1.8\jre\lib\plugin.jar;D:\Java\JDK1.8\jre\lib\resources.jar;D:\Java\JDK1.8\jre\lib\rt.jar;D:\code\JavaSE\out\production\基礎文法 com.javaLearn.variable.problem01
    num1 = 20
    num2 = 20
    
    Process finished with exit code 0
    
    
               
  7. 作用域
    • 作用域值的就是變量的作用範圍,變量在什麼範圍中有效。
    • 變量的作用域可以了解為,離他最近的{}。

    局部變量:

    定義在方法中的變量

    成員變量:

    定義在類中,方法外的變量