Java筆記 Day02

1、演示變量以及使用

變量的創(chuàng)建:
byte b = 1;
數(shù)據(jù)類型:byte
變量名:b ---- 標識符
賦值符號: = ---- 和數(shù)學不一樣
變量值:1

使用變量:
通過變量名贱案,調(diào)用變量

注意:

方法內(nèi)聲明的變量稱之為局部變量
限制:只聲明不可用

class VarDemo00
{
    public static void main(String[] args){
        byte b = 1;
        
        System.out.println(b);
        b = 2;
        System.out.println(b);
    }
}

2魏身、演示字面值常量

1惊橱、當直接使用一個數(shù)據(jù)時,在內(nèi)存會給他分配空間
2箭昵、這塊內(nèi)存沒有別名
3税朴、稱呼這塊內(nèi)存是通過稱呼它的值完成的---- 字面值
4、這塊內(nèi)存沒別名家制,以后不可使用正林,所以二進制的表示形式不可以在改變 ---- 常量

final修飾的常量

1、這塊內(nèi)存有別名
2颤殴、通過別名可以找到內(nèi)存
3觅廓、這塊內(nèi)存使用final做了特殊標記 ---- 編譯器發(fā)現(xiàn)試圖更改它是,會拋出異常

使用字面值常量:

沒有顯示的指定數(shù)據(jù)類型涵但,如果是整形的杈绸,系統(tǒng)默認分配4個byte
小數(shù)型默認8個byte
字符型是2個byte
布爾型是1個byte

class VarDemo01
{
    public static void main(String[] args){
        //System.out.println(1);
        //final byte b = 1;//聲明了一個變量帖蔓,名字是b,對應的內(nèi)存的值不可以改變
        //b = 2;
        System.out.println("b");

        //整數(shù)
        System.out.println(100);
        //小數(shù)
        System.out.println(2.34);
        //字符型
        System.out.println('A');
        //布爾型
        System.out.println(true);
        }
}

3瞳脓、注意:賦值操作時塑娇,變量值要在數(shù)據(jù)類型的取值范圍之內(nèi)

class VarDemo02
{
    public static void main(String[] args){
        /**
            有兩塊內(nèi)存:
            A、字面值1的內(nèi)存 ---- 默認四個字節(jié)
            B劫侧、聲明的變量 ------- 1個字節(jié)
            C埋酬、將四個字節(jié)的數(shù)據(jù)存儲進一個字節(jié)
        */
        byte b = 300;
        System.out.println(b);
    }   
}

4、數(shù)據(jù)類型

在Java中烧栋,設置了不同的數(shù)據(jù)類型写妥,不同的數(shù)據(jù)類型有不同的空間和取值范圍,使用時审姓,根據(jù)需求進行選擇

變量的類型:

1耳标、基本數(shù)據(jù)類型
整 型:
byte ------ 1字節(jié) ----- 8bit
short ------ 2字節(jié) ----- 16bit
int ------ 4字節(jié) ----- 32bit
long ------ 8字節(jié) ----- 64bit
浮點型:
float ------ 4字節(jié) ----- 32bit
double ----- 8字節(jié) ----- 64bit
字符型:
char ------- 2字節(jié) ----- 16bit -----無符號
布爾型:
boolean ---- 1字節(jié) ----- 只有一個bit進行標志

2、引用類型
"Hello World !"

賦值測試時出現(xiàn)的問題:

1邑跪、long類型數(shù)據(jù)賦值是:正數(shù)過大次坡,拋出錯誤
為什么?
A画畅、因為如果數(shù)據(jù)是整型砸琅,默認四個字節(jié)
B、當long類型的變量值超出int取值范圍時轴踱,默認的四個字節(jié)不能滿足取值范圍
C症脂、編譯器拋出異常
解決:
當數(shù)據(jù)超出范圍時,后綴L或l
告知編譯器淫僻,不要使用默認的四個字節(jié)分配诱篷,而是使用8個字節(jié)分配

2、強制要求
只要聲明long類型數(shù)據(jù)雳灵,無論變量值大小棕所,都后綴L

