天天看點

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

目錄

  • Java第一個程式:HelloWorld!
    • 将Helloworld.java程式通過Javac工具進行編譯所遇到的問題以及解決辦法
      • 将HelloWorld程式編譯運作【兩種方法】
  • public class和class的差別
  • 語言基礎
    • 辨別符
    • 關鍵字
    • 字面值
    • 變量
    • 資料類型
      • 資料類型詳解
        • 字元型char
        • 轉義字元
        • 整數型
        • 浮點型
        • 布爾型
    • 運算符
      • 算數運算符
      • 關系運算符
      • 邏輯運算符
      • 指派類運算符
      • 字元串連接配接運算符
      • 三目運算符

前言

生活或許是一往無前的勇氣

或許是前進路途的阻礙

但黑暗

在灼燒

在撕裂

灑下的灰燼

終将會飄向那

光明的未來

Java第一個程式:HelloWorld!

建立以HelloWorld.java檔案,預設打開編譯器【這裡小白使用的編譯器是Editplus,有很多編譯器,選擇一個适合自己的】

程式如下:

public class HelloWorld
{
 public static void main(String[] args){
  System.out.println("Hello World!);
 }
}
           

将Helloworld.java程式通過Javac工具進行編譯所遇到的問題以及解決辦法

接下來将Helloworld.java程式通過Javac工具進行編譯:

-我們打開DOS視窗,輸入javac,然後回車,出現以下指令:

’javac’ 不是内部或外部指令,也不是可運作的程式或批處理檔案

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

這是什麼問題呢?

出現以上問題是因為windows作業系統無法找到javac檔案

該如何解決?

兩種方法:【個人推薦第二種】

😃 1,找到你安裝JDK的硬碟,在該硬碟下找到Program Fies檔案,點開,在該檔案下面找到Java檔案, 點開,找到你安裝的JDK檔案,打開該檔案下面的bin檔案,你就會在該檔案下面找到javac.exe指令;然後複制整體路徑

重新打開DOS指令視窗,輸入 :cd 剛才的路徑

例如:cd C:\Program Files\Java\jdk-14.0.2\bin

此時再輸入javac,指令成功運作!

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

注意:當你退出DOS視窗再次打開時,直接輸入javac還是出現以上問題,還得再重新輸入: cd javac.exe所在的路徑;個人覺得太麻煩;并且容易出錯。

😃 2,我們在學習計算機網絡的時候,都知道ipconfig這個指令【可以檢視ip位址】,當我們打開 cmd視窗輸ipconfig,直接我們可以看到我們的ip位址相關資訊。

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

那麼,如何使javac和ipconfig指令一樣,在視窗輸入javac,直接成功呢?

這就需要更改環境變量path

在講述第二種方法前,我們首先了解windows作業系統是如何找尋硬碟上的某個指令的呢?

首先從目前目錄下搜尋

在目前目錄搜尋不到的話,會從環境變量path指定的路徑當中搜尋

如果都搜尋不到則會報錯:XXX不是内部或外部指令,也不是可運作的程式或批處理檔案

是以,如果要達到在cmd視窗直接輸入javac,顯示成功那麼我們就得配環境變量。

具體操作:

打開檢視進階系統設定–>打開計算機屬性下的進階選項–>打開環境變量–>選擇下面系統變量path變量一欄–>點選建立,将javac.exe指令所在的路徑複制過去–>點選應用,就可以了(Windows10)

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎
JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

wondows7配置形式:path=xxx;C:\Program Files\Java\jdk-14.0.2\bin【這裡是我的電腦上javac.exe指令所在位置的路徑,你的電腦路徑你得自己找到】

這時我們再打開DOS指令視窗;直接輸入javac指令,顯示成功。

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

并且值得一提的是,當關閉DOS視窗再次打開輸入javac指令也不會出以上問題。【個人建議第二種,一勞永逸】

将HelloWorld程式編譯運作【兩種方法】

剛才建立立了一個程式:HelloWorld.java

現在進行編譯階段

有兩種方法:

😃 1,

打開你 HelloWorld.java源程式所在位置

打開DOS指令視窗

輸入指令 javac 源程式所在路徑【絕對路徑】(直接滑鼠左鍵拖拉到DOS指令視窗那裡)

點選回車

發現在案例目錄下生成了一個HelloWorld.class檔案,則編譯成功

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎
JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

😃 2,

打開你 HelloWorld.java源程式所在位置

在視窗路徑位置打開cmd指令視窗

輸入指令 javac HelloWorld.java【相對路徑】

點選回車

發現在案例目錄下生成了一個HelloWorld.class檔案,則編譯成功

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎
JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

運作階段:

要注意,必須在你所建立的程式目錄下運作結果!

輸入指令:java 類名

對于第一種方法而言,必須要先切換到.class檔案目錄下才可以運作!

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

錯誤圖示:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

第二種方法因為

你在class檔案目錄下打開ODS指令視窗,是以直接輸入:java HelloWorld可以運作成功!

【個人建議使用第二種方法好一點;避免多出錯誤】

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

注意:windows7可能不能在路徑視窗那裡直接輸入cmd;這個時候用第一種方法。

public class和class的差別

一個Java源檔案當中可以定義多個class檔案

一個Java源檔案當中不一定有piblic的class

一個class會定義生成一個.class檔案

一個Java源程式當中定義一個公開的類【public class】,類名稱必須同源檔案的名稱一緻否則會報錯

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

每一個class都可以編寫mian方法,都可以設定程式的入口

注意:要求class中必須有主方法,不然會出錯

錯誤: 在類 b 中找不到 main 方法, 請将 main 方法定義為:

public static void main(String[] args) 否則 JavaFX 應用程式類必須擴充javafx.application.Application

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

語言基礎

辨別符

-通俗的來說,在Java源程式當中自己有權限命名的單詞/詞語叫做辨別符

-辨別符是用來給類、對象、方法、變量、接口、和自定義資料類型命名的

-命名規則:

1,辨別符隻能由字母、數字、下劃線"_"、美元符号"$"或者人民币"¥"組成,不能含有其他符号。

2,辨別符開頭不能是數字

3,關鍵字和保留字不能作為辨別符

4,辨別符沒有長度限制,大小寫敏感

-命名規範:

1.類和接口名。每個字的首字母大寫,含有大小寫。例如,MyClass,HelloWorld,Time等。

2.方法名。首字元小寫,其餘的首字母大寫,含大小寫。盡量少用下劃線。

例如,myName,setTime等。這種命名方法叫做駝峰式命名。

3.常量名。基本資料類型的常量名使用全部大寫字母,字與字之間用下劃線分隔。對象常量可大小混寫。

例如,SIZE_NAME。

4.變量名。可大小寫混寫,首字元小寫,字間分隔符用字的首字母大寫。不用下劃線,少用美元符号。給變量命名名是盡量做到見名知義。

關鍵字

Java具體關鍵字如下表:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

關鍵字詳細解釋點選此處

字面值

/*
   * 10、100【整數型字面值】
   * 'a'【字元型字面值】
   * "ac"【字元串型字面值】
   * true;false【布爾型字面值】
   * 3.14【浮點型字面值】
   * null【空】
   * 通俗的來說就是資料。
*/

public class Constantdemo{
    public static void main(String[] args){
    System.out.println("abc");   //字元串型字面值
    System.out.println('a');    //字元型字面值
    //System.out.println('ab');    //這裡特别注意;''必須存放單個字元;多個是字元串
    System.out.println(true);    //布爾型字面值
    System.out.println(false);    //布爾型字面值
    System.out.println(3.14);    //浮點型字面值
    System.out.println('');    //帶表空格字元
    }
}
           

變量

😃 什麼是變量?

變量從本質上來講是記憶體的一塊空間。包括資料類型、字面值、名稱。 是記憶體中存儲資料最基本的單元

-變量存儲的資料必須和資料類型一緻

-聲明/定義變量:資料類型 變量名;

例如:int i; int age; int num

-變量指派:變量名 = 字面值;【字面值的資料類型必須和變量名的資料類型一緻】

-通路一個變量通常有兩種通路方式:

1,讀取變量中儲存的具體資料

2,修改變量中儲存的具體資料

-變量在一行上可以聲明多個; 例如:int a,b,c;

-變量必須先聲明,指派,才能通路;

/*
   舉一個簡單的例子
   計算1-100的和
   簡單了解定義變量,給變量指派,輸出變量
*/
public class a{
    public static void main(String[] args){
    int i,sum=0;  //定義變量i,sum;給sum指派;
  for (i=0;i<=100 ;i++ )  //for循環,實作i從1到100;
  { sum+=i;              //i從1到100實作自加,然後指派給sum;
  }                     //這裡用的for循環,不了解後面會将講述
  System.out.println(sum);    //輸出列印 sum
 
}
}
           

輸出結果:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

-變量可以重新指派

-在同一個“作用域”當中;變量名不能重名,但變量值可以重新指派;

-作用域:指的是變量作用的有效範圍,出了作用域,該變量無法通路;

public class Ver{
   public static void main(String[] args){//被main方法包括的整體為一個共同作用域
    int i;    //定義變量i
    i=100;    //将變量指派為100
    System.out.println(i);   //輸出列印變量
    i=200;  //重新将變量值指派,在同一個main方法作用域當中
    System.out.println(i); //輸出列印重新指派過後的變量
   //int i=-1;不能再重新定義i,因為在同一個變量名當中,變量名不能重複
   //System.out.println(i);
   }
   }
           

變量的類型:

根據變量的聲明位置可将變量分為:

1,局部變量:

-在方法體當中聲明的變量叫局部變量;

2,成員變量:

-在方法體外【類體之内】聲明的變量叫成員變量;

public class Ver{
 int k=100; //類體中不能直接編寫Java程式,除聲明變量之外
 public static void main(String[] args){
 int i=1;  //局部變量,作用域為main方法
 System.out.println(i); //輸出結果遵循就近原則;
}

int i=200; //成員變量,在類a當中,方法體之外,且作用域不同,變量名可以一樣并可以重新定義

public static void other(){
int i=300; //局部變量,作用域為other方法
System.out.println(i);
}
}
           

-注意:成員變量沒有手動指派系統會自動指派為0

public class Ver
{ 
   static int f;   //成員變量,沒指派,系統預設為0;
 public static void main(String[] args){
  int i=100;  //對變量i指派
  System.out.println(i);  //輸出列印變量i
  System.out.println(f);  //輸出列印變量f
 }
}
           

結果如下:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

資料類型

1,資料類型作用

程式當中每一個資料都有其相關類型,不同的資料類型占用的記憶體空間大小不同

資料類型的作用是指導JVM在運作資料的時候給該資料配置設定多大的空間

2,Java資料類型包括:

基本資料類型

引用資料類型

基本資料類型包括:四大類八小種

整數型:byte;short;int;long

浮點型: float;double

布爾型: boolean

字元型: char

注意:字元串"ab"不屬于基本資料類型,屬于引用資料類型;

字元屬于基本資料類型

字元串用" "【雙引号】

字元用 ’ '【單引号】

這裡我們需要知道的是:一位元組=8比特位【二進制位】相應的基本資料類型的二進制位為位元組數乘以8;

而基本資料類型的取值範圍是轉化為相應的二進制位,再計算對應的具體數值來表達的,對于Java中的資料的表示範圍,我們不需要記憶,因為它們的值以常量的形式定義在對應的包裝類中了

在Java中

二進制位數表示文法:資料類型.SIZE;

最大取值範圍:資料類型.MAX_VALUE

最小取值範圍:資料類型.MIN_VALUE

包裝類:java.lang.資料類型包裝表示;

包裝類具體如下:

基本資料類型 包裝類型
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character

基本資料類型具體如下:

public class HollowWorld {
 public static void main(String[] args) {
//  byte
  System.out.println("基本類型:byte二進制位數:"+Byte.SIZE);
  System.out.println("包裝類:java.lang.Byte");
  System.out.println("最小值:"+Byte.MIN_VALUE);
  System.out.println("最大值:"+Byte.MAX_VALUE);
  
//  short
  System.out.println("基本類型:short二進制位數:"+Short.SIZE);
  System.out.println("包裝類:java.lang.Short");
  System.out.println("最小值:"+Short.MIN_VALUE);
  System.out.println("最大值:"+Short.MAX_VALUE);
  
//  int
  System.out.println("基本類型:int二進制位數:"+Integer.SIZE);
  System.out.println("包裝類:java.lang.Integer");
  System.out.println("最小值:"+Integer.MIN_VALUE);
  System.out.println("最大值:"+Integer.MAX_VALUE);
  
  
//  long
  System.out.println("基本類型:long二進制位數:"+Long.SIZE);
  System.out.println("包裝類:java.lang.Long");
  System.out.println("最小值:"+Long.MIN_VALUE);
  System.out.println("最大值:"+Long.MAX_VALUE);
  
  
//  float
  System.out.println("基本類型:float二進制位數:"+Float.SIZE);
  System.out.println("包裝類:java.lang.Float");
  System.out.println("最小值:"+Float.MIN_VALUE);
  System.out.println("最大值:"+Float.MAX_VALUE);
  
//  double
  System.out.println("基本類型:double二進制位數:"+Double.SIZE);
  System.out.println("包裝類:java.lang.Double");
  System.out.println("最小值:"+Double.MIN_VALUE);
  System.out.println("最大值:"+Double.MAX_VALUE);
  
  
  
//  char
  System.out.println("基本類型:char二進制位數:"+Character.SIZE);
  System.out.println("包裝類:java.lang.Character");
  //以數值形式而不是字元形式将Character輸出到控制台
  
  }
}
           

具體圖示如下:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

資料類型詳解

字元型char

資料類型 位元組
char 2
public class DataType01
{ 
 public static void main(String[] args){
 char a='c'; //定義一個字元變量a,同時指派字元'c'
  System.out.println(a);//輸出列印字元變量a
  char b='你';//一個中文占用兩個位元組,char為2個位元組,可以存儲一個中文字元
  System.out.println(b);//輸出列印字元變量b
  /*
  char c="ad"; //char類型用單引号,雙引号為字元串類型,"ad"為字元串類型,c為字元類型,編譯報錯
  System.out.println(c);
  //錯誤提示為:錯誤: 不相容的類型: String無法轉換為char
  char c="ad";
  */
   }
}
           

輸出結果:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

轉義字元

char中的轉義字元:\

轉義字元出現在特殊字元之前會将其轉換成普通字元

‘\n’: 換行符

‘\t’:制表符

‘\\’: 表示在控制台上輸出 \

‘\’’: 表示在控制台上輸出單引号’

‘"’: 表示在控制台上輸出雙引号"

‘\"’ :表示普通的雙引号:例如:“你好”

public class DataType02
{
 public static void main(String [] args){
 //n為一個普通字元
  char a='n';
  System.out.println(a); //輸出列印字元變量a
  char b='\n';   //  '\n'這裡我們來說為一個字元,并不是兩個字元,這裡叫做換行符,'\'這裡表示轉義的功能

  /*
  System.out.println()和System.out.print()的差別:
  println表示輸出之後換行;print表示輸出不換行;
  也就表明這裡的'ln'跟'\n'表示同是換行的意思
  */

  System.out.print('M');//輸出字元M,不換行
  System.out.println('N');//輸出字元N,接下來換行
  
  System.out.print('A');//輸出列印字元A,不換行
  System.out.print(b);//輸出列印字元b,這裡表示換行符
  System.out.println('B');//輸出列印字元B,接下來換行
  
  System.out.print('C');//輸出列印字元變量C,不換行
  System.out.println('D');//輸出列印字元D,接下來換行

  System.out.println('E');//輸出列印字元E,換行
  System.out.println('F');//輸出列印字元F,換行

  //普通字元t
  char q='t';
  System.out.println(q);//輸出列印字元變量q,換行

  //制表符Tab(鍵盤上Tab鍵);制表符和空格不同,看起來效果一樣,但他們的ASCII值不同
  char w='\t';//定義字元變量w,指派為:'\t';這裡'\t'表示為制表符
  System.out.print('H');//輸出字元H,不換行
  System.out.print(w);//輸出字元變量w
  System.out.println('J');//輸出字元J

/* 
  輸出'\'在控制台上
  char x='\';這裡的\表示轉義的意思,它會把後面的單引号轉義成一個字元,此時這裡的單引号就沒有了本來的意思
  System.out.prointln(x);
  
  運作出錯: 錯誤: 未結束的字元文字
                char x='\';
  */
  //在控制台上輸出'\'字元
  char x='\\';//'\\'這裡表示,第一個'\'具有轉義功能,将後面的'\'轉義為普通字元'\'
  System.out.println(x);

  //在控制台上輸出單引号字元,同理,加轉義字元
  char v='\'';//  \具有轉義功能将第二個單引号轉換成普通字元,第一個單引号與第三個單引号配對
  System.out.println(v);

  char z='"';//定義字元變量z,指派
  System.out.println(z);
  
  System.out.println("\"你好\"");
       
  }
}
           

輸出結果:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

整數型

Java中的整數型包括:

資料類型 位元組
byte 1
short 2
int 4
long 8

java語言當中的整數型字面值被預設當作int類型來處理

如果要使該整數型字面值被當作long類型來處理,需要在該整數型字面值後面加上l/L

java語言當中的整數型字面值有3種表示方式:

八進制【是一種預設的預設方式】

十進制【需要以0開始】

十六進制【需要以0x開始】

Java語言中預設小容量可以直接轉化為大容量的資料類型,這種自動轉化方式我們稱之為:自動轉化機制

而小容量轉化為大容量的資料類型,則在前面需要加強制轉換符

也可以通俗的來說,當一個數沒有超過前面的取值類型的取值範圍,可以直接指派給該取值類型變量。

詳細情況如下列程式:

public class DataType03
{
 public static void main(String[] args){
  int a=10; //定義整數型變量a,指派十進制數字10
  int b=010;//定義整數型變量b,指派八進制,逢8進一,該數字為8
  int c=0x10;//定義整數型變量c,指派16進制,逢16進一,該數字為16
  System.out.println(a);//輸出列印整數型變量a【10】
  System.out.println(b);//輸出列印整數型變量b【8】
  System.out.println(c);//輸出列印整數型變量c【16】
  
  long x=12; //12為整數型字面值,在沒有任何處理的情況下Java會預設為int類型;
  //java語言當中的【整數型字面值】被預設當作【int類型】來處理
  //因為int類型占用4位元組,long類型占用8位元組,是以自動轉換類型
  System.out.println(x);//小容量直接轉換成大容量的這種轉換方式被成為:自動轉換機制【大容量不能直接轉換成小容量,需要強制類型轉換,byte除外】
 /*
     小容量轉換成大容量需要加【強制類型轉換符】,編譯通過,運作可能損失精度
     這裡編譯錯誤:
        long m=100L;
        int n=m;
 */
//編譯成功如下:
  long m=100L;
  int n=(int)m;//加(int);強制将long類型轉換成int類型,以此類推
  System.out.println(n);
  
 /*
 轉換原理:例如:long類型【8位元組64二進制位】數字100二進制:
 00000000 00000000 00000000 00000000 00000000 00000000 00000000 01100100
  轉換成int類型【4位元組32二進制位】:
 00000000 00000000 00000000 01100100
 所有類型的轉換都是把前面的二進制位去掉
 */
 
/*
 超過範圍:
    long y=2147483648;//會報錯,因為等号右邊開始在沒有任何處理的情況下Java會預設為int類型
    System.out.println(y);//而該範圍超出int類型取值範圍,故編譯錯誤;
    錯誤提示:
    錯誤: 整數太大
       long y=2147483648;
*/

 //當數值出int類型取值範圍的時候,要想不出現錯誤,則開始就聲明為容量比int類型大的long類型
 long z=2147483648L;//右邊數字超出int類型取值範圍,直接編譯會出錯,要想編譯成功,那麼需要轉換類型,容量大于int類型
 System.out.println(z);//輸出列印long類型變量z


//注意:但對于byte類型,字面值沒有超出其取值範圍的,不用加強制轉換符,可以直接編譯成功

byte h=3;//byte類型【-128~127】
System.out.println(h);

 }
}

/*綜上我們也就是說,
當一個數沒有超過前面的取值類型的取值範圍,
可以直接指派給該取值類型變量
byte,short,int,long,char等
*/
           

輸出結果:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

浮點型

資料類型 位元組
float 4
double 8
/*
浮點型:
float【4位元組】
double【8位元組,精度較高】
在Java語言中,所有浮點型字面值【例如5.6】都被預設當作double類型來處理
轉化為float類型需要在後面添加F/f
*/
public class DataType04
{
 public static void main(String[] args){
  double i=3.0;
  System.out.println(i);
  /*
  float m=4.8;//4.8為double類型,m為float類型
  小容量轉化為大容量需要添加強制轉換符
  或者在後面加f/F
  否則編譯錯誤:
  錯誤: 不相容的類型: 從double轉換到float可能會有損失
                float m=4.8;
   */
  float n=(float)4.8;//強制類型轉換
  System.out.println(n);
  
  float f=5.2f;//直接轉化為float類型
  System.out.println(f);
  
   }
}



           

布爾型

資料類型 位元組
boolean 1
/*
布爾型:
boolean
1為true(真),0為false(假)
經常使用在邏輯控制語句當中
*/
public class DataType05
{
 public static void main(String[] args){
 boolean b1=true;
  if(b1){
   System.out.println("登入成功!");//b1為真,輸出該語句
  }else{
   System.out.println("對不起,使用者名或密碼錯誤!");
   }
    
 }
}
           

輸出結果:登入成功!

public class DataType05
{
 public static void main(String[] args){
 boolean b1=false;
  if(b1){
   System.out.println("登入成功!");
  }else{
   System.out.println("對不起,使用者名或密碼錯誤!");//b1為假,輸出該語句
  }
  
  }
}

           

輸出結果:對不起,使用者名或密碼錯誤!

運算符

算數運算符

/*
算數運算符:
+: 加法
-: 減法
*: 乘法
/: 出發/商
%: 取餘/求模
--:自減1
++:自加1

一個表達式有多個運算符;運算符有優先級之分,
不确定的可以加小括号,優先級得到提高
*/
public class OperatorText01
{
 public static void main (String[] args){

//求兩數相加
  int a=3;
  int b=4;
  int m=a+b;
  System.out.println("兩數相加結果為:" +m);

//求兩數相減
  float x=3.2F;
  int y=3;
  float z=x-(float)y;
  System.out.println("兩數相減結果為:" +z);

//求長方形的面積:長=2.5;寬=5.4;
  float lengh=2.5f;
  float wide=5.4f;
  float area=lengh*wide;
  System.out.println("長方形面積為:" +area);

//求兩數相除
  int d=10;
  int f=3;
  float g=(float)d/3;
  System.out.println("兩數相除結果為:" +g);

//++ --出現在變量後
  int h=3;
  int j=h--;//先做指派運算,再自加1;
  //也就是說h的值先指派給了j,再h自加1,那麼j的值就是h沒自加1的值
  int e=6;
  int r=e++;
  System.out.println("h--結果為:" +j);
  System.out.println("e++結果為:" +r);

//++ --出現在變量前
  int q=4;
  int w=--q;
  int t=8;
  int u=++t;//先自加1,再指派;
  //也就是說t的值先自加1,然後指派給了u;
  System.out.println("--q結果為:" +w);
  System.out.println("++t結果為:" +t);

//取餘/取模
  int i=20;
  int o=7;
  int p=i%o;
  System.out.println("取餘/求模的結果為:" +p);

//混合運算
  //求台型的面積:上底:4.8,下底:8.6,高:4
  int high=4;
  float low=8.6f;
  float upper=4.8f;
  float area2=(float)(low+upper)*high/2;
  System.out.println("台型的面積為:" +area2);

 }
}
           

運算結果為:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

關系運算符

/*
關系運算符:
>      大于
>=     大于等于
<      小于
<=     小于等于
==     等于
!=     不等于

運算結果一定為布爾類型:true/false
*/
public class OperatorText02
{
 public static void main(String[] args){
  int a=6;
  int b=10;
  System.out.println(a>b);//false
  System.out.println(a>=b);//false
  System.out.println(a<b);//true
  System.out.println(a<=b);//true
  System.out.println(a==b);//false
  System.out.println(a!=b);//true 
 }
}
           

運算結果為:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

邏輯運算符

/*
邏輯運算符:要求兩邊的算子都是布爾類型【true/false】,其結果也是布爾類型
&    與【兩邊算子都為真才真】
|    或【兩邊算子隻要有一邊為真就真】
!   非【取反,例如:!true為非真,就是假的意思】
^    異或【兩邊的算子真假隻要不一樣,結果就為真,其餘為假】

&&   短路與:跟與的判斷條件一樣,不同的是判斷條件的執行情況不同
||   短路或:跟或的判斷條件一樣,不同的是判斷條件的執行情況不同
*/

public class OperatorText03
{
 public static void main(String[] args){
 
  System.out.println(8>9 & 2>1);//兩邊真才為真,結果為false
  System.out.println(2>9 | 2>1);//一邊真就為真,結果為true
  System.out.println(!true);//取反,結果為false
  System.out.println(8>9 ^ 1>2);//兩邊算子真假一樣,都為假,其結果為false
  System.out.println(8>9 ^ 3>2);//兩邊算子真假不相同,左邊為假,右邊為真,其結果為真

//邏輯與和短路與的差別:
  int a=11;
  int b=3;
  System.out.println(a<b&b>a++);//邏輯與,判斷兩邊的條件是否都成立之後,
  //再整體判斷是否為真或者假,沒有短路現象
  System.out.println(a);//上面條件判斷為假,再執行a++,輸出a
  
  System.out.println(a<b&&b++>a);//a<b為假,則整個條件判斷為假,
  //後面的算子【b++>a】不在執行,相當于短路,稱之為:短路與
  System.out.println(b);//上面第一條件【左邊條件】判斷為假,不執行第二條件【b++>a】,輸出原來的b的值
  
//邏輯或和短路或的差別:
  int x=8;
  int y=10;
  System.out.println(x<y|x>y++);//判斷兩邊條件,有一真【x<y】,全為真,再執行y++
  System.out.println(y);//輸出y++  11
  System.out.println(x<y||y>x++);//判斷第一條件【左邊:x<y】為真,有一真則為真,發生短路或
  System.out.println(x);//根據上面第一個結果為真【發生短路或】,右邊條件【x++】不執行,輸出x值 8
  
   }
}

/**
  *短路與:
  *第一表達式執行結果為假,可以判斷全為假,發生短路與
  *短路或:
  *第一表達式執行結果為真,可以判斷全為真,發生短路或
*/
           

運算結果為:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

指派類運算符

/*
 指派類運算符
 基本指派類運算符:=
 
 擴充指派類運算符:
 += 【加等】
 -= 【減等】
 *= 【乘等】
 /= 【除等】
 %= 【取餘等】
 
 共同特點:都是将等号右邊的表達式運算結果指派給左邊
*/
public class OperatorText04
{
 public static void main(String[] args){
 
 //基本運算符 =
 
  int a=3;//将3指派給a
  int b=5;//将5指派給b
  int x=6;//将6指派給x
  int y=9;//将9指派給y
  int c=a+b;//将等号右邊表達式【a+b】運算結果指派給c,此時c的值為8;
  System.out.println(c);
   b+=a;//相當于b=b【5】+a【3】;将【5+3】結果重新指派給b,此時b的值為8;
   System.out.println(b);
   a-=1;//相當于a=a【3】-1;将【3-1】結果重新指派給a,此時a的值為2;
  System.out.println(a);
   c*=2;//相當于c=c【8】*2;将【8*2】結果重新指派給c,此時c的值為16;
  System.out.println(c);
   x%=5;//相當于x=x【6】%5;将【6%5】結果重新指派給x,此時x的值為1;
  System.out.println(x);
   y/=7;//相當于y=y【9】/7;将【9/7】結果重新指派給y,上面定義y為int類型,此時y的值為1;
   System.out.println(y); 
   }
}
           

運算結果為:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

字元串連接配接運算符

/*
字元串連接配接運算符:+
1,數字+數字:加法求和
2,數字+字元串/字元串+字元串:字元串連接配接運算
*/

/*
要求:在控制台輸出動态的顯示資訊:
例如: 
 1. int a=1;
    int b=2;
   控制台輸出:
      1+2=3
   當a,b,變量改變的時候,控制台輸出改變後的動态資訊
   
 2.   當登入界面資訊時候,輸出不同名字情況下不同的顯示資訊
 
 */
 public class OperatorText05
{
 public static void main(String[] args){
//1
  int a=1;
  int b=2;
  System.out.println(a+"+"+b+"=" +(a+b));
  /*
  a+的意思為:變量a連接配接後面的表達式
  "+"的意思為:輸出字元串+号;可以看出,第一個+号表示連接配接字元串的意思
  +b的意思為:連接配接變量b
  +"="的意思為:連接配接字元串=号
  +(a+b)的意思為:連接配接變量(a+b)運算結果的值
  
  輸出結果:1+2=3
  */
  a=3;
  b=45;
  System.out.println(a+"+"+b+"=" +(a+b));
  //輸出結果:3+45=48

 //2
  String username="小明";
  System.out.println("歡迎使用者 "+username+" 登入成功!");
  /*
  String的意思為字元串類型,
  定義字元串變量username
  "歡迎使用者":表示輸出字元串:歡迎使用者
  +username:連接配接字元串變量username
  +"登入成功!":表示連接配接字元串:登入成功!
  
  輸出結果:歡迎使用者 小明 登入成功!
  */
  username="小雨";
  System.out.println("歡迎使用者 "+username+" 登入成功!");
  //輸出結果:歡迎使用者 小雨 登入成功!
   }
}
 
           

輸出結果為:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

三目運算符

/*
三目運算符:
文法規則:

布爾表達式 ?表達式1:表達式2

布爾表達式執行結果為真,輸出表達式1的執行結果,為假,輸出表達式2的執行結果

*/

public class OperatorText06
{
 public static void main(String[] args){
  int a=4;
  int b=5;
  System.out.println(a>b?a:b);//判斷a>b的值,為假的,執行b,并輸出
  System.out.println(a<b?a:b);//判斷a<b的值,為真的,執行a,并輸出
 }
}
           

運算結果為:

JAVA學習之路--基礎篇二Java第一個程式:HelloWorld!public class和class的差別語言基礎

所有的回頭都是為了更好的再次踏步

轉身

再對自己說一句

你好廢物

往期:

Java學習之路–基礎篇一

下一篇: #正能量