java學習day02——java數據類型

java程序開發三步驟:編寫、編譯、運行
在這裏插入圖片描述
.java -> .class(java字節碼文件)
javac.exe編譯 java.exe運行

HelloWorld代碼

(1)編寫
用記事本編寫,修改文件後綴名爲.java,文件名與程序名一定嚴格一致(注意大小寫)

//多行註釋
/*
 第一行的第三個單詞必須和所在的文件名稱完全一樣,大小寫也要一樣
 public class後面代表定義一個類的名稱,類是java當中所有源代碼的基本組織單位
*/
public class HelloWorld{ //單行註釋
 //第二行的內容是萬年不變的固定寫法,代表main方法
 //這一行代表程序執行的起點
 public static void main(String[] args){
  //第三行代表打印輸出語句
  System.out.println("hello,world!!!");
 }
}

(2)對HelloWorld.java文件進行編譯和運行
在這裏插入圖片描述
注意:對源代碼進行修改後,要再次編譯,這樣編譯得到的.class文件再次更新

關鍵字

關鍵字的特點
1、完全小寫的字母,如public
2、增強型記事本中有特殊顏色

標識符

指在程序當中,自己定義的內容,比如類的名字、方法的名字和變量的名字
命名規則(硬性要求)
1、可包含英文字母、0-9數字】$和_
2、不能以數字開頭
3、不能是關鍵字
命名規則(軟性要求)
1、類名規範:首字母大寫,後面每個單詞首字母大寫(大駝峯式)HelloWorld
2、變量名規則:首字母小寫,後面每個單詞首字母大寫(小駝峯式)helloWorld
3、方法名規則:同變量名

常量

在運行期間,固定不變的量
常量的分類
1、字符串常量:凡是用雙引號引起來的部分,叫做字符串常量。例如"abc"
2、整數常量:直接寫上的數字。例如:100、200、-300
3、浮點數常量:直接寫上的數字,有小數點。例如:2.5
4、字符常量:凡是用單引號引起來的單個字符。例如:‘A’、‘中’、‘9’
5、布爾常量:只有兩種取值,true、false
6、空常量:null。代表沒有任何數據

public class Demo01Const{
 public static void main(String[] args){
  //字符串常量
  System.out.print("abc");
  System.out.println("");
  
  //整數常量
  System.out.println(30);
  System.out.println(-20);
  
  //浮點數常量
  System.out.println(2.34);
  
  //字符常量(兩單引號)
  System.out.println('A');
  //System.out.println('');//沒有不行!
  //System.out.println('AAA');//有多個不行 
  
  //布爾常量
  System.out.println(true);
  System.out.println(false);
  
  //空常量,不能直接用來打印輸出
  //System.out.println(null);//錯誤
 }
}

數據類型

1、基本數據類型(四類八種)

整數型 byte short int (默認) long
浮點型 float double(默認) 浮點數都是近似值
字符型 char
布爾型 bollean
在這裏插入圖片描述
注意事項
1、字符串不是基本類型,而是引用類型
2、浮點型可能只是近似值,並非精確的值
3、數據範圍與字節數不一定相關,例如float數據範圍比long更加廣泛,而float是4字節,long是8字節
4、浮點數中默認類型是double,如果一定要使用float類型,需要加上一個後綴F
如果是整數,默認爲int類型,如果一定要使用long類型,需要加上一個後綴L,推薦使用大寫字母后綴

2、引用數據類型

變量

程序運行期間,可以發生改變的量