小數(shù)型問題:

當為float賦值時,可能損失精度
為什么悯辙?
小數(shù)型默認的是八個字節(jié)琳省,而float只有四個字節(jié),可能產(chǎn)生數(shù)據(jù)丟失
解決:
在小數(shù)后綴F或f躲撰,告知編譯器按四個字節(jié)分配
問題:
byte b = 1;
float f = 1.0;
byte類型賦值時针贬,有一個默認的檢測,檢測是否超出取值范圍
還會隱式轉(zhuǎn)換拢蛋,而float沒有隱式轉(zhuǎn)換

char型只可以存儲一個字符:
使用注意:\ \r\n \t
底層實現(xiàn):char類型本質(zhì)是一個數(shù)字
編碼表 ----- 數(shù)字與字符是有對應關系的
char類型如何運作的:
A桦他、本質(zhì)是數(shù)字
B、顯示時查編碼表谆棱,顯示對應的字符
C快压、亂碼問題 ---- 使用的編碼表不一致

class VarDemo03
{
    public static void main(String[] args){
        byte b = 1;
        short s = 11;
        int i = 100;
        long l = 1000;
        long l2 = 1000000000000000L;
        System.out.println(b);
        System.out.println(s);
        System.out.println(i);
        System.out.println(l);
        System.out.println(l2);
        //-------------------------------
        float f = 1.0F;
        double d = 2.0;
        System.out.println(f);
        System.out.println(d);
        //-------------------------------
        //char c = 'AB';非法
        char c = 'A';
        System.out.println(c);
        char c2 = '\'';//注意:是\而不是/若用/則不能運行
        System.out.println(c2);
        System.out.println("\"Hello World\"");//"HelloWorld"
        System.out.println("---------------------------------");
        char c3 = 'a';
        int i1 = (int)c3;//將字符轉(zhuǎn)換成數(shù)字
        int i2 = (int)'b';
        System.out.println(i1);
        System.out.println(i2);
        //--------------------------------------
        boolean b1 = true;
        boolean b2 = false;
        System.out.println(b1);
        System.out.println(b2);
    }
}

5圆仔、賦值

將變量賦值給變量
問題描述:
降低進度數(shù)據(jù)賦值給高進度,是安全的
但是將高進度數(shù)據(jù)賦值給低進度嗓节,可能出現(xiàn)數(shù)據(jù)丟失
解決:
使用強制轉(zhuǎn)換
低精度變量 = (低精度數(shù)值類型)高精度變量;
存在的問題:
1荧缘、強轉(zhuǎn)導致數(shù)據(jù)丟失
2皆警、舍棄二進制高位

精度排序拦宣,取值范圍的排序
整型:byte < short < int < long
小數(shù)型:float < double

經(jīng)測試:int類型和long類型精度都小于float類型
float雖然只是四個字節(jié),但是由于算法不同信姓,float的取值范圍 > int 且 > long

byte < short < int < long < float < double

char類型 ----- 無符號 [0,65535]
byte和char精度沒有可比性
short和char精度沒有可比性
int 和 char int的精度高于char

class VarDemo04
{
    public static void main(String[] args){
        /*byte b = 1;
        byte b2 = 2;
        System.out.println(b);
        System.out.println(b2);
        b = b2;
        System.out.println(b);
        System.out.println(b2);*/

        byte b = 1;
        short s = 200;
        //s = b;
        b = (byte)s;//-56
        System.out.println(b);

        int i = 100;
        float f = 1.0f;
        f = i;
        //i = f;
        System.out.println(f);

        long l = 10L;
        float f2 = 1.0f;
        //f2 = l;
        //l = f2;
        System.out.println(f2);
        System.out.println("----------------------------------");
        byte b2 = 10;
        char c = 'A';
        //c = b2;
        b2 = c;
        System.out.println(c);
        System.out.println(b2);



    }
}

6鸵隧、基本數(shù)據(jù)類型運算

