# JAVA 變數與資料型態 ###### tags: `Java` --- :::warning w3schools的說明: [Java Data Types](https://www.w3schools.com/java/java_data_types.asp) ::: ## 變數與資料型態 * 變數共有byte、short、int、long、float、double、char和boolean八種資料型態。 ![](https://i.imgur.com/mW5NfcT.png) :::warning 變數宣告方式 int num1 = 80, num2 = 60; ::: ![](https://i.imgur.com/rAKxjVT.png) --- ### int(整數)用法 ```java= public class Int { public static void main(String[] args) { //宣告變數int(整數) int num1 = 80 , num2 = 60; System.out.println("num1=" + mun1 +", num2 =" + num2); System.out.println(num1 + "+" + num2 + "=" +(num1 + num2)); } } ``` >結果: num1=80, num2 =60 80+60=140 --- ## 整數 ### 二、八、十六進位 |整數進制|前面加上| |---|---| |二進制|0b___| |八進制|0____ | |十六進制|0x___| ```java= public class Integral_Types { public static void main(String[] args) { System.out.println("十進制 10:" + 10); //二進制在數字前加上 0b System.out.println("二進制 10:" + 0b10); //八進制在數字前加上 0 System.out.println("八進制 10:" + 010); //十進制在數字前加上 0x System.out.println("十六進制 10:" + 0x10); } } ``` >結果: 十進制 10:10 二進制 10:2 八進制 10:8 十六進制 10:16 --- ## 整數最大值與最小值 * Java 提供long、int、short、byte四種整數型態最大值與最小值的代碼便於使用 ![](https://i.imgur.com/bmxMZZw.png) ![](https://i.imgur.com/Ao2C7fb.png) 練習一下~ ```java= public class MAX_VALUE { public static void main(String[] args) { int i =java.lang.Integer.MAX_VALUE; //將i設為整數的最大值 System.out.println("i-"+1); System.out.println("i+1="+(i+1)); //會發生溢位 System.out.println("i+2="+(i+2L)); //寫法1 System.out.println("i+3="+((long)i+3)); //寫法2 } } ``` --- ## 浮點數 * JAVA預設是double資料型態,而不是float,**需在數字後面加上**「<span class="code1">F</span>」或「<span class="code1">f</span>」表示 * 可以用科學符號的「<span class="code1">e</span>」或「<span class="code1">E</span>」符號來代表10為底的指數。 ![](https://i.imgur.com/nMrq5P2.png) 練習浮點數 ```java= public class Float { public static void main(String[] args) { float num = 5.5F; System.out.println(num+"*"+num+"="+(num*num)); } } ``` >顯示結果: 5.5*5.5=30.25 #### Java SE7(含)以後的版本提供底線(_)來分隔數值字面值 |數字|說明| |---|---| |123_456_789 |整數123456789改以_千位分隔| | 1.234_567_89 |浮點數1.23456789改以_千位分隔| | 0b1001_0001_1101| 二進制整數100100011101改以_四位一個分隔| --- ## 布林型態 * true和false :::danger Java的布林值和C與C++語言不相同,不允許使用 0 代表假,1 代表真。 ::: --- ## 字元型態 * 可上網搜尋Unicode字元 & ASCII code字元對照表 :::success [Wiki百科Unicode字元] https://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8 [ASCII code字元對照] https://www.ascii-code.com/ ::: ![](https://i.imgur.com/2PyG4PO.png) 字元練習: ```java= public class Char_Type { public static void main(String[] args) { char ch1 = 71; //10進位編碼71的字元 char ch2 = 'G'; //看的出來這是一個G char ch3 = '\u0047'; //Unicode編碼 System.out.println("ch1=" +ch1); System.out.println("ch2=" +ch2); System.out.println("ch3=" +ch3); } } ``` 輸出結果: ch1=G ch2=G ch3=G --- <style> h2 { color: #2383B8; } h3 { color: #1AA340; } h4 { color: white; background-color: #2383B8; padding:8px; } .code1 { padding: 2px 4px; font-size: 90%; color: #c7254e; background-color: #f9f2f4; border-radius: 4px; font-family:'Fira Code'; } .code { padding: 2px 4px; font-size: 90%; font-family:'Fira Code'; } </style>