public class Demo02Variable{
 public static void main(String[] args){
  //創建一個變量
  int num1;
  //向變量當中存入一個數據
  num1 = 10;
  System.out.println(num1);
  
  //改變變量當中本來的數字
  num1 = 20;
  System.out.println(num1);
  
  //一步到位的格式
  int num2 = 30; //不能重複創建num1
  System.out.println(num2);
  System.out.println("******************");
  
  byte num3 = 32;//注意:右側數值的取值範圍不能超過左側數據類型的取值範圍
  short num4 = 50;
  long num5 = 1000000000L;//必須加L
  System.out.println(num5);
  
  float num6 = 2.5F;//必須加F
  System.out.println(num6);
  
  double num7 = 1.2;
  System.out.println(num7);
  
  char zifu1 = '中';
  System.out.println(zifu1);
  
  boolean var1 = true;
  System.out.println(var1);
  
  //將一個變量的數據內容,賦值交給另一個變量
  boolean var2 = var1;
  System.out.println(var2);
 }
}

注意事項
1、變量不能重複定義
2、對於float和long類型,後綴F和L不能省略
3、使用byte或short類型的變量,右側的數據值不能超過左側類型的範圍
4、沒有進行賦值的變量,不能直接使用,一定要賦值之後,才能使用。
5、變量使用不能超過作用域的範圍
【作用域】從定義變量的一行開始,一直到直接所屬的大括號結束爲止
6、可以通過一個語句創建多個變量,但是一般不推薦這麼做

public class Demo02Variable{
 public static void main(String[] args){
  
  {
   int num1 = 90;
  }
  int num1=90;//可以再次創建
  System.out.println(num1);//已經超出大括號的範圍
  int a,b,c;
  //各自賦值
  a = 10;
  b = 20;
  c = 30;
  //同時創建並賦值
  int x = 100,y = 200,z = 300;
 }
}

數據類型轉換

當數據類型不一樣時,將會發生數據類型轉換

自動類型轉換(隱式)

1、特點:代碼不需要進行特殊處理,自動完成
2、規則:數據範圍從小到大

public class Demo01DataType{
 public static void main(String[] args){
  System.out.println(1024);
  System.out.println(3.14);
  
  //左邊是long類型,右邊是默認的int類型,左右不一樣
  //int --> long 符合數據範圍從小到大的要求
  long num1 = 100;//發生了自動類型轉換
  System.out.println(num1);
  
  //float --> double
  double num2 = 2.5F;//發生了自動類型轉換
  
  //long --> float 範圍上float更大,符合要求
  float num3 = 30L;
  System.out.println(num3);
 }
}

強制類型轉換

1、特點:代碼需要進行特殊的格式處理,不能自動完成
2、範圍小的類型 範圍小的變量 = (範圍小的類型)原本範圍大的數據

注意事項:

1、強制類型轉換一般不推薦使用
2、byte/short/char這三種類型都可以發生數學運算
3、byte/short/char這三種類型在運算的時候,都會被首先提升爲int類型,然後再計算
4、布爾類型不能發生數據類型轉換

public class Demo02DataType{
 public static void main(String[] args){
  //強制類型轉換
  int num = (int)100L;
  System.out.println(num);
  
  int num2 = (int)6000000000L;//出現的結果不是6000000000,因爲int裝不下,產生數據溢出
  System.out.println(num2);
  
  int num3 = (int)3.5;
  System.out.println(num3);//小數位會被捨棄掉
  
  char zifu1 = 'A';
  System.out.println(zifu1+1);
  
  byte num4 = 40;
  byte num5 = 50;
  //byte+byte --> int+int --> int
  //byte result1 = num4+num5;//這個不對
  int result1 = num4+num5;
  System.out.println(result1);
  
  short num6 = 60;
  short result2 = (short)(num4+num6);
 }
}

數字和字符的對照關係表(編碼表):

ASCII碼錶
Unicode碼錶:萬國碼,也是數字和符號的對照關係,開頭0~127的部分和ASCII一樣,但是從128開始包含更多字符
記住:
48 - ‘0’
65 - ‘A’
97 - ‘a’

public class Demo03DataType{
 public static void main(String[] args){
  char zifu1 = '1';
  System.out.println(zifu1+0);//可以顯示ASCII碼
  //char --> int 從小到大
  int num = zifu1;
  System.out.println(num);
  char num2 = '中';
  System.out.println(num2+0);//結果是20013
 }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章