欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事

 更新時間:2022年07月15日 14:20:04   作者:爪哇斗羅  
變量就是系統(tǒng)為程序分配的一塊內(nèi)存單元,用來存儲各種類型的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

一. 關(guān)鍵字

Java中的關(guān)鍵字是由特定的單詞組成,單詞全為小寫字母,每個都有特殊的含義,其實Java關(guān)鍵字也就那幾十個,這個不需要背,以后都會知曉:

將以上關(guān)鍵字分類大概是這樣的:

tips:

值得注意的是goto,以前的時候還在用,現(xiàn)在作為Java的保留字,已經(jīng)不用了,但是還是存在的,保留下來而已。

Java中需要我們自定義的名字叫做標(biāo)識符。比如方法名,類名等都是需要我們自己定義。唯一注意的就是標(biāo)識符的命名規(guī)則:

一個合法的標(biāo)識符只能由數(shù)字,字母,下劃線,$組成,不能有其它符號,開頭不能以數(shù)字開頭,嚴(yán)格區(qū)分字母的大小寫,并且不能有空格,不可使用關(guān)鍵字,但是可以包含關(guān)鍵字。

二. 變量

2.1 變量的定義

變量就是可以變化的量,是內(nèi)存當(dāng)中的一小塊存儲數(shù)據(jù)的區(qū)域空間,用來存儲數(shù)據(jù)的。

這塊區(qū)域空間會進行相同數(shù)據(jù)類型范圍內(nèi)的變化,此外變量也是程序中最小的存儲單元。它包含數(shù)據(jù)類型,變量名稱以及變量的值。

使用變量的幾點注意事項:

  • Java中的變量必須先聲明后使用。
  • 使用變量名去訪問這塊區(qū)域數(shù)據(jù)。
  • 變量的作用域作用在{}中,且只在其中有效。
  • 同一個作用域內(nèi),變量名不可重復(fù)定義。

什么是變量的作用域?

作用域呢,就是描述變量的有效作用范圍,只要是在這個范圍里面變量就是可以被訪問的。
變量的作用域只需要記住一句話就行了:出了大括號{}就不起作用了。

2.2 變量的分類

1. 按照數(shù)據(jù)類型分類

程序中需要處理許多數(shù)據(jù),每一個數(shù)據(jù)都有它所屬的數(shù)據(jù)類型,,對于不同數(shù)據(jù)都有其對應(yīng)的數(shù)據(jù)類型,就是在內(nèi)存中分配了所對應(yīng)大小的內(nèi)存空間。

并且不同數(shù)據(jù)所開辟的內(nèi)存大小也會不一樣。按照數(shù)據(jù)類型分類,Java可以分為基本數(shù)據(jù)類型引用數(shù)據(jù)類型。

基本數(shù)據(jù)類型有八種,分三大類,數(shù)值型(包括整型與浮點型),字符型與布爾型,它們是:

byte,short,int,long,float,double,char,boolean

注意:字符串類型不是基本的數(shù)據(jù)類型,是屬于引用數(shù)據(jù)類型比如“1”,字符類型使用單引號’a’。

整數(shù)類型byte,short,int,long使用

在Java變量的定義是這樣的:數(shù)據(jù)類型 變量名 = 字面值,Java中的整型常量默認(rèn)類型是int類型的,在聲明long型時需要在常量后面加入L或者小寫的l。

它們的區(qū)別就是所占的字節(jié)不同,也就是表示的范圍也是不同的,范圍如下:

變量聲明,只要在范圍內(nèi)都是可以的:

/**
 * @author 爪哇斗羅(javaDouLuo)
 * @date 2022/7/2
 */
public class Demo02 {
	
	public static void main(String[] args) {
		// 變量聲明,只要在范圍內(nèi)都是可以的
		byte b = 127;
		short s = 123;
		int i = 199;
		long l = 21L;
	}
}

浮點型float,double使用

