Java學習-第一天


  今天開始學習Java,看的是[畢向東_Java基礎視頻教程].因為沒有書,將筆記寫寫在博客上可以備忘和記錄學習里程。同時希望通過寫博客的形式可以讓自己學習Java更有動力。

 

  01day

 

  1.Java跨平台性

  Java的跨平台性的主要原因是因為java虛擬機(JVM)的存在。

  2.JRE和JDK

  JRE是Java運行環境,全拼是(Java Runtime Environment),JRE包括Java虛擬機和運行Java程序所需要的核心庫。想要運行一個java程序,在計算機上安裝JRE就可以了。

  JDK是Java開發工具包,全拼是(Java Development Kit),JDK是提供給Java開發人員使用的。其中包括了開發Java程序的所用工具,還包括JRE。

  3.doc系統命令

  cd 進入路徑 cd..返回上層目錄 cd\ 返回盤符 

  dir 列出當前目錄 md 創建文件夾 kd 刪除文件夾

  4.JDK環境變量配置

  

//JDK安裝路徑
JAVA_HOME C:\Java\jdk1.7.0_51
CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
path %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

 

  5.hello world  

class Demo

  {

     static void main(String [] args)     {       System.out.println("Hello World");     }   }

  在命令行中通過javac編譯后,然后 java Demo.class 就可以在doc控制台上打印一個Hello Wrld 了。

   

  02day 

 

  1.Java關鍵字

  Java關鍵字是被Java語言賦予特殊含義的單詞。

 

  2.標識符

  標識符就是在程序中自定義的名稱,這些名稱由字母、數字和符號組成。標識符需要符合兩個規則: 1.數字不可以在開頭 2.不可以使用關鍵字

  在起名字時,為了提高代碼的可閱讀性,名字要盡量有意義。

 

  3.代碼注釋 

  // 注釋一行 

   /*

                注釋多行

    */

 

  4.常量和變量

  常量就是不能改變的數值。在Java中常量包括整數常量、小數常量、布爾型常量、字符串常量、null常量。

  變量:就是將不確定的數據進行存儲,也就是在內存中開辟一個空間存儲數據。

  變量的定義:

  數據類型 變量名 = 初始化值;   eg. int i = 0;

  什么時候定義變量? 當數據不確定,需要對數據進行存儲的時候就定義一個變量用來完成存儲。

  在Java中數據類型包括:基本數據類型(byte、short、int、long、float、double、char、boolean)和引用數據類型(class、interface、[](數組))

   

    int x=4;

  byte b =2 //-128~127

  short s = 30000; //3W+

  long l = 4l;   float f = 2.3f;   double d = 24.46;   char ch = '4';   boolean bo = true;

  5.類型轉換  

