Java基础语法——运算符与表达式
目錄
Eclipse下載 安裝 使用
運(yùn)算符
鍵盤錄入
Eclipse下載 安裝 使用
- Eclipse的概述(磨刀不誤砍柴工)——是一個(gè)IDE(集成開發(fā)環(huán)境)
- Eclipse的特點(diǎn)描述
??? ? ? ? (1)免費(fèi)
? ? ? ? (2)純Java語言編寫
? ? ? ? (3)免安裝
? ? ? ? (4)擴(kuò)展性強(qiáng)??
- 下載和安裝
????????(1)下載 The Community for Open Innovation and Collaboration | The Eclipse Foundation
????????(2)安裝? 綠色版? 解壓就可以使用(Eclipse)??
①按照上述網(wǎng)址進(jìn)入下列網(wǎng)址:
??
②點(diǎn)擊Download,再進(jìn)入系列界面
??
③下載下列安裝包
??
④點(diǎn)擊下載進(jìn)入下列界面,是一個(gè)捐錢界面,無需理會,不是Eclipse的軟件付費(fèi)界面,Eclipse是免費(fèi)的軟件。(可以使用360瀏覽器下載,有迅雷加速,谷歌瀏覽器下載的可慢了)
??
⑤解壓并且安裝
??
什么是工作區(qū)?——工作區(qū)可以比作房子,在工作區(qū)里邊可以建立好多項(xiàng)目,項(xiàng)目又可以比作房子里邊的家具
Eclipse的基本使用
選擇工作空間——–其實(shí)就是我們寫的源代碼所在的目錄
用Eclipse來完成一個(gè)HelloWorld案例
(1)–代碼以項(xiàng)目為基本單位
(2)–創(chuàng)建項(xiàng)目
(3)–創(chuàng)建包
(4)–創(chuàng)建類
(5)–編寫代碼
(6)–編譯
(7)–運(yùn)行
其項(xiàng)目的創(chuàng)建實(shí)現(xiàn)如下:
package com.demo;public class HelloWorld {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("HelloWorld");}}??
關(guān)于Eclipse的小技巧:
(1)如果不小心把Console關(guān)掉,怎么辦?
點(diǎn)擊工作區(qū)的Window-Show View-Console
??
(2)如果我們把所有的工作區(qū)都關(guān)掉,應(yīng)該怎么辦?
點(diǎn)擊工作區(qū)Window-Perspective-Reset Perspective
??
(3)字體的大小和顏色修改
Window-Preference-Appearabce-Colors and Fonts-basic-Text Font
??? ?(4)行號的顯示
點(diǎn)擊右鍵,Show Line Numbers
??
(5)自動保存和編譯
工作區(qū)Project-Build Automatically,不打勾將不會自動保存
?
(6)如何導(dǎo)入別人做的工程?、
右鍵import-General-Existing Projects into Workspace
運(yùn)算符
運(yùn)算符——–對常量和變量進(jìn)行操作的符號稱為運(yùn)算符
表達(dá)式
??(1)用運(yùn)算符把常量或者變量連接起來符合java語法的式子就可以稱為表達(dá)式。不同運(yùn)算符連接的式子體現(xiàn)的是不同類型的表達(dá)式。
?(2)定義兩個(gè)int類型的變量a,b,做加法(a + b)
常用運(yùn)算符
?(1)算術(shù)運(yùn)算符
?(2)賦值運(yùn)算符
?(3)關(guān)系運(yùn)算符
?(4)邏輯運(yùn)算符
?(5)三元運(yùn)算符
一、算術(shù)運(yùn)算符
eg:代碼:(1.2.3案例代碼說明)
// 定義了一個(gè)包 package com.yunsuanfu;// 定義類 public class Yunsuanfu {/*** Alt+/快捷鍵能夠快速的幫助寫出代碼* 按住Crtl+鼠標(biāo)左鍵,可以快速定位到對應(yīng)的變量、方法或者其他的類*/public static void main(String[] args) {//加法int c = add(1,2);System.out.println(c);//減法float d = substract(100.2f,50.1f);System.out.println(d);//乘法// 這里因?yàn)槌朔莻€(gè)函數(shù)不是靜態(tài)的,我們要寫入靜態(tài)函數(shù),需要加這一句話,沒有static修飾符的,相當(dāng)于一個(gè)動態(tài)的方法,首先我們需要將一個(gè)類new一個(gè)對象Yunsuanfu yunsuanfu = new Yunsuanfu();int e = yunsuanfu.multiply(5,6);System.out.println(e);//除法,上邊已經(jīng)new了,我們這里可以直接調(diào)用的float f = yunsuanfu.divide(100.0f, 3.0f);System.out.println("除法:"+f);//整數(shù)除法int h = yunsuanfu.divide(10, 3);System.out.println("整數(shù)除法:"+h);//取余l(xiāng)ong g = yunsuanfu.mod(10, 3);System.out.println(g);;}/***兩個(gè)整數(shù)相加*@parameter a*@parameter b*@return*/public static int add(int a,int b) {int c = a+b;return c;}/*** 減法*/public static float substract(float a,float b) {float c = a - b;return c;}/*** 乘法*/public int multiply(int a,int b) {int c = a * b;return c;}/*** 除法*/public float divide(float a,float b) {float c = a/b;return c;}/*** 整數(shù)除法*/public int divide(int a,int b) {int c = a/b;return c;}/*** 取余*/public long mod(long a,long b) {long c = a%b;return c;} }eg 代碼(4,5案例代碼說明)
package com.yunsuanfu; /*** 自增和自減* @author 無限囂張(菜菜)**/ public class SelfAddSubstract {public static void main(String[] args) {// TODO Auto-generated method stubSelfAddSubstract selfAddSubstract = new SelfAddSubstract();int i =10;System.out.println("i初始值:"+i);System.out.println("i自增后"+selfAddSubstract.selfAdd(i));System.out.println("i初始值"+i);System.out.println("i自減后:"+selfAddSubstract.selfSubstract(i));}/*** 自增*/public int selfAdd(int j) {++j;return j;}/*** 自減*/public int selfSubstract(int k) {--k;return k;} }?i++和++j的區(qū)別(一般用在循環(huán)里)
i++放在后邊,先調(diào)用他的值,再加1,++j放在前邊,是先加1再運(yùn)算
package com.yunsuanfu;/*** 自增的兩種形式* @author 無限囂張(菜菜) */ public class Self1 {public static void main(String[] args) {int i = 10;//++放在后面的時(shí)候先調(diào)用他的值再加1//i = i+1;System.out.println(i++);int j = 10;//++放在前面,先加1,再運(yùn)算System.out.println(++j);}}二、字符和字符串參與+運(yùn)算
?字符參與運(yùn)算
? ? –其實(shí)是拿該字符對應(yīng)的數(shù)值來操作(unicode碼)
? ? –‘a(chǎn)’? 97
? ? –‘A’? 65
? ? –‘0’? 48
?字符串參與運(yùn)算
? ? –這里其實(shí)做的不是加法運(yùn)算,而是字符串拼接。
? ? –字符串和其他類型的數(shù)據(jù)做拼接,結(jié)果是字符串類型的。
代碼演示:
package com.yunsuanfu; /*** 字符運(yùn)算* @author 無限囂張(菜菜)**/ public class CharDemo {public static void main(String[] args) {char a='a';char b='1';System.out.println(a>b);}}字符串拼接
代碼演示
package com.yunsuanfu; /*** 字符串加法,字符串拼接* @author 無限囂張(菜菜)**/ public class StringAddDemo {public static void main(String[] args) {String a = "我";String b = "是";String c = "程序員";System.out.println(a+b+c+"!");}}?賦值運(yùn)算符
- 基本的賦值運(yùn)算符:=
- 擴(kuò)展的賦值運(yùn)算符:+=,-=,*=,/=,…
代碼演示
package com.yunsuanfu; /*** 擴(kuò)展運(yùn)算符* @author 無限囂張(菜菜)**/ public class Zhangfei {public static void main(String[] args) {// TODO Auto-generated method stubint i = 10;int j = i +1;j += 1; //相當(dāng)于j = j+1;System.out.println(j);}}關(guān)系運(yùn)算符
- ==,!=,>,>=,<,<=
- 關(guān)系運(yùn)算符的結(jié)果都是boolean型,也就是要么是true,要么是false。
- 注意事項(xiàng)
? ? ? ? ? ? ?–關(guān)系運(yùn)算符“==”不能誤寫成“=” 。
代碼演示
package com.yunsuanfu; /*** Eclipse小技巧* Ctrl+shift+F 格式化代碼* @author 無限囂張(菜菜)**/ public class GuanXiYunSanFu {public static void main(String[] args) {// TODO Auto-generated method stubint a = 1;int b = 2;System.out.println("a==b:?"); // 字符串不能和true和false做拼接System.out.println(a==b);System.out.println("a<=b:?");System.out.println(a<=b);}}邏輯運(yùn)算符(比較重要,也比較燒腦,多練習(xí))
- 邏輯運(yùn)算符用于連接布爾型表達(dá)式,在Java中不可以寫成3<x<6,應(yīng)該寫成x>3 && x<6 。
- &,|,^,!
- &&,||
- “&”和“&&”的區(qū)別:
????????單&時(shí),左邊無論真假,右邊都進(jìn)行運(yùn)算;
????????雙&時(shí),如果左邊為真,右邊參與運(yùn)算,如果左邊為假,那么右邊不參與運(yùn)算。
????????“|”和“||”的區(qū)別同理,雙或時(shí),左邊為真,右邊不參與運(yùn)算。
代碼演示
package com.yunsuanfu;/*** Eclipse小技巧 Ctrl+shift+F 格式化代碼* Eclipse小技巧 Ctrl+shift+/ 注釋多行代碼* @author 無限囂張(菜菜)**/ public class GuanXiYunSanFu {public static void main(String[] args) {// TODO Auto-generated method stub/** int a = 1; int b = 2; System.out.println("a==b:?"); // 字符串不能和true和false做拼接* System.out.println(a==b); System.out.println("a<=b:?");* System.out.println(a<=b);*/boolean a = true;boolean b = false;boolean c = true;boolean d = false;/*** 單與*/System.out.println("***********************************************");System.out.println(a&b); //看兩個(gè)是不都是true,都是true,返回true,否則返回falseSystem.out.println(a&c); //看兩個(gè)是不都是true,都是true,返回true,否則返回falseSystem.out.println(b&c); //看兩個(gè)是不都是true,都是true,返回true,否則返回falseSystem.out.println(b&d); //看兩個(gè)是不都是true,都是true,返回true,否則返回false/*** 雙與*/System.out.println("***********************************************");System.out.println(a&&b); //判斷第一個(gè),如果是true,再判斷第二個(gè),如果是false,直接返回false,如果是true,返回trueSystem.out.println(a&&c); //判斷第一個(gè),如果是true,再判斷第二個(gè),如果是false,直接返回false,如果是true,返回trueSystem.out.println(b&&c); //判斷第一個(gè),如果是true,再判斷第二個(gè),如果是false,直接返回false,如果是true,返回trueSystem.out.println(b&&d); //判斷第一個(gè),如果是true,再判斷第二個(gè),如果是false,直接返回false,如果是true,返回true/*** 單或;除非兩個(gè)都是false,才返回false,否則返回true*/System.out.println("***********************************************");System.out.println(a|b); System.out.println(a|c); System.out.println(b|c); System.out.println(b|d); /*** 雙或;有一個(gè)true,返回true*/System.out.println("***********************************************");System.out.println(a||b); System.out.println(a||c); System.out.println(b||c); System.out.println(b||d); /*** 異或;當(dāng)兩個(gè)相同返回false,不同返回true*/System.out.println("***********************************************");System.out.println(a^b); System.out.println(a^c); System.out.println(b^c); System.out.println(b^d); /***非*返回的是相反的*/System.out.println("***********************************************");System.out.println(!a); System.out.println(!b); System.out.println(!c); System.out.println(!d); }}三元運(yùn)算符
格式
? ? ?–(關(guān)系表達(dá)式)?表達(dá)式1:表達(dá)式2;
? ? –如果條件為true,運(yùn)算后的結(jié)果是表達(dá)式1;
? ? –如果條件為false,運(yùn)算后的結(jié)果是表達(dá)式2;
示例:
? ? ?獲取兩個(gè)數(shù)中大數(shù)。
? ? int x=3,y=4,z;
? ? z = (x>y)?x:y;//z變量存儲的就是兩個(gè)數(shù)的大數(shù)。
代碼演示
package com.yunsuanfu;public class Sanyuan {public static void main(String[] args) {// TODO Auto-generated method stubint x = 3;int y = 4;//int z = (x>y)?x:y;int z;if(x>y) {z = x;}else {z = y;}System.out.println(z);}}鍵盤錄入
- 鍵盤錄入數(shù)據(jù)概述
? ? ? ?我們目前在寫程序的時(shí)候,數(shù)據(jù)值都是固定的,但是實(shí)際開發(fā)中,數(shù)據(jù)值肯定是變化的,所以,把數(shù)據(jù)改進(jìn)為鍵盤錄入,提高程序的靈活性。
- 如何實(shí)現(xiàn)鍵盤錄入數(shù)據(jù)呢?(目前先記住使用)
代碼演示
package com.demo;import java.util.Scanner;/** 引包的快捷鍵:Ctrl+shift+O* 為了提高程序的靈活性,我們把數(shù)據(jù)改為鍵盤錄入* 如何實(shí)現(xiàn)鍵盤錄入呢?目前使用JDK提供的Scanner.* 使用步驟,記住即可使用步驟A:導(dǎo)包import java.util.Scanner;類中的順序:package > import > classB:創(chuàng)建對象Scanner sc = new Scanner(System.in);C:接受數(shù)據(jù)int i = sc.nextInt();*/public class ScannerDemo {public static void main(String[] args) {//創(chuàng)建鍵盤錄入數(shù)據(jù)Scanner sc = new Scanner(System.in);//接受數(shù)據(jù)System.out.println("請錄入一個(gè)整數(shù):");int i = sc.nextInt();//輸出數(shù)據(jù)System.out.println("i:"+i);} }鍵盤錄入數(shù)據(jù)練習(xí)
1.鍵盤錄入兩個(gè)數(shù)據(jù),并對這兩個(gè)數(shù)據(jù)求和,輸出其結(jié)果
package com.demo;import java.util.Scanner;/** 鍵盤錄入兩個(gè)數(shù)據(jù),并對這兩個(gè)數(shù)據(jù)求和,輸出其結(jié)果* * 鍵盤錄入* A:導(dǎo)包* B:創(chuàng)建對象* C:接受數(shù)據(jù)*/ public class ScannerTest {public static void main(String[] args) {// 創(chuàng)建對象Scanner sc = new Scanner(System.in);// 接收數(shù)據(jù)System.out.println("請輸入第一個(gè)數(shù)據(jù):");int a = sc.nextInt();System.out.println("請輸入第二個(gè)數(shù)據(jù)");int b = sc.nextInt();// 對數(shù)據(jù)進(jìn)行求和int sum = a + b;System.out.println("sum:" + sum);} }?2.鍵盤錄入兩個(gè)數(shù)據(jù),獲取這兩個(gè)數(shù)據(jù)中的最大值
package com.demo;import java.util.Scanner;/** 鍵盤錄入兩個(gè)數(shù)據(jù),獲取這兩個(gè)數(shù)據(jù)中的最大值* * 鍵盤錄入* A:導(dǎo)包* B:創(chuàng)建對象* C:接受數(shù)據(jù)*/ public class ScannerTest {public static void main(String[] args) {// 創(chuàng)建對象Scanner sc = new Scanner(System.in);// 接收數(shù)據(jù)System.out.println("請輸入第一個(gè)數(shù)據(jù):");int a = sc.nextInt();System.out.println("請輸入第二個(gè)數(shù)據(jù)");int b = sc.nextInt();//獲取這兩個(gè)數(shù)據(jù)中的最大值int z;if(a>b) {z = a;}else {z = b;}System.out.println("z:" + z);} }3.?鍵盤錄入兩個(gè)數(shù)據(jù),比較這兩個(gè)數(shù)據(jù)是否相等
package com.demo;import java.util.Scanner;/** 鍵盤錄入兩個(gè)數(shù)據(jù),比較這兩個(gè)數(shù)據(jù)是否相等* * 鍵盤錄入* A:導(dǎo)包* B:創(chuàng)建對象* C:接受數(shù)據(jù)*/ public class ScannerTest {public static void main(String[] args) {// 創(chuàng)建對象Scanner sc = new Scanner(System.in);// 接收數(shù)據(jù)System.out.println("請輸入第一個(gè)數(shù)據(jù):");int a = sc.nextInt();System.out.println("請輸入第二個(gè)數(shù)據(jù)");int b = sc.nextInt();//獲取這兩個(gè)數(shù)據(jù)中的最大值boolean z;if(a==b) {z = true;}else {z = false;}System.out.println("z:" + z);} }4.鍵盤錄入三個(gè)數(shù)據(jù),獲取這三個(gè)數(shù)據(jù)中的最大值
package com.demo;import java.util.Scanner;/** 鍵盤錄入三個(gè)數(shù)據(jù),獲取這三個(gè)數(shù)據(jù)中的最大值* * 鍵盤錄入* A:導(dǎo)包* B:創(chuàng)建對象* C:接受數(shù)據(jù)*/ public class ScannerTest3 {public static void main(String[] args) {// 創(chuàng)建對象Scanner sc = new Scanner(System.in);// 接收數(shù)據(jù)System.out.println("請輸入第一個(gè)數(shù)據(jù):");int a = sc.nextInt();System.out.println("請輸入第二個(gè)數(shù)據(jù)");int b = sc.nextInt();System.out.println("請輸入第三個(gè)數(shù)據(jù)");int c = sc.nextInt();//獲取這三個(gè)數(shù)據(jù)中的最大值//?����?int temp = (a > b ? a : b);int max = (temp > c ? temp : c);System.out.println("max:" + max);} }?
?
總結(jié)
以上是生活随笔為你收集整理的Java基础语法——运算符与表达式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机引导原理,计算机启动原理与多重引导
- 下一篇: Java转Kotlin