浮點型就是帶小數(shù)點的,但是兩者的精度有限float屬于單精度,所以精度難以滿足需求,double屬于雙精度,精度要比float要高。

Java中聲明浮點類型的數(shù)據(jù)時float數(shù)據(jù)類型后需要加入f

浮點數(shù)精度問題

在使用浮點數(shù)的時候可能會導(dǎo)致精度的丟失,比如這段代碼:

public class DataType {
    public static void main(String[] args) {
        //浮點數(shù)精度丟失
        float f1 = 221342423242434f;
        float f2 = f1 + 1;
        System.out.println(f1 == f2);//true
    }

發(fā)現(xiàn)結(jié)果為true,所以在實際開發(fā)中不要使用浮點數(shù)進行運算操作,最標(biāo)準(zhǔn)的話是使用BigDecimal對象類型進行運算。 

boolean類型

關(guān)于布爾類型,只有true和false兩個值,通常是作為程序判斷的標(biāo)志。     

什么是字節(jié)

了解字節(jié)之前看看什么是二進制,現(xiàn)在的計算機只會識別二進制指令,也就是0與1。

只認(rèn)識01010101011101010....這種的,計算機識別0與1的時候是通過底層交流電的開閉來告訴辨別指令的。

所謂的1個字節(jié)占8個比特位(1byte=8bit)而一個比特位存放的就是0或者1。

1Byte = 8bit
1KB =1024Byte
1MB = 1024KB
1G = 1024MB
1T = 1024G

基本數(shù)據(jù)類型的轉(zhuǎn)換

基本數(shù)據(jù)類型之間的轉(zhuǎn)換分為顯式轉(zhuǎn)換隱式轉(zhuǎn)換,布爾類型不可進行類型的轉(zhuǎn)換。

?

  •  范圍從低到高為隱式轉(zhuǎn)換,反之需要顯式轉(zhuǎn)換。
  • 轉(zhuǎn)換時應(yīng)該注意精度問題。
  • byte short char需要進行顯式轉(zhuǎn)換。
 public static void main(String[] args) {
        int a = 128;
        byte i = (byte)a;
        System.out.println(i);
 }

這段代碼輸出結(jié)果是-128,因為在轉(zhuǎn)換時要注意到內(nèi)存溢出的問題,因為128已經(jīng)超過byte所表示的范圍。

三. 字符編碼

因為計算機只認(rèn)識二進制數(shù)據(jù),但是我們?nèi)粘V姓f的語言比如漢字,英語等。這些計算機并不會認(rèn)識,它們之間也沒有任何轉(zhuǎn)換的關(guān)系。

為了讓計算機能夠識別現(xiàn)實中的文字,于是人為的將現(xiàn)實中的文字與二進制的關(guān)系所對應(yīng)起來。

根據(jù)某種格式進行編碼,這種對照轉(zhuǎn)換關(guān)系就是字符編碼。

比如最初只支持英文,所以最先出現(xiàn)的字符編碼就是ASCII碼。比如’a’對應(yīng)的字符編碼是97,對應(yīng)的二進制就是【01100001】,'A’對應(yīng)的是65,'0’對應(yīng)的是48。

將字符’a’通過ASCII進行解碼變?yōu)椤?1100001】,反之就是編碼。當(dāng)解碼與編碼使用的是不是統(tǒng)一的編碼對照表就會出現(xiàn)亂碼。

Java中的char基本數(shù)據(jù)類型,它占了兩個字節(jié),只能存儲一個漢字或者一個數(shù)字,不管存的是什么其實底層本質(zhì)就是數(shù)字。

也就是說char與數(shù)值之間可以進行常量之間的運算,就是表示字符的時候運算的是ASCII對應(yīng)的值。

public class DataType {
    public static void main(String[] args) {
        char a = '1';
        char b = '國';
        char c = 'A' + 1;
        char d = 'a';
        System.out.println(a);//1
        System.out.println(b);// 國
        System.out.println((int)b);// 22269
        System.out.println((int)c);// 66
        System.out.println((int)d);//97
	}
}