class  D2Byte
{
    public static void main(String[] args) { byte b = 4; //b = b + 5; b += 5; System.out.println(b); //b= b + 5; 編譯不通過,這里是先經行加法然后賦值,相加以后會默認轉化為int型。賦值的時候int型不能給byte型賦值。 //b += 5; 編譯通過,這里+=運算符會默認進行強制轉換。  } } 

  6.字符串拼接  

class StringDemo
  {
    public static void main(String[] args)     {            string a = "LiMing";       int b = 23;       System.out.println("hello, "+a+" you age is"+b+".");     }   }

  字符串數據和任何數據使用+都是相連接,最終都會變成字符串。上面的程序運行后會打印出: hello, LiMing you age is 23.

  7.轉義字符:(通過\ 來轉變后面字符或者符號的含義)。

  \n :換行。

  \b : 退格。

  \r :按下回車鍵。

  \t : 制表符。

 

  8.賦值運算符

   +=   -=    *=    /=    %=

 

  9.邏輯運算符

  邏輯運算符用於連接Boolean類型的表達式

  & 與:&可以看成是數字0,在判斷的時候只要出現0就是false

  |  或:|可以看成是數字1,在判斷的時候只要出現1就是true

  ^ 異或:總結起來就是,同假異真。

      ! 非:非就是取反,取反表達式后假就是真,真就是假

     && 邏輯與:判定跟&差不多。區別就是 當使用&&的時候,左邊出現false后立即得出判斷結果(邏輯短路), &&右邊的表達式不會進行判斷而使用  & 兩邊的表達式都參與運算。

  || 邏輯或:判定跟|差不多。 區別就是 當使用||的時候,左邊出現true后立即得出判斷結果(邏輯短路), ||右邊的表達式不會進行判斷而使用  | 兩邊的表達式都參與運算。

  

  10.位運算符(位運算是直接對二進制數就行運算)

  <<:左移   eg. 3<<2 = 12 --> 3*2*2 =12 左移就是乘以2的移動位數次冪

3的二進制表現形式:0000-0000-0000-0011 -->左移2位補位后就是00-0000-0000-0011--> 0000-0000-0000-1100=12

 

  >>:右移  eg.  3>>1 =1 --> 3/2 = 1 右移就是除以2的移動位數次冪

  3的二進制表現形式:0000-0000-0000-0011 -->右移1位補位后就是00000-0000-0000-001--> 0000-0000-0000-0001=1

 

  >>>:無符號右移  eg. 3>>>1 = 1 --> 3/2 = 1

  >>:右移后,最高位補位由原來的數據的最高位而定。如果最高位位0,則右移后用0補位,如果最高位為1,則右移后用1補位

  >>>:無論最高位是什么,右移后用0補位

 

  &與運算   eg. 6 & 3 = 2

  0000-0000-0000-0110
 & 0000-0000-0000-0011
-----------------------
   0000-0000-0000-0010    = 2

      

  | 或運算  eg.  6 | 3 = 7

  0000-0000-0000-0110
 |  0000-0000-0000-0011
----------------------------
   0000-0000-0000-0111     = 7

 

  ^異或運算  eg. 6 ^ 3 = 5

  0000-0000-0000-0110
 ^ 0000-0000-0000-0011
----------------------------
   0000-0000-0000-0101   = 5

   ^異或的應用: 7^4^4=7 一個數異或同一個數兩次還是那個數。

  應用1:用於加密

  

  應用2: 不借助第三方兩個變量進行互

class D2nTom 
{
    public static void main(String[] args) { /* 不借助第三方兩個變量進行互換 */ int a = 10 ,b =50; System.out.println("不借助第三方兩個變量進行互換前: a= " +a +", b= "+b); //方法一  a= a+b; b= a-b; a= a-b; System.out.println("不借助第三方兩個變量進行互換后: a= " +a +", b= "+b); System.out.println("--------------------------------------------------"); /* 方法二 */ System.out.println("不借助第三方兩個變量進行互換前: a= " +a +", b= "+b); a = a ^ b; b = a ^ b; a = a ^ b; System.out.println("不借助第三方兩個變量進行互換后: a= " +a +", b= "+b); } }

 

  ~反碼  eg. ~6 = -7

 ~  0000-0000-0000-0110---->所有位取反
-----------------------------
   1111-1111-1111-1001 ---> 先減一再取反的出整數 - 0000-0000-0000-0001 --->減一
---------------------------- 1111-1111-1111-1000 --->取反 ----------------------------   1000-0000-0000-0111 =-7

   10.條件運算符

  (條件表達式)? 表達式1:表達式2

  如果條件表達式的結果為true則執行表達式1的內容,如果條件表達式的結果為false則執行表達式2的內容。  

  int a=10,b;

  b=(a>8)? 100:200; /*三目運算符: 好處:可以簡化 if else 代碼 弊端: 因為是運算時,所以運算完必須由一個結果。 */ 

  11.判斷結構

//if語句:有三種形式
1.if(條件表達式)
{
        執行語句;
}

2.if(條件表達式) { 執行語句; } else { 執行語句; } 3if(條件表達式) { 執行語句; } else if(條件表達式) { 執行語句; } ... ... ... else { 執行語句; }

  12.選擇結構-switch語句

switch(表達式)
{
    case 取值1: 執行語句; break; case 取值2: 執行語句; break; case 取值3: 執行語句; break; ... ... ... case 取值n: 執行語句; break; default: 執行語句; break; } /* switch的特點 1.switch語句選擇的類型只有四種: byte,short,int,char. 2.case與default之間沒有順序。先執行第一個case,直到沒有匹配的case后執行default。 3.結束switch語句的兩種情況,遇到break或執行到switch語句結束。 4.如果匹配的case或者default沒有對應的break,那么程序會繼續向下執行。運行可以執行的語句,直到遇到break或者說switch結尾后結束。


if和switch語句功能相似,具體情況怎么選擇呢?
如果判斷的具體數值不多,而且符合 byte short int char 這四種類型。雖然兩個語句都可以使用,建議使用switch語句,因為效果稍高。
其他情況,對區間判斷,結果為boolean類型判斷,則使用if,if的范圍更廣泛。
*/

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM