ascii碼計算和碼錶分享「數字的ascii碼怎麼計算」

ASCII碼錶、類型轉換、Random、Scanner、運算符、三目、選擇控制

一、ASCII碼錶

因為計算機內部只能識別01二進制數字,對於數字而言,可以直接轉換為二進制,但是對於人類的文字而言如何轉換為二進制的01呢?因為自己算最早出現在美國,所以美國就編寫了一張碼錶,將人類的語言和符號和計算機中的01進行對應。

American Standard Code for Information Interchange,美國信息交換標準代碼。

java基礎-1-ASCII碼錶、運算符、選擇控制

ASCII碼錶

當輸入人類語的時候,操縱系統就會去查詢對應的碼錶,將這些語言轉換為對應的二進制,因為是美國人的語言只有英文,所以ASCII中只有英文和一些標點,每個英文字母和符號對應一個字節(8位)的二進制數字。

java基礎-1-ASCII碼錶、運算符、選擇控制
java基礎-1-ASCII碼錶、運算符、選擇控制

單個英文字母對應一個字節

不需要我們全部記憶,只需大家記住(0-­9)對應(48-­57),(A­-Z)對應(65­-90),(a-­z)對應(97­-122)。

因為不能識別中文,所以中國編寫自己第一張簡體中文編碼表GB2312(簡體中文,符號,日本假名),因為存的字有限,所以後來升級成為GBK(增加繁體中文和少數名族文字),我們的操作系統,如果設置成中文就是GBK編碼。

因為後來出現了很多碼錶,所以世界標準組織ISO推出了Unicode編碼表(萬國碼錶),規定一個字符佔用兩個字節。

所有的編碼表都支持ASCII編碼表。

二、基本數據類型的轉換

1、自動轉換:範圍小的可以向範圍大的進行轉換

byte <short < int < long < floa < double

2、強制轉換:範圍大的向小的進行轉換,需要強制類型轉換

小範圍數據類型 標識符 = (小範圍數據類型) 變量名稱

int b = a;
//小範圍的數向大範圍的數轉換的時候直接轉換
//強制類型轉換,大範圍的數向小範圍的數轉換的時候
//強制類型轉換的格式是
//小範圍類型 標識符 = (小範圍類型) 大範圍的變量
byte c = (byte) b;

三、int和char類型數據轉換

char轉換成int,字符型和數值型進行轉換的時候都會查詢編碼表,由於int 4個字節,char 2個字節,所以屬於自動的類型轉換。

int轉換成char,需要強制類型轉換。

如果char是漢字,轉換成整數查詢的就是Unicode編碼表。

char類型的最大整數是65535,因為char沒有負數。

char可以直接賦值為Unicode編碼,格式為uxxxx,十六進制。

char a = 'a';
int b = a;
System.out.println(b);  //97
int c = 97;
char d = (char)c;
System.out.println(d);  //a
char chineseChar = 'u674e';
System.out.println(chineseChar);  //李

四、運算符

4.1、算數運算符

java基礎-1-ASCII碼錶、運算符、選擇控制

算數運算符

加法運算符在連接字符串時要注意,只有直接與字符串相加才會轉成字符串。

除法“/”當兩邊為整數時,取整數部分,舍餘數。當其中一邊為浮點型時,按正常規則相除。

“%”應用於奇偶判斷和012012類似的數據結構,為整除取余符號,小數取余沒有意義。結果符號與被取余符號相同。

整數做被除數,0不能做除數,否則報錯。

++a和a++的區別。

// 參與運算的時候,如果是 a++,先賦值後運算,如果是++a,先運算,後賦值
int a=1;
int b = a++;
System.out.println("a:"+a+"---------"+"b:"+b);     //a:2---------b:1
int d = ++a;
System.out.println("a:"+a+"---------"+"d:"+d);     //a:3---------d:3

4.2、賦值運算符

java基礎-1-ASCII碼錶、運算符、選擇控制

賦值運算符

4.3、比較運算符

java基礎-1-ASCII碼錶、運算符、選擇控制

比較運算符

4.4、邏輯運算符

java基礎-1-ASCII碼錶、運算符、選擇控制

邏輯運算符

當使用短路與或者短路或時,只要能判斷出結果則後邊的部分就不再判斷。

4.5、位運算符

java基礎-1-ASCII碼錶、運算符、選擇控制

位運算符

^運算規律

  • 1^0=1,0^0=0,任何數和0相異或得到的是這個數本身。
  • 0^1=1,1^1=0,任何數和1相異或得到的是這個數的相反。
  • 一個數自己和自己異或得到的是0。

五、三目算符

  • 必須有結果,?後必須跟有東西
