欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一起學(xué)JAVA基礎(chǔ)之運(yùn)算符

 更新時(shí)間:2022年01月25日 09:44:32   作者:程序媛?泡泡  
計(jì)算機(jī)的最基本用途之一就是執(zhí)行數(shù)學(xué)運(yùn)算,作為一門計(jì)算機(jī)語言,Java也提供了一套豐富的運(yùn)算符來操縱變量,下面這篇文章主要給大家介紹了關(guān)于JAVA基礎(chǔ)之運(yùn)算符的相關(guān)資料,需要的朋友可以參考下

1 運(yùn)算符

1.1 概述

運(yùn)算符 用于連接 表達(dá)式 的 操作數(shù),并對(duì)操作數(shù)執(zhí)行運(yùn)算。

例如,表達(dá)式num1+num2,其操作數(shù)是num1和num2,運(yùn)算符是”+”。

在java語言中,運(yùn)算符可分為5種類型:

算術(shù)運(yùn)算符、賦值運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符。

根據(jù)操作數(shù)的不同,運(yùn)算符又分為單目運(yùn)算符、雙目運(yùn)算符和三目運(yùn)算符。

單目運(yùn)算符只有一個(gè)操作數(shù),雙目運(yùn)算符有兩個(gè)操作數(shù),三目運(yùn)算符則有三個(gè)操作數(shù)。

位運(yùn)算符涉及到二進(jìn)制位的運(yùn)算,在java 程序中運(yùn)用不是很多。

1.2 運(yùn)算符速查表

1.3 練習(xí):測(cè)試自增自減

創(chuàng)建包: cn.tedu.basic

創(chuàng)建類: TestOperator.java

package cn.tedu.basic;
/**本類用于測(cè)試取余運(yùn)算符*/
public class TestOperator {
	//0.創(chuàng)建程序的入口函數(shù)main
	public static void main(String[] args) {
		//1.測(cè)試除法與取余數(shù)
		System.out.println(25 / 10);//2
		System.out.println(25 % 10);//5
		
		//2.練習(xí)1:獲取一個(gè)兩位數(shù)59的十位與個(gè)位
		int x = 59;
		System.out.println(x/10);//打印十位,5
		System.out.println(x%10);//打印個(gè)位,9
		
		//3.練習(xí)2:獲取一個(gè)三位數(shù)159的百位、十位與個(gè)位
		int y = 159;
		System.out.println(y / 100);//打印百位
		System.out.println(y / 10 % 10);//打印十位
		System.out.println(y % 10);//打印個(gè)位
		
		//4.測(cè)試自增自減運(yùn)算符
		/** 前綴式:符號(hào)在前:++a --a ,先改變變量本身的值,再使用,比如打印
		 * 后綴式:符號(hào)在后:   a++ a--,先使用,再改變變量本身的值
		 * ++:相當(dāng)于給變量本身的值+1
		 * --: 相當(dāng)于給變量本身的值-1*/
		System.out.println("我是一個(gè)無情的分界線");
		
		/**普通的四則運(yùn)算并不會(huì)改變變量本身的值
		 *    自增自減運(yùn)算符才會(huì)改變變量本身的值*/
		int z = 1;
		System.out.println(z+4);//5
		System.out.println(z);//1
		
		int a = 1;
		System.out.println(++a);//2
		System.out.println(a);//2
		
		int b = 1;
		System.out.println(b++);//1
		System.out.println(b);//2
		
		int c = 1;
		System.out.println(--c);//0,符號(hào)在前,先自減,再打印
		System.out.println(c);//0,上面已經(jīng)自減過了
		
		int d = 1;
		System.out.println(d--);//1,符號(hào)在后,先打印,再自減
		System.out.println(d);//0,打印過后,自減成0
		
		//之前的代碼會(huì)對(duì)后面的代碼產(chǎn)生影響,c的值是0
		System.out.println(c);//0
		System.out.println(--c-c-c--);//1,-1-(-1)-(-1)=1
		System.out.println(c);//-2,經(jīng)歷了兩次自減,所以0-2=-2
		
	}
}

1.4 練習(xí):測(cè)試邏輯運(yùn)算符

創(chuàng)建包: cn.tedu.basic

創(chuàng)建類: TestOperator2.java

package cn.tedu.basic;
/**本類用于測(cè)試邏輯運(yùn)算符*/
public class TestOperator2 {
	public static void main(String[] args) {
		/**與:全真才真*/
		System.out.println("測(cè)試單與:");
		System.out.println(true & true);
		System.out.println(true & false);
		System.out.println(false & true);
		System.out.println(false & false);
		System.out.println("測(cè)試雙與:");
		System.out.println(true && true);
		System.out.println(true && false);
		System.out.println(false && true);
		System.out.println(false && false);
		/**或:全假才假*/
		System.out.println("測(cè)試單或:");
		System.out.println(true | true);
		System.out.println(true | false);
		System.out.println(false | true);
		System.out.println(false | false);
		System.out.println("測(cè)試雙或:");
		System.out.println(true || true);
		System.out.println(true || false);
		System.out.println(false || true);
		System.out.println(false || false);
	}
}

