<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Loading

      java學習筆記 part1

      java

      • Test.java,文件名和java類名稱一致
      public class Test{
          public static void main(String[] args){
              System.out.println("hello word");
          }
      }
      
      • jvm,java虛擬機,真正運行java程序的地方
      • 核心類庫,java自帶的程序,給程序員調用
      • jRE:java運行環境,包括jvm,核心類庫
      • JDK:java開發工具包
      • java跨平臺的原理就是jvm虛擬機

      java 基礎語法

      注釋

      • 注釋不影響程序運行的原因就是,編譯后的class文件中,沒有注釋
        //,單行注釋
        /* 多行注釋 /
        /
        * 文檔注釋 */,可以自動提取到程序說明中去

      字面量

      數據在程序中的書寫格式

      1. 整數
      2. 小數
      3. 字符
      4. 字符串
      5. 布爾

      變量

      存儲數據的內存區域
      變量定義的格式 int i = 1;

      public class Test{
          public static void main(String[] args){
              double moeny = 6.0;
              System.out.println(moeny);
              moeny += 4.0;
              System.out.println(moeny);
      
              System.out.println("------------------------");
      
              int age = 21;
              System.out.println(age);
              age = 25;
              System.out.println(age);
          }
      }
      

      變量使用注意事項

      public class Test{
          public static void main(String[] args){
              //變量要先聲明后使用
              int a = 23;
              //變量聲明后不能存儲其他類型數據
              //變量的有效范圍,一對大括號直接,同一范圍內不能定義兩個相同的便利名
              {
                  int b =1;
              }
                  System.out.println(b);//找不到b
              //變量定義時,可以沒有初始化值,使用的時候必須初始化值
              int c ;
              c = 12;
      
          }
      }
      

      數據類型

      基本數據類型-8種

      1. 整數類型

      java各整數類型有固定的表數范圍和字段長度
      java整型常量默認為int,long類型復制時,要在變量值后面加L,long i = 3L

      類型 占用存儲空間 表數范圍
      byte 1字節 -128 - 127
      short 2字節 -215 - 215-1
      int(默認) 4字節 -231 - 231-1
      long 8字節 -263 - 263-1

      2. 浮點類型

      java浮點型常量默認為double
      float類型變量需要在變量值之后加F,float i = 0.1f

      類型 占用存儲空間 表數范圍 精度
      單精度float 4字節 -2128 - 2128 7位有效數字
      雙精度double(默認) 8字節 -21024 - 21024 16位有效數字

      3. 字符類型

      char,用單引號括起來的單個字符,char i = 'z',范圍0-65535,占用兩個字節
      轉義字符

      轉義字符 解釋
      \b 退格符
      \n 換行
      \r 回車
      \t 制表
      \" 雙引號
      \' 單引號
      \ 反斜線

      4. 布爾類型

      boolean類型只允許true或false,不允許0或其他數代替
      boolean b = true

      練習一下

      public class Test{
          public static void main(String[] args){
              System.out.print("333\n");//使用換行符
              System.out.println("666");//相當于另起一行
              System.out.println("444");
      
      
              byte b  = 1;
              System.out.println(b);
      
              short s = 2;
              System.out.println(s);
      
              int i = 3;
              System.out.println(i);
      
              long k = 3L;
              System.out.println(k);
      
              float u = 0.3F;
              System.out.println(u);
      
              double d1 = 0.7;
              System.out.println(d1);
      
              char  o = '6';
              System.out.println(o);
      
              boolean b1 = true;
              System.out.println(b1);
          }
      } 
      

      引用數據類型

      引用類型,都可以用null作為值,初始化時可以賦值為null

      String類

      值是不可變的,用來接收字符串

      //可以拼接
      String s3 = "h" + "e";
      String s = "hello word";
      System.out.println(s);
      
      int i1 = 1;
      int i2 = 1;
      //以上會在內存中存儲兩個1的值
      
      String s1 = "hello";
      String s2 = "hello";
      //內存中只存一個,兩個變量名會引用同一個值,,兩個變量名指向同一地址
      

      關鍵字和標識符

      關鍵字

      是java自己保留的單詞,特殊功能,不能用做命名

      標識符

      是用來給類和方法起名字的規矩

      • 數字,字母,下劃線和$組成
      • 不能以數字開頭,不能是關鍵字,區分大小寫
      • 變量名稱:全英文,有意義,首個單詞首字母小寫,后面的單詞首字母大寫,,駝峰模式
      • 類名:全英文,所有單詞首字母大寫,駝峰模式

      類型轉換,運算符,鍵盤錄入

      自動類型轉換

      • 容量小的類型,可以直接轉換為容量大的類型
      • byte,short,char之間不能相互轉換,三個在計算時,會首先都轉換成int類型,解決計算后最大的范圍
      • 多種數據混合計算的時候,系統會首先將所有數據轉換成容量最大的進行計算
      • 數字類型的運算中,多個相同類型的變量參與運算,變量要先轉化為相對應的數據類型的默認類型,(兩個byte類型進行運算時,先把byte類型轉換為整型的默認類型int然后進行計算,結果也是int類型),變量的數據類型的容量比默認的小的情況
        image
      public class Test{
          public static void main(String[] args){
      /*        int i = 0;//聲明并初始化變量
              i = 1;//重新賦值
              int k = 20;
              i = k ;
      
      
              short s =9;
              short s0 = 11;
              s0 = s;//將右邊的賦值左邊的
      
      
              byte b = 1;
              int m = b;//都屬于整數型,小的容量可以直接賦值給大容量
      
      
              int a = 0;
              byte b= a;//編譯期異常,javac的時候才能發現
      
      
              int i = 1;
              short s = 2;
              byte b  = 3;
              int res = i + s + b ;
              //計算過程中int范圍最大,short和byte先轉換成int類型,然后再計算
      
      
              char c = 'a';
              byte bb = 2;
              int k = c + bb;
              //char類型在與數字進行數學運算時,轉換為對應的ascii的值,在進行計算
      
      
              String str = "abb";
              int a =  1;
      
      */
              //任何類型的值和字符串使用連接符,最后會變成字符串
              System.out.println(3 + 4 + "hello");//分部計算,先進行數學運算,然后和字符串拼接7hello
              System.out.println("hello" + 3 + 4);//第一個為String,后面會拼接,hello34
              System.out.println('a' + 1 + "hello");//char可以進行數學運算,所以先相加后拼接98hello
              //使用+進行運算時候,其中有字符串的情況下,從字符從之前的+開始后面都需要拼接
      
          }
      } 
      
      

      強制類型轉換

      強制將范圍大的類型轉換為范圍小的類型

      public class Test{
          public static void main(String[] args) {
              //強制類型轉換
              int a = 2110;
              byte b =(byte)a;
              System.out.println(b);//62,只把二進制形式的最后8位放進byte的存儲區域
              //強制類型轉換可能造成數據的溢出
              //浮點型轉換成整型,直接丟掉小數部分,保留整數部分返回
              double sss = 22.22;
              int ss =(int)sss;
              System.out.println(ss);//22
          }
      }
      

      運算符

      基本算數運算符

      +,-,*,/,%

      public class Test{
          public static void main(String[] args) {
          /*
              int a = 10;
              int b = 3;
              System.out.println(a - b);
              System.out.println(a + b);
              System.out.println(a * b);
              System.out.println(a / b);//兩個int型,最后會轉為int,只有整數,丟棄小數
              System.out.println(a * 1.0 /b);//就會有小數
              System.out.println(a % b);//1,
          */
      
              //實例,數值拆分,三位數拆分打印
              int data = 234;
              int ge = data % 10;
              int shi = data / 10 % 10;
              int bai = data / 100;
              System.out.println(bai);
              System.out.println(shi);
              System.out.println(ge);
          }
      }
      

      +,做連接符

      +,與字符串進行運算的時候用作連接符,結果依然是一個字符串

      自增,自減

      public class Test{
          public static void main(String[] args) {
              //自增自減
              //int a = 10;
              //int b = a++;//先賦值后運算
      
              //int a = 10;
              //int b = ++a;//先運算后賦值
      
              //int a = 10;
              //int b = a--;//先賦值后運算
      
              //int a = 10;
              //int b = --a;//先運算后賦值
      
              //案例
              int c = 10;
              int d = 5;
              int rs3 = c++ + ++c - --d - ++d + 1 + c;
              System.out.println(c);//12
              System.out.println(d);//5
              System.out.println(rs3);//26
          }
      }
      

      賦值運算符

      +=,-=,*=,/=,%=

      會自動使用,強制類型轉換

      public class Test{
          public static void main(String[] args) {
              //賦值運算符
              int i= 10;
              i += 1;
              System.out.println(i);
      
              int a = 10;
              a -= 2;//a = (int)(a-2),進行強制類型抓換
              System.out.println(a);
      
              byte b = 10;
              byte n = 20;
              b += n;//b = (byte)(b+n)強制類型轉換
              System.out.println(b);
          }
      }
      

      關系運算符

      對數據進行條件判斷的符號,最終返回一個boolean

      ==,<= ,>=,<,>,!=

      public class Test{
          public static void main(String[] args) {
              //關系運算符
              int a = 10;
              int b = 10;
              boolean rr = a == b;
              boolean tt = a != b;
              System.out.println(rr);
              System.out.println(tt);
          }
      }
      

      邏輯運算符

      異或^:兩個值相同結果為假,兩個值不同結果為真

      • 異或:兩個值相同時為假,兩個值不同時為真
      • &:無論左邊真假右邊都要參與運算
      • &&:左邊為真時,右邊參與運算,左邊為假時,右邊不參與運算
      • ||:左邊為真右邊不參與運算
      a b a&b a|b !a a^b a&&b a||b
      true true true true false false true true
      true false false true false true false true
      flase true false true true true false true
      flase flase false false true false false false
      public class Test{
          public static void main(String[] args) {
              //邏輯運算符 
              double size = 99;
              double ss = 16;
      
              System.out.println(size > 80 & ss > 2);
              System.out.println(size > 80 | ss > 288);
              System.out.println(size > 80 & ss > 2);
      
      
          }
      }
      

      三元運算符

      條件表達式 ? 表達式1 :表達式2;

      條件表達式為真,執行表達式1 ,否則執行表達式2

      public class Test{
          public static void main(String[] args) {
             /*
              //三元運算符
              double s = 99;
              String ss = s >= 60 ? "考試通過" : "掛科";
              System.out.println(ss);
      
              //案例,兩個整數最大值
              int a = 10;
              int b = 2000;
              int max = a > b ? a : b;
              System.out.println(max);
              */
              //三個整數最大值
              int a = 10;
              int b = 20;
              int c = 30;
              int max = a > b ? a : (b > c ? a : c);
              System.out.println(max);
          }
      }
      

      運算符的優先級

      image

      鍵盤錄入

      API應用程序編程接口

      • java寫好的程序,可以直接調用

      • 提供了api文檔,代表得到鍵盤掃描器對象

      import java.util.Scanner;
      //導入包
      public class Test{
          public static void main(String[] args) {
              try (//得到鍵盤掃描器對象
              var SC = new Scanner(System.in)) {
                  //調用sc對象的功能,等待接收用戶輸入的數據
                  //SC.nextInt();//等待用戶輸入數據,直到用戶輸入完成,安下回車鍵
                  System.out.println("輸入年齡");
                  int age = SC.nextInt();
                  System.out.println("年齡是" + age);
      
      
      
                  System.out.println("輸入名稱");
                  String name = SC.next();
                  System.out.println("名稱是" + name);
              }
      
          }
      }
      

      程序流程控制

      if分支結構

       import java.util.Scanner;
      
      import javax.lang.model.util.ElementScanner14;
      //導入包
      public class Test{
          public static void main(String[] args) {
              //if分支結構,格式1:if(條件表達式){代碼..}
              int heartBeat = 30;
              if(heartBeat < 60 || heartBeat > 100){
                  System.out.println("數據是," + heartBeat + ",不合適");
              }
              System.out.println("結束");
      
              //格式2,if(條件表達式){代碼...} slse {代碼...}
              double money = 9999;
              if(money >= 666){
                  System.out.println("有錢");
              }
              else{
                  System.out.println("窮逼");
              }
      
              //格式3,if(){..}else if(){...}
              int score = 199;
              if(score >= 0 && score < 60){
                  System.out.println("c");
              }else if(score >= 60 && score < 80){
                  System.out.println("b");
              }else if(score >= 80 && score < 90){
                  System.out.println("a");
              }else if(score >= 90 && score <= 100){
                  System.out.println("a+");
              }else{
                  System.out.println("輸入不正確");
              }
          }
      }
      

      switch分支結構

      匹配條件執行分支

      1. 執行表達式的值,使用值和case后的值進行匹配
      2. 匹配哪個case為true就執行,遇到break,跳出switch
      3. 如果都不匹配,執行default

      注意事項

      • 表達式類型只能是byte,int,char,jdk5開始枚舉,jdk7開始String,不支持double,float,long
      • case給出的值只能是字面量,不能是變量
      • 要寫break,不然會穿透
      import javax.print.DocFlavor.STRING;
      
      public class Test{
          public static void main(String[] args) {
              //switch
              String day = "周三";
              switch (day){
                  case "周一":
                      System.out.println("今天周一");
                      break;
                  case "周二":
                      System.out.println("今天周二");
                      break;
                  case "周三":
                      System.out.println("今天周三");
                      break;
                  case "周四":
                      System.out.println("今天周四");
                      break;
                  case "周五":
                      System.out.println("今天周五");
                      break;
                  case "周六":
                      System.out.println("今天周六");
                      break;
                  case "周日":
                      System.out.println("今天周日");
                      break;
                  default:
                      System.out.println("今天周八");
              }
      
              //
          }
      }
      
      • 穿透現象。多個case分支的功能代碼一樣,可以利用穿透性把流程集中起來出來,簡化代碼
      import javax.print.DocFlavor.STRING;
      
      public class Test{
          public static void main(String[] args) {
              //穿透
              int m = 7;
              switch (m){
                  case 1:           
                  case 3:           
                  case 5:           
                  case 7:            
                  case 8:           
                  case 10:
                  case 12:
                  System.out.println(m + "月31天");
                  break;
                  case 2:
                  System.out.println(m + "月閏年29天,非閏年28");
                  break;
                  case 4:            
                  case 6:            
                  case 9:           
                  case 11:
                  System.out.println(m + "月30天");
                  break;
                  default:
                  System.out.println("數據錯誤");
                  
              }
          }
      }
      

      for循環結構

      //if (初始化語句;循環條件;迭代語句)
      if (int i = 0; i < 3; i++){
          System.ouy,println("helloword")
      }
      
      public class Test{
          public static void main(String[] args) {
      /*
              //穿透
              for(int i = 0; i < 3; i++){
                  System.out.println("helloword");
              }
      
              //案例,1-5的和
              int sum = 0;//進行存儲
              for (int i = 1; i < 6; i++) {
                  sum += i;//累加
              }
              System.out.println(sum);
      
              //1-10之間的奇數和,不能被2整除的數叫做奇數
              int sum = 0;
              for (int i = 1; i < 11; i++) {
                  if (i % 2 == 1){
                      sum += i;
                  }
              }
              System.out.println(sum);
      
              int sum = 0;
              for (int i = 1; i < 11; i += 2) {
                  //1.3.5.7.9
                  sum += i;
              }
              System.out.println(sum);
      */
              //水仙花數。三位數,個位,十位,百位,數字的立方=原數
              int count = 0; //統計個數
              for (int i = 100; i < 1000; i++) {
                  //識別除個位,十位,百位
                  int bai = i / 100;
                  int shi = i / 10 % 10;
                  int ge = i % 10;
                  //判斷是不是水仙花數
                  if (i == bai * bai * bai + shi * shi * shi + ge * ge * ge){
                      System.out.print(i + "\t");
                      count += 1;
                  }
              }
              System.out.println("\n" + count + "個");//先換行
          }
      }
      

      while循環

      • 知道循環次數用for,不知道循環次數用while
      初始化語句
      while (循環條件){
          循環體語句(被重復執行的代碼);
         	迭代語句;
      }
      
      public class Test{
          public static void main(String[] args) {
      /*
              //穿透
              for(int i = 0; i < 3; i++){
                  System.out.println("helloword");
              }
      
              //案例,1-5的和
              int sum = 0;//進行存儲
              for (int i = 1; i < 6; i++) {
                  sum += i;//累加
              }
              System.out.println(sum);
      
              //1-10之間的奇數和,不能被2整除的數叫做奇數
              int sum = 0;
              for (int i = 1; i < 11; i++) {
                  if (i % 2 == 1){
                      sum += i;
                  }
              }
              System.out.println(sum);
      
              int sum = 0;
              for (int i = 1; i < 11; i += 2) {
                  //1.3.5.7.9
                  sum += i;
              }
              System.out.println(sum);
      */
              //水仙花數。三位數,個位,十位,百位,數字的立方=原數
              int count = 0; //統計個數
              for (int i = 100; i < 1000; i++) {
                  //識別除個位,十位,百位
                  int bai = i / 100;
                  int shi = i / 10 % 10;
                  int ge = i % 10;
                  //判斷是不是水仙花數
                  if (i == bai * bai * bai + shi * shi * shi + ge * ge * ge){
                      System.out.print(i + "\t");
                      count += 1;
                  }
              }
              System.out.println("\n" + count + "個");//先換行
          }
      }
      

      do while

      • 先執行在判斷循環條件
      初始化語句;
      do{
          循環體語句;
          迭代語句;
      }while(循環條件);
      
      public class Test{
          public static void main(String[] args) {
              //do while,先執行一次,再判斷
              int i = 0;
              do{
                  System.out.println("HELLO");
                  i += 1;
              }while(i < 3);
          }
      }
      

      死循環

      • 一致循環執行下去,沒有干預不會停下來
      import java.util.Scanner;
      
      public class Test{
          public static void main(String[] args) {
              //for (;;) {
              //    System.out.println("hello");
              //}
              
              //while(true){//經典寫法
              //    System.out.println("word");
              //}
      
              //do{
              //    System.out.println("sss");
              //}while(true);
      
              //案例
              int truepasswd = 520;//正確密碼
              Scanner sc = new Scanner(System.in);
              while(true){
                  System.out.println("請輸入正確密碼");
                  int passwd = sc.nextInt();
                  if(passwd == truepasswd){
                          System.out.println("登錄成功");
                          break;//可以跳出循環
                  }else{
                          System.out.println("密碼錯誤");
                  }
              }        
          }
      }
      

      循環嵌套

      • break:用于跳出并結束循環,或者結束所在switch分支
      • continue:跳出當前循環,進入下一次循環
      public class Test{
          public static void main(String[] args) {
              //break,continue
              for (int i = 0; i < 5; i++) {
                  System.out.println("heoole");
                  if (i == 2){
                      break;
                  }
              }
              //continue,跳出循環檔次執行,進入下一次執行
              for (int i = 1; i < 6; i++) {
                  if(i==3){
                      continue;//跳出當此執行,進入下一次
                  }
                  System.out.println("hello" + i);
              }
          }
      }
      

      Random類,隨機數

      • nestint(n),功能只能生成,0-(n-1)之間的隨機數
      • random r = new random();
      • int number = r.nextint(10) + 1 //1-10
      import java.util.Random;
      
      public class Test{
          public static void main(String[] args) {
              //JAVA隨機數
              //1.導包
              //2.創建隨機數對象
              Random r = new Random();
              //3.調用nestint功能,可以返回一個整型的隨機數    
              for (int i = 0; i < 20; i++) {
                  int data = r.nextInt(10);
                  System.out.println(data);
              }
              
              //1-10==>-1==>(0-9)+1
              //3-17==>-3==>(0-14)+3
              int data = r.nextInt(10) + 1;
              System.out.println(data);
          }
      }
      

      案例

      import java.util.Random;
      import java.util.Scanner;
      
      import javax.lang.model.element.Element;
      import javax.lang.model.util.ElementScanner14;
      
      public class Test{
          public static void main(String[] args) {
              //猜數字游戲1-100
              Scanner sc = new Scanner(System.in);//鍵盤錄入新對象
              Random num = new Random();//隨機數新對象
              int data = num.nextInt(100) + 1;//減加法,生成1-100
              
              while(true){
                  System.out.println("請猜測數字1-100");//提示信息
                  int number = sc.nextInt();//接收用戶輸入的數字
                  if(data == number){
                      System.out.println("***猜對了***" + "\n");
                      break;//猜對退出
                  }else if(data > number){
                      System.out.println("猜小了" + "\n");
                  }else{
                      System.out.println("猜大了" + "\n");
                  }
              }
          }
      }
      
      

      數組

      • 用來存儲一批數據類型相同的數據
      10,20,30,40,50
      int[] arr={10,20,30,40,50};
      張三 李四
      String[] names={"張三","李四"}
      

      數組定義

      • 靜態初始化數組
      • 當前已知道存入到數據,用靜態初始化
      • 當前還不清楚存入的數據,用動態初始化

      定義數組的時候給數組賦值

      數組一旦定義出來,程序執行的 過程中,長度和類型就固定了

      public class Test{
          public static void main(String[] args) {
              //靜態初始化數組
              //數據類型[] 數組名稱 = new 數據類?
      主站蜘蛛池模板: 福利成人午夜国产一区| 国产精品九九九一区二区| 国产日产亚洲系列av| 国产精品国产高清国产av| 国产偷自一区二区三区在线| 国产精品XXXX国产喷水| 久久久久人妻精品一区三寸| 在线中文字幕第一页| 河北真实伦对白精彩脏话| 国产精品久久久福利| 久久热这里只有精品99| 无码无需播放器av网站| jizz国产免费观看| 中文字幕有码高清日韩| 金溪县| 国产精品成人午夜久久| 中文字幕av日韩有码| 国产成人亚洲老熟女精品| 无码国模国产在线观看免费| av男人的天堂在线观看国产| 国产av综合色高清自拍| 亚洲av无码之国产精品网址蜜芽| 亚洲国产v高清在线观看| 亚洲欧美日韩愉拍自拍美利坚| 国产老熟女国语免费视频| 麻豆久久天天躁夜夜狠狠躁| 久久中文字幕无码一区二区| 国产乱子伦视频在线播放| 国产精品福利自产拍在线观看| 黄又色又污又爽又高潮| 亚洲中文字幕综合网在线| 夜夜高潮次次欢爽av女| 欧美激情 亚洲 在线| 免费又黄又爽1000禁片| 国产精品入口麻豆| 2020年最新国产精品正在播放 | 中文无码热在线视频| 热99久久这里只有精品| 亚洲色大成网站WWW久久| 国产女人高潮视频在线观看| 国产在线98福利播放视频|