補充:變量的聲明和初始化

測試變量的定義

1. 變量的聲明和賦值格式: 數(shù)據(jù)類型  變量名 = 變量值

2. 注意點:

① java是強類型的語言,聲明的每個變量,一定要指名其變量類型。

② 變量一定需要在賦值之后才可以使用

③ 變量需要先聲明,后賦值。

④ 變量都有其作用域,超出作用域范圍后,就失效。

⑤ 在同一個作用域范圍內(nèi),不可以定義同名的變量

class VariableTest {
?? ?public static void main(String[] args) {
?? ??? ?//myNumber = 1;
?? ??? ?//變量的聲明
?? ??? ?int myNumber;
?? ??? ?//變量的賦值
?? ??? ?myNumber = 1;

?? ??? ?//變量的聲明和賦值同時進行
?? ??? ?int count = 2;

?? ??? ?System.out.println(myNumber + 1);
?? ??? ?//編譯不通過
?? ??? ?//System.out.println(age);
?? ??? ?//編譯不通過:在同一個作用域范圍內(nèi),不可以定義同名的變量
?? ??? ?//int count = 3;
?? ??? ?count = 3;//重新賦值
?? ??? ?System.out.println(count);

?? ??? ?int age = 20;
?? ??? ?System.out.println(age);
?? ?}

?? ?public void method(){
?? ??? ?int age = 10;
?? ??? ?System.out.println(age);
?? ?}
}

總結(jié)

到此這篇關(guān)于Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的文章就介紹到這了,更多相關(guān)Java關(guān)鍵字和變量數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring Cloud學(xué)習(xí)教程之DiscoveryClient的深入探究

    Spring Cloud學(xué)習(xí)教程之DiscoveryClient的深入探究

    這篇文章主要給大家介紹了關(guān)于Spring Cloud學(xué)習(xí)教程之DiscoveryClient的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • springboot整合jquery和bootstrap框架過程圖解

    springboot整合jquery和bootstrap框架過程圖解

    這篇文章主要介紹了springboot整合jquery和bootstrap框架過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • mybatis打印的sql日志不寫入到log文件的問題及解決

    mybatis打印的sql日志不寫入到log文件的問題及解決

    這篇文章主要介紹了mybatis打印的sql日志不寫入到log文件的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • RestTemplate如何通過HTTP?Basic?Auth認(rèn)證示例說明

    RestTemplate如何通過HTTP?Basic?Auth認(rèn)證示例說明

    這篇文章主要為大家介紹了RestTemplate如何通過HTTP?Basic?Auth認(rèn)證的示例說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • SpringBoot如何實現(xiàn)文件下載

    SpringBoot如何實現(xiàn)文件下載

    這篇文章主要介紹了SpringBoot如何實現(xiàn)文件下載問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • IntelliJ IDEA(2020.2)的下載、安裝步驟詳細(xì)教程

    IntelliJ IDEA(2020.2)的下載、安裝步驟詳細(xì)教程

    這篇文章主要介紹了IntelliJ IDEA(2020.2)的下載、安裝步驟詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Eclipse安裝配置方法圖文教程

    Eclipse安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了Eclipse安裝配置方法圖文教程,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 如何在java 8 map中使用stream

    如何在java 8 map中使用stream

    這篇文章主要介紹了如何在java 8 map中使用stream,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Java類中字段可以不賦予初始值的原因分析

    Java類中字段可以不賦予初始值的原因分析

    這篇文章主要介紹了Java類中字段可以不賦予初始值的原因分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 全面解讀Java中的枚舉類型enum的使用

    全面解讀Java中的枚舉類型enum的使用

    這篇文章主要介紹了Java中的枚舉類型enum的使用,開始之前先講解了枚舉的用處,然后還舉了枚舉在操作數(shù)據(jù)庫時的實例,需要的朋友可以參考下
    2016-04-04

最新評論