1.5 練習(xí):求兩數(shù)的最大值

創(chuàng)建包: cn.tedu.basic

創(chuàng)建類: TestMaxNum.java

package cn.tedu.basic;

import java.util.Scanner;

package cn.tedu.basic;

import java.util.Scanner;

/**需求:接收用戶輸入的兩個(gè)整數(shù),并比較輸出這兩個(gè)數(shù)的最大值*/
public class TestMaxNum {
	public static void main(String[] args) {
		//1.提示用戶輸入
		System.out.println("請(qǐng)輸入您要比較的第一個(gè)整數(shù):");
		//2.接收用戶輸入的整數(shù),并把這個(gè)值交給變量a來保存
		int a = new Scanner(System.in).nextInt();
		System.out.println("請(qǐng)輸入您要比較的第二個(gè)整數(shù):");
		int b = new Scanner(System.in).nextInt();
		
		//3.比較接收兩個(gè)數(shù),使用三元運(yùn)算符
		/**1 ? 2 : 3
		 * 1是表達(dá)式,若1的結(jié)果為true,結(jié)果取2位置,若1的結(jié)果為false,結(jié)果取3位置
		 * */
		//4.定義變量max來保存比較的最大值
		int max = a > b ? a : b;
		
		//5.打印最大值
		System.out.println("兩個(gè)數(shù)的最大值是:"+max);	
		/**思考題:如何判斷3個(gè)數(shù)的最大值? int max = a>b?(a>c?a:c):(b>c?b:c);*/
	}
}

1.6 練習(xí):求平年閏年

創(chuàng)建包: cn.tedu.basic

創(chuàng)建類: TestYear.java

需求:接收用戶輸入的年份,判斷是平年還是閏年

需求:接收用戶輸入的年份,判斷是平年還是閏年
package cn.tedu.basic;

import java.util.Scanner;

/**
 * 需求:接收用戶輸入的年份,判斷是平年還是閏年
 * 如果年份是閏年,需要滿足下面兩個(gè)條件之一:
 * 條件1:能被4整除,并且不能被100整除
 * 條件2:能被400整除
 * */
public class Test3_Year {
	public static void main(String[] args) {
		//1.提示并接收用戶輸入的年份
		System.out.println("請(qǐng)輸入您要判斷的年份:");
		int year = new Scanner(System.in).nextInt();
		
		//2.定義一個(gè)變量用來保存結(jié)果
		String result = "平年";//默認(rèn)值是平年,假設(shè)每年都是平年
		
		//3.判斷用戶輸入的年份是否滿足閏年的條件
		/**解決方案1*/
		/**條件1:能被4整除,并且不能被100整除*/
//		if(year % 4 == 0) {//能被4整除
//			if(year %100 != 0) {//不能被100整除
//				result = "閏年";//符合閏年的條件1,修改結(jié)果為閏年
//			}
//		}
//		/**條件2:能被400整除*/
//		if(year % 400 == 0) {//能被400整除
//			result = "閏年";//符合閏年的條件2,修改結(jié)果為閏年
//		}
		/**解決方案2*/
		/**判斷結(jié)構(gòu) if(判斷條件){滿足判斷條件以后執(zhí)行的代碼} */
		//if(條件1  || 條件2){是閏年 }
		//if((小條件1  && 小條件2) || 條件2){ 是閏年 }
		//if((能被4整除  && 不能被100整除) || 能被400整除){ 是閏年 }
		if((year % 4 == 0 && year %100 != 0) || year % 400 == 0){
			result = "閏年";//符合閏年的條件,修改結(jié)果為閏年
		}
		System.out.println(year+"年是"+result);
	}
	
}

2 拓展補(bǔ)充:

2.1 總結(jié)1:算術(shù)運(yùn)算符之自增自減運(yùn)算符

a是操作數(shù),++是自增運(yùn)算符,- -是自減運(yùn)算符,自增和自減運(yùn)算符即可以放在變量的前面,也可以放在變量的后面,例如:a++、++a、a- -、- -a等。

自增(++):將變量的值加1

分前綴式(如++a)和后綴式(如a++)。前綴式是先加1再使用;后綴式是先使用再加1。

自減(- -):將變量的值減1

分前綴式(如- -a)和后綴式(如a- -)。前綴式是先減1再使用;后綴式是先使用再減1。

2.2 總結(jié)2:邏輯運(yùn)算符

邏輯運(yùn)算符連接兩個(gè)關(guān)系表達(dá)式或布爾變量,用于解決多個(gè)關(guān)系表達(dá)式的組合判斷問題

注意邏輯運(yùn)算符返回的運(yùn)算結(jié)果為布爾類型

通常,我們用0表示false,用1表示true

與:表示并且的關(guān)系

&單與: 1 & 2 ,結(jié)果想要是true,要求1和2都必須是true

