Java基礎知識----運算符

一. Dos基礎命令

窗口鍵+r,一起按下,輸入cmd,打開dos界面
輸入d:,進入d盤
輸入dir,查看有哪些文件夾
輸入md test, 創建名叫test的文件夾
輸入rd test,刪除名叫test的文件夾
輸入cd test,進入名叫test的文件夾
輸入cd… ,返回上級目錄
輸入cd\ , 返回根目錄
輸入del cat.java,刪除名叫cat的java文件
在輸入dos命令時,要使用英文輸入法

二. Java基礎

JDK 和 JRE

JDK(Java Development Kit) 是Java的開發工具,包括了JRE,其中的開發工具:編譯工具(javac.exe) 打包工具(jar.exe)等

JRE(Java Runtime Environment)
包括Java虛擬機和Java程序所需的核心類庫等

JVM 包含於 JRE 包含於 JDK
在這裏插入圖片描述

Test.java

public class Test{
	public static void main(String[] args){
		System.out.print("Hello world");
	}
}

進入cmd,找到.java所在目錄
javac Test.java 之後會多出一個Test.class文件
運行class文件 java Test

  • Java源文件以.java爲擴展名,源文件的基本組成部分是類
  • java應用程序的執行入口是main()方法
  • java嚴格區分大小寫
  • java方法由一條條語句構成,每個語句以;結束
  • 括號都是成對出現的,缺一不可

在這裏插入圖片描述

常見問題

源文件名不存在或者寫錯,或者當前路徑出錯
類文件名寫錯,或者類文件不在當前路徑下
聲明爲public的主類應與文件名一致,否則編譯失敗

註釋

/**
*文檔註釋
*這是一個打印helloworld的類
*@author xjl
*@version 1.0.0
*/
public class Test{
    public static void main(String[] args){
        //單行註釋
        System.out.println("Hello World");
        /*
        多行註釋
        */
    }
}

關鍵字:

在java語言編程時,在關鍵的地方使用的單詞,體現其含義,比如
class----類, public----公共的
保留字:可能在以後被用來作爲關鍵詞的單詞
標識符:Java對各種變量,方法和類等要素命名時使用的字符序列稱作標識符(凡是自己可以起名字的地方),(數字不可以開頭,不可包含空格)

命名規範:
包名:所有字母都小寫xxxyyyzzz。
類名,接口名:多單詞組合時,所有單詞首字母大寫XxxYyyZzz。
變量名,方法名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫:xxxYyyZzz。
常量名:所有字母都大寫,多單詞時用下劃線連接:XXX_YYY_ZZZ

變量:
數據類型 變量名稱 = 變量值,變量初始化,例如 int i = 1;
=代表賦值
變量的作用域,一對{}之間有效
變量是通過變量名來訪問這塊區域的

數據類型分爲基本數據類型(8種)和引用數據類型

在這裏插入圖片描述
整數類型:byte,int,short,long
long類型變量賦值的時候要在數值後面加上字母l

浮點類型:float,double
float類型變量賦值的時候要在數值後面加上字母f

字符:用英文單引號括起來的單個字母,數字,符號
\轉義字符

布爾類型: 只允許取值false和true,無null
boolean b1 = true;

字符串:就是由0到多個字母數字符號組成的一個串,用英文雙引號括起來
凡是引用類型,都可以用null作爲值,在初始化時可以賦值爲null

String類是一個不可變類,創建出的字符串將存放在數據區,保證每個字符串常量只有一個,不會產生多個副本

int i1 =1;
int i2 =2;
以上這種會在內存中存儲兩個1的值

String s0 = “hello”;
String s1 = “hello”;
String s2 = “he” + “ll” + “o”;
在內存中不會存在兩個“hello”
假設hello的內存地址爲xxxxxx,聲明s0變量時給s0賦值爲hello實際上是讓s0變量引用hello的內存地址xxxxxx,聲明變量s1賦值時,實際上也是讓s1變量引用hello的內存地址xxxxxx
在這裏插入圖片描述

基本數據類型轉換

int i =1;
short b = 2;
byte c = 3;
result = i + b + c;
//在計算過程中,b和c被轉換爲int類型
char c = 'a';
byte b = 2;
int k = c + b;
//結果輸出爲99,char類型與數字進行運算時,轉換爲相應的ASCII碼值再進行運算

String str0 = "1" + 1 + 2 + 3;
//輸出結果爲1123,自動將基本類型轉換爲字符串類型

System.out.println(3 + 4 + "hello");
//輸出結果爲7hello,前面一部分按照數字加法計算

System.out.println('a' + 1 + "hello");
//輸出結果爲98hello,前面一部分按照a的ASCII碼爲97進行數字加法計算

System.out.println("hello" + 'a' + 1);
//輸出結果爲helloa1

強制轉換

boolean類型不能強制轉換爲其他類型

byte b = 9;
int i = b;
//以上屬於正常的隱式轉換

int k = 7;
byte b0 = (byte) k ;
//以上屬於強制轉換

三.運算符

算術運算符

在這裏插入圖片描述
++ 自增(前):先運算後取值
++ 自增(後):先取值後運算
– 自減(前):先運算後取值
– 自減(後):先取值後運算

a=2;b=++a;    //a=3,b=3

a=2;b=a++;    //a=3,b=2

System.out.println(7 / 2);//輸出爲3
//當整數除以整數時,會把結果小數部分捨棄,保留整數部分

System.out.println(7 % 2);//輸出爲1,取餘數
System.out.println('*' + '\t' + '*');//輸出爲93, char類型可以進行數學運算,將字符轉換爲ASCII進行計算,上式將三個字符的ASCII碼相加
System.out.println("*" + '\t' + '*');//輸出爲*	*,把其他數據轉換爲字符串,做了一個字符串拼接

賦值運算符

在這裏插入圖片描述

/*
變量參與運算的時候,java程序不知道具體的變量在做完後會不會超出當前變量的範圍
所以會先把變量轉換爲一個更大長度,在這個例子中,
short是一個短整型數據,會默認轉化爲int,若直接運行會報錯
*/
short s = 2;
s = s + 3;
應該爲 s = (short) (s + 3);

但是使用 s += 3;時不需要強制轉換
//在使用擴展賦值運算符時,變量在參與運算時會把結果強制轉換爲當前變量的類型
int i=1;
i *= 0.1;
System.out.println(i);//此時輸出i爲0,因爲0.1被強制轉換爲int型

比較運算符

  1. ==不能誤寫爲=
  2. 結果都是boolean類型

邏輯運算符

在這裏插入圖片描述
在這裏插入圖片描述

位運算符

在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述
正數的>>>與>>一致
負數的>>>與>>不一致

有符號的右移是補0還是補1,看右移之後的首位是0還是1,如果是1,補1,如果是0,補0

最高位代表正負號,無符號的右移時,不管移動之後的首位是0還是1,空位直接補0,
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

&運算,同位&運算時,都是1時結果爲1,其他情況都是0
|運算,同位|運算時,都是0時結果爲0,其他情況都是1
^ 運算,同位^ 運算時,都是0或都是1時結果是0,其他情況都是1
~運算,就是把二進制的同位翻轉,也就是1變0,0變1

三元運算符

在這裏插入圖片描述

//獲取兩個數中較大的數
int m = 1;
int n = 2;
System.out.println(m > n ? m : n);

//獲取三個數中較大的數
int m = 1;
int n = 2;
int k = 3;
System.out.println(m > n ? (m > k ? m : k) : (n > k ? n : k))

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章