JavaSE——Java基础语法(二进制、变量、方法(函数)、运算符、转义字符)
第2節 基礎語法
一、二進制
1.1 二進制介紹
計算機中的數據都以二進制數字保存。
二進制 :逢二進一,即只有0、1兩個值。如十進制的10在計算機內保存為二進制的1010。
計算機中信息的存儲單位:
-
位(Bit):表示一個二進制數碼0或1,是計算機存儲處理信息的最基本的單位。
-
字節(Byte):一個字節由8個位組成,它表示作為一個完整處理單位的8個二進制數碼。
1.2 補碼
事實上,計算機內的二進制數值是以補碼形式表示的。
補碼:
-
正數的補碼:就是它本身;
-
負數的補碼:將該數的絕對值的二進制形式,按位取反再加1。
由此可知,二進制補碼數值的最高位(最左位)是符號位:0為正數,1為負數。
使用補碼的主要原因 :
使用補碼,可以將符號位和其他位統一處理;同時,減法也可以按加法來處理。另外,兩個用補碼表示的數相加時,如果最高位有進位,則進位被舍棄。
1.3 二進制和十進制之間的互換
二進制數轉換成十進制數 :
按權相加:把二進制數首先寫成加權系數展開式,然后按十進制加法規則求和。
十進制轉換成二進制 :
整數部分:除2取余,逆序排列
小數部分:乘2取整,順序排列
1.4 十六進制
二進制表示法太冗長,所以在程序中一般喜歡用十六進制。
十六進制 :基數為十六,逢十六進一。它用ABCDEF表示10-15.
Java中十六進制數據要以0x或0X開頭,如0x23D。
十六進制轉換成二進制只需將每個十六進制數字替換為相對應的四個二進制位即可。
???? 二進制 十六進制
1.5 八進制
八進制:基數為八。
Java中八進制數據要以0開頭,如0123.
八進制轉換成二進制:只需將每個八進制數字替換為相對應的三個二進制位即可。
現在的計算機系統很少用八進制了。
二、變量
2.1 變量概述
變量 :系統為程序分配的一塊內存單元,用來存儲各種類型的數據,由于該存儲單元中的數據可以發生改變,因此得名為“變量”。
變量分類:
- 按所屬的數據類型劃分:
????- 基本數據類型變量
????- 引用數據類型變量
- 按被聲明的位置劃分:
????- 局部變量:方法或語句塊內部定義的變量
????- 成員變量:方法外部、類的內部定義的變量
特別注意:類的外面不能有變量的聲明。
2.2 數據類型與變量定義、使用
2.2.1 數據類型
由于變量記錄的數據內容大小不同,導致所需的存儲單元大小不同,在Java語言中使用數據類型的概念加以描述。2.2.2 標識符
關鍵字大全:
Java中有一些賦予特定含義,有專門用途的字符串稱為關鍵字(keyword),全部都是小寫。
命名規范: 軟性建議
-
類名規范:首字母大寫,后面每個單詞首字母大寫(大駝峰式)。
-
方法名規范: 首字母小寫,后面每個單詞首字母大寫(小駝峰式)。
-
變量名規范:全部小寫
2.2.3 變量定義、使用
public class variable {public static void main(String[] args) {//創建變量的語法:數據類型 變量名 = 初始化值;int a = 20;//創建變量暫不賦值的語法:數據類型 變量名;int b;//創建字符串變量String s = "abcdef";//重新給變量賦值的語法:變量名 = 值;a = 30;System.out.println(a);} }變量調換小練習:
public class variable2 {/*** 任務:* 將下面變量 a 和變量 b 的值通過運算,進行調換*/public static void main(String[] args) {int a = 10;int b = 20;//通過第三方變量的方式,進行了替換int c = 0;//1. 使用第三方變量c 記錄a的值c = a;//2. 將變量b的值給aa = b;//3. 將變量c記錄的a原來的值賦給bb = c;System.out.println("a="+a);System.out.println("b="+b);} }2.3 數據類型轉換
boolean類型不能轉換成任何其他數據類型。
自動類型轉換 :容量小的類型自動轉換成容量大的數據類型
強制類型轉換 :容量大的類型轉換成容量小的數據類型時,要加上強制類型轉換符
public class data_type_conversion {public static void main(String[] args) {//自動類型轉換byte b = 127;int i = b;System.out.println(i);//強制類型轉換,加上強制轉換符b = (byte)i; //強制轉換有可能造成精度丟失System.out.println(b);} }2.4 float、long、char變量定義
public class float_var {public static void main(String[] args) {float f1 = 10; //右邊的10默認是int類型//1. float 類型變量在定義時需注意,我們直接寫出的浮點數字,默認類型為double//會提示需要強制轉換,可以在浮點數字后面加上f/F,來表示寫出的數字類型是floatfloat f2 = 10.1f;//2. long類型變量定義需注意,直接寫出的整形數字,默認類型是int//當值過大時會顯示出錯。//解決:在整形數字后面加入l/L,來表示寫出的整形數字是long類型。long l1 = 2200000000L;//3. char類型定義:單引號括住,內放一個字符//char類型變量可以進行數字運算char c1 = 'A';System.out.println(c1);System.out.println((int)c1);System.out.println(++c1);System.out.println(++c1);} }ASCII碼表:
2.5 變量作用域
public class variable_scope {//變量的作用域//代碼分為結構定義語句和功能執行語句,功能執行語句必須以英文分號結尾public static void main(String[] args) {int a = 10;}public static void say() {int a = 20;} } public class variable_scope {//變量的作用域//代碼分為結構定義語句和功能執行語句,功能執行語句必須以英文分號結尾public static void main(String[] args) {{int a = 10;}{int b = 20;}{//會報錯System.out.println(a+b);}} } public class variable_scope {//變量的作用域//代碼分為結構定義語句和功能執行語句,功能執行語句必須以英文分號結尾public static void main(String[] args) {int a = 10;int b = 20;{//不會報錯System.out.println(a+b);}} }三、方法
3.1 概述
方法用于封裝一段特定的邏輯功能。主要要素有:權限修飾符、方法名、參數列表和返回值。
3.2 格式
3.3 權限修飾符詳解
規定了方法或類等的使用范圍
3.4 返回值詳解
方法調用結束后可以返回一個數據,稱之為返回值。
方法在聲明時必須指定返回值的類型。
通過 return 語句返回, return 語句的作用在于結束方法且將數據返回。
如果方法沒有返回值(即方法不需要返回數據) , 需將返回值類型聲明為 void。
3.5 參數列表詳解
方法的參數列表: 在調用時傳遞給方法, 需要被方法處理的數據。
在方法定義時, 需要聲明該方法所需要的參數變量。
在方法調用時, 會將實際參數值傳遞給方法的參數變量。 必須保證傳遞參數的類型和個數符合方法的聲明。
下面方法中的static后續再學習
public class function {public static void main(String[] args) {say();System.out.println("----------");say();}public static void say() {System.out.println("勇敢牛牛,不怕困難。");} } public class function2 {public static void main(String[] args) {int sum = sum(10, 20);System.out.println(sum);}public static int sum(int x, int y) {int s = x + y;return s;} }四、運算符
4.1 算數運算符
4.2 賦值運算符
賦值運算符作用是將一個值賦給一個變量, 運算順序從右到左
4.3 關系運算符
關系運算符作用是比較兩邊的操作數, 結果總是 boolean 型的。
4.4 邏輯運算符
邏輯運算符用于對 boolean 型結果的表達式進行運算, 運算結果總是 boolean 型, 后面結合條件結構講解。
4.5 字符串連接運算符“+”
String s=“He” + “llo”; 結果"Hello"
"+"除了可用于字符串相連接, 也能將字符串與其它的數據類型相連成一個新的字符串。
如: String s=“x” + 123; 結果"x123
public class operator {public static void main(String[] args) {String text1 = "Hello";String text2 = "smile";// + 左右只要有一邊是字符串,就是字符串連接符,而不是數值加法運算符String text3 = text1 + text2;System.out.println(text3);} }4.6 三目運算符
X ? Y : ZX 為 boolean 類型表達式, 先計算 x 的值, 若為 true, 整個三目運算的結果為表達式 y 的值, 否則整個運算結果為表達式 z 的值。
例:
int score = 75;
String type = score >=60 ? “及格” : “不及格”;
public class operator {public static void main(String[] args) {// boolean結果表達式?表達式1:表達式2int a = 10;int b = 20;System.out.println(a < b ? "a小于b" : "a大于等于b");} }4.7 操作符優先級
運算符的優先次序
表達式的運算按照運算符的優先順序從高到低進行,同級運算符從左到右進行:
五、轉義字符
所有的ASCII碼都可以用“\”加數字(一般是8進制數字)來表示。而C中定義了一些字母前加"\"來表示常見的那些不能顯示的ASCII字符,如\0,\t,\n等,就稱為轉義字符,因為后面的字符,都不是它本來的ASCII字符意思了。總結
以上是生活随笔為你收集整理的JavaSE——Java基础语法(二进制、变量、方法(函数)、运算符、转义字符)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机视觉介绍
- 下一篇: OpenCV与图像处理学习六——图像形态