&&雙與(短路與):1 && 2 ,當(dāng)1是false時(shí),2會(huì)被短路,提高程序的效率

或:表示或者的關(guān)系

|單或: 1 | 2,結(jié)果想要是true,要求1和2只要有一個(gè)為true就可以

||雙或(短路或):1 || 2,當(dāng)1是true時(shí),2會(huì)被短路,提高程序效率

2.3 總結(jié)3:優(yōu)先級(jí)控制

當(dāng)一個(gè)表達(dá)式包含多個(gè)運(yùn)算符時(shí),就需要考慮運(yùn)算符的優(yōu)先級(jí),優(yōu)先級(jí)高的運(yùn)算符先參與運(yùn)算,優(yōu)先級(jí)低的運(yùn)算符后參與運(yùn)算。在實(shí)際的開發(fā)中,不需要特別去記憶運(yùn)算符的優(yōu)先級(jí)別,也不要刻意的使用運(yùn)算符的優(yōu)先級(jí)別,對(duì)于不清楚優(yōu)先級(jí)的地方使用小括號(hào)輔助進(jìn)行優(yōu)先級(jí)管理。

通常優(yōu)先級(jí)由高到底的順序依次是:1. 括號(hào)級(jí)別最高,逗號(hào)級(jí)別最低;

2. 單目 > 算術(shù) > 位移 > 關(guān)系 > 邏輯 > 三目 > 賦值。

3. 除了單目運(yùn)算符、賦值運(yùn)算符和條件運(yùn)算符,其他的運(yùn)算符都是從左到右結(jié)合的。

總結(jié)

到此這篇關(guān)于JAVA基礎(chǔ)之運(yùn)算符的文章就介紹到這了,更多相關(guān)JAVA運(yùn)算符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java 并發(fā)編程學(xué)習(xí)筆記之Synchronized底層優(yōu)化

    Java 并發(fā)編程學(xué)習(xí)筆記之Synchronized底層優(yōu)化

    這篇文章主要介紹了Java 并發(fā)編程學(xué)習(xí)筆記之Synchronized底層優(yōu)化的相關(guān)資料,主要包含了重量級(jí)鎖,輕量級(jí)鎖,偏向鎖和其他優(yōu)化等方面,有需要的小伙伴可以參考下
    2016-05-05
  • 淺談springboot如何保證多線程安全

    淺談springboot如何保證多線程安全

    這篇文章主要介紹了springboot如何保證多線程安全,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 在Java項(xiàng)目中實(shí)現(xiàn)日志輸出的技巧分享

    在Java項(xiàng)目中實(shí)現(xiàn)日志輸出的技巧分享

    日志是開發(fā)過程中不可或缺的一部分,它可以幫助我們追蹤代碼的執(zhí)行過程、排查問題以及監(jiān)控系統(tǒng)運(yùn)行狀況,然而,大多數(shù)開發(fā)人員在編寫日志時(shí)往往只關(guān)注于輸出必要的信息,而忽略了日志的可讀性和美觀性,本文將介紹如何在Java項(xiàng)目中實(shí)現(xiàn)漂亮的日志輸出
    2023-10-10
  • 基于UncategorizedSQLException異常處理方案

    基于UncategorizedSQLException異常處理方案

    這篇文章主要介紹了基于UncategorizedSQLException異常處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • java語言圖形用戶登錄界面代碼

    java語言圖形用戶登錄界面代碼

    這篇文章主要為大家詳細(xì)介紹了java語言圖形用戶登錄界面代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • SpringMVC表單提交參數(shù)400錯(cuò)誤解決方案

    SpringMVC表單提交參數(shù)400錯(cuò)誤解決方案

    這篇文章主要介紹了SpringMVC表單提交參數(shù)400錯(cuò)誤解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • SpringMVC與前端交互案例教程

    SpringMVC與前端交互案例教程

    本篇文章主要介紹了SpringMVC前端和后端數(shù)據(jù)交互總結(jié),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。希望能給你帶來幫助
    2021-07-07
  • MyBatis超詳細(xì)講解如何實(shí)現(xiàn)分頁功能

    MyBatis超詳細(xì)講解如何實(shí)現(xiàn)分頁功能

    MyBatis-Plus?是一個(gè)?Mybatis?增強(qiáng)版工具,在?MyBatis?上擴(kuò)充了其他功能沒有改變其基本功能,為了簡化開發(fā)提交效率而存在,本篇文章帶用它實(shí)現(xiàn)分頁功能
    2022-03-03
  • Java獲取當(dāng)前操作系統(tǒng)的信息實(shí)例代碼

    Java獲取當(dāng)前操作系統(tǒng)的信息實(shí)例代碼

    這篇文章主要介紹了Java獲取當(dāng)前操作系統(tǒng)的信息實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • SpringBoot和VUE源碼直接整合打包成jar的踩坑記錄

    SpringBoot和VUE源碼直接整合打包成jar的踩坑記錄

    這篇文章主要介紹了SpringBoot和VUE源碼直接整合打包成jar的踩坑記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評(píng)論