System.out.println( 1<5 ? “success” : “fail” );

六、選擇控制語句

if控制語句

當括號內的內容是true的時候,執行{}中的內容

//並列if判斷,無論上面的條件成立與否,下面的if都會進行判斷
if(a < b){
              System.out.println("a小於b");
}
if(a > b){
              System.out.println("a大於b");
}
if(a == b){
              System.out.println("a等於b");
}

if….else..控制語句

//上麵條件成立下面就不在判斷
if(a < b){
              System.out.println("a小於b");
}else{
              System.out.println("a不小於b");
}

if…else if…else控制語句

//上麵條件成立下面就不在判斷
if(a < b){
              System.out.println("a小於b");
}else if(a > b) {
              System.out.println("a大於b");
}else {
              System.out.println("a等於b");
}

多條件判斷

if(1<a&&a<5){
System.out.println("並且是&&,兩個條件都為真");
}
if(a==1 || a==3){
System.out.println("或者是||,兩個條件至少有一個為真");
}
if(a!=3 || a!= 4){
System.out.println("或者是||,兩個條件至少有一個為真,!=表示不等於");
}

switch case語句

switch後邊的表達式只能是整型字符型(byte,short,int,char),枚舉類型,其中jdk7之後支持字符串型。

int day = 4;
switch (day) {
    case 1:
               System.out.println("星期一");
               break;
    case 2:
               System.out.println("星期二");
               break;
    case 3:
               System.out.println("星期三");
               break;
    case 4:
               System.out.println("星期四");
               break;
    case 5:
               System.out.println("星期五");
               break;
    case 6:
               System.out.println("星期六");
               break;
    case 7:
               System.out.println("星期日");
               break;
    default:
               break;
}
//星期四
 /*
* 獲取當前年份月份的天數
* 1、獲取當前月份,switch進行判斷
* 2、獲取當前的年份,使用if進行判斷
* 3、(年份被4整除並且不能被100整除)或者年份能被400整除
* 4、輸出29天
* 5、如果上述條件不成立,輸出28天
*/
int month = 2;
int year = 2118;
switch (month) {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
                System.out.println("31天");
                break;
    case 4:
    case 6:
    case 9:
    case 11:
                System.out.println("30天");
                break;
    default:
                if((year%4==0&&year%100!=0)||year%400==0){
                               System.out.println("29天");
                }else{
                               System.out.println("28天");
                }
                break;
}

七、Scanner類

  1. 屬於引用類型,創建的時候需要固定格式 數據類型 變量名 = new 數據類型();
  2. 需要導入所在的包,導包格式: importjava.util.Scanner;
  3. 創建對象 Scanner sc = new Scanner(System.in);
  4. 獲取輸入的整數 int a = sc.nextInt();
  5. 獲取輸入的字符串 String str = sc.nextLine();
  6. 注意sc.nextInt()和sc.nextLine()會中斷程序。

八、Random類

  1. 需要導入所在的包,導包格式: importjava.util.Random;
  2. 創建對象 Random ran = new Random();
  3. 獲取隨機整數範圍是[0,50): int a =ran.nextInt(50);
  4. 獲取隨機小數範圍是[0,1): double b =ran.nextDouble();
  5. 如何獲取一個[a,b]的隨機數 int a =rand.nextInt(b – a + 1) + a;

九、循環結構

while循環和do–while循環

while循環的格式

當條件為真的時候執行循環體中的內容

Random ran = new Random();
int a = ran.nextInt(20)+1;
while(a > 12){
        System.out.println(1111);
        a = ran.nextInt(20)+1;
}

do–while循環

先執行do中的內容,然後進行條件判斷,如果條件為true,執行循環體中的內容

在do中定義的變量只能在do中使用,不能在條件中和do–while外進行使用

int b = 0;
do {
      b = 13;
      System.out.println(11111);
} 
while (b < 10){
      System.out.println(22222);
};

for循環

for循環的格式

//先定義一個變量i,當i<10的時候執行循環內容,每執行一次
//在for中定義的i,只能在for中使用
for(int i = 0;i < 10; i++){
           System.out.println("你好");
           System.out.println(i);
}
for(int i = 0; i < 9; i++){
           for(int j = 0; j < 10; j ++){
                       System.out.println(i+"----"+j);
           }
}

break

break表示跳出當前循環,如果雙層for循環寫在外層跳出外層,寫在內層跳出內層。

continue

continue表示跳出當前此次循環,下次循環繼續,如果雙層for循環寫在外層跳出外層,寫在內層跳出內層。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/281659.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-21 13:19
下一篇 2024-12-21 13:19

相關推薦

發表回復

登錄後才能評論