問題:數(shù)據(jù)運算時,運算結(jié)果可能超出接收的數(shù)據(jù)的數(shù)據(jù)類型的取值范圍
接收的數(shù)據(jù)的數(shù)據(jù)類型無論多大意推,都有可能超出取值范圍
怎么解決:
1豆瘫、如果參與的數(shù)據(jù)的數(shù)據(jù)類型 <= int,默認結(jié)果是 int 類型的
2、如果參與的數(shù)據(jù)的數(shù)據(jù)類型 > int,那么結(jié)果提升為參與運算的最高數(shù)據(jù)類型

class VarDemo05
{
   public static void main(String[] args){
       byte b1 = 127;
       byte b2 = 127;
       short s1 = 1;
       int i5 = 1;
       int sum = b1 + b2 + s1 + i5;
       System.out.println(i5);

       long l1 = 100;
       int i1 = 10;
       l1 = l1 + i1;
       System.out.println(l1);

       int i2 = 1;
       int i3 = 2;
       i2 = i2 + i3;
       System.out.println(i2);
       

   }
}
class VarDemo06
{
   public static void main(String[] agrs){
       byte sum1 = 1 + 2;//編譯期間菊值,直接算出了 1+2 -----byte sum1 = 3;
       System.out.println(sum1);

       byte b1 = 1;
       byte b2 = 2;
       byte sum2 = (byte)(b1 + b2);
       System.out.println(sum2);
   }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末外驱,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子腻窒,更是在濱河造成了極大的恐慌昵宇,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件儿子,死亡現(xiàn)場離奇詭異瓦哎,居然都是意外死亡,警方通過查閱死者的電腦和手機柔逼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門蒋譬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人愉适,你說我怎么就攤上這事犯助。” “怎么了维咸?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵也切,是天一觀的道長。 經(jīng)常有香客問我腰湾,道長雷恃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任费坊,我火速辦了婚禮倒槐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘附井。我一直安慰自己讨越,他們只是感情好两残,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著把跨,像睡著了一般人弓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上着逐,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天崔赌,我揣著相機與錄音,去河邊找鬼耸别。 笑死健芭,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的秀姐。 我是一名探鬼主播慈迈,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼省有!你這毒婦竟也來了痒留?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤蠢沿,失蹤者是張志新(化名)和其女友劉穎伸头,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體搏予,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡熊锭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了雪侥。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碗殷。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖速缨,靈堂內(nèi)的尸體忽然破棺而出锌妻,到底是詐尸還是另有隱情,我是刑警寧澤旬牲,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布仿粹,位于F島的核電站,受9級特大地震影響原茅,放射性物質(zhì)發(fā)生泄漏吭历。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一擂橘、第九天 我趴在偏房一處隱蔽的房頂上張望晌区。 院中可真熱鬧,春花似錦、人聲如沸朗若。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哭懈。三九已至灾馒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間遣总,已是汗流浹背睬罗。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留彤避,地道東北人傅物。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓夯辖,卻偏偏與公主長得像琉预,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蒿褂,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Win7下如何打開DOS控制臺圆米? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,595評論 4 12
  • 第一類:邏輯型boolean 第二類:文本型char 第三類:整數(shù)型(byte、short啄栓、int娄帖、long) c...
    Jasonme閱讀 1,074評論 0 4
  • 1 關鍵字 1.1 關鍵字的概述 Java的關鍵字對java的編譯器有特殊的意義,他們用來表示一種數(shù)據(jù)類型昙楚,或...
    哈哈哎呦喂閱讀 652評論 0 0
  • 今天近速,老王決定去杭州參加一個行業(yè)峰會,具體內(nèi)容有關他目前研究領域堪旧,費用自理削葱。我喜歡杭州的美景美食,心想兩個人也很久...
    甲子榮榮閱讀 527評論 4 1
  • 前段時間的一個晚上淳梦,突然接到劉鑫的電話析砸,他那略帶沙啞的聲音從聽筒那邊傳過來:“我離婚了,今天上午辦的證”爆袍。剎那間首繁,...
    艾西柚閱讀 257評論 4 0