運算子 基本型別轉為String(第二章)

2022-06-28 11:15:08 字數 3161 閱讀 7309

運算子:對變數等資料進行操作的符號稱為運算子

表示式(exception):使用運算子等符號把資料連起來的語法格式稱為運算子,比如變數a=a+b;   a+b就是乙個基本的表示式

常用的運算子:1.算數運算子     2.賦值運算子     3.關係運算子     4.邏輯運算子     5.三元運算子

運算子的使用:

1.算數運算子:用於對變數進行數學計算(+、-、*、/、%、++、--、+=、-=)

+:加號左右都是資料,則加號的作用就是運算;加號左右有字元,則起連線作用

例:要列印輸出:100+200=300

int a=100;

int b=200;

int c=a+b;

sout(a + "+" + b + "+" + "=" + c);

加號計算過程中是順序相加,乙個乙個的往後加

當有不同型別的數值進行計算是,結果的型別取決於精度最高的型別

float d=300.5f;

double e=400.4;

c=a+b+d+e;(這樣寫會丟失精度,左邊c是int型,右邊e和d精度比較高,接收下來會丟失精度)

例子:如果a和b兩個int型,但是兩個的和超過了int型,就要將其中乙個先強轉成long型,不然精度也會丟失

long f=a+b;(精度丟失)

long f=(long)(a+b);(精度丟失)

long f=(long)a+b;(精度不會丟失)

乘積

c=a*b;

商:

e=a/b;

e是double型別,a和b都是int型別

若a=200.b=5則e=40;

若a=10,b=4則e=2,精度會丟失,要想精度不丟失,就要將a和b其中乙個強轉為double型,e=(double)a/b

%表示取餘(將兩數相除,除不盡的為餘數)

例子:假設125個小時,換成天後將餘下幾個小時?

int totalhours=125;

int day=totalhours/24;(天數是直接除,小數部分會自動丟失精度)

int hours=totalhours%24;(取餘獲得的是除不盡的餘數部分)

sout(「共有」+day+"天,餘下"+hours+"個小時");

例子:鍵盤錄入乙個三位數,分別列印這個數的個位、十位、百位;

public static void main(string args){

scanner sc=new scanner(system.in);

sout(「請輸入乙個三位數:」);

int num=sc.nextint();

int n1=num%10;(獲得的是個位數)

int n2=num/10%10;(獲得的是十位數)

int n3=num/100;(獲得的是百位數,小數精度丟失)

sout("個位數是:"+n1+"十位數是:"+n2+"百位數是:"+n3);

++表示自增1:(同樣的a--表示自身減1)(若是表示自身加減值定的數值:a+=3,a-=3)

int a=10;

a++;  (此時a等於11)

sout(a);

若是將++寫在列印中

1.前置++表示先執行++,在執行其他操作

2.後置++表示先執行其他,在運算++

int a=10;

sout(++a);(此時a是11)

sout(a++);(此時a是10,但是接著執行其他操作時,a的值為11)

關係運算子:

用於兩個數進行比較的運算子   >   <   ==   >=   <=   !=

=表示賦值,==表示相等

關係運算子的結果是boolean型,結果只為true或者false

比較數值:

int a=10;

int b=10;

sout(a>=b);(true)

sout(a==b);(true)

sout(a!=b);(false)

比較兩個字串:equals()  是object的屬性,所有所有的物件都有這個方法

==比較的是值和位址,equals比較的是值不包括位址

string str1=「hello」;

string str2=sc.next();

sout(str1==str2);(false)

sout(str1.equals(str2));(true)

邏輯運算子:

用於入場交流中  並且、或者、除非等等思想的運算子

&&和||稱為短路運算子,前面的乙個條件滿足則後面的乙個條件不會再進行

&   | 和雙的功能一樣,但是不短路,不管前面的滿不滿足,後面的條件都會執行

&& 只要乙個錯就全錯

|| 只要乙個對就全對

int a=10;

sout(++a>=b || ++a==c)

sout(a);

若第乙個條件對了,則第二個條件不會再執行,此時列印a=11 ;

若第乙個條件錯了,則第二個條件執行,此時列印a=12 ;

但是將 || 換成 | 那不管條件對錯,列印都是 a=12;

多種運算子的優先順序:

小括號 > !> 算數運算子 >關係運算子 > && > || > 賦值運算子

!是取反符:對boolean型別的結果取反

基本型別轉為string:

1.要先將基本型別轉成包裝類

int a=10;

integer b=new integer(a);

string s=a.tostring();

2.連線乙個string字串

string s=a+"";

go基本型別和運算子

乙個簡單的列子 var a bool ture bool值只有false和true。兩個相同的型別之間可以通過 或者 來比較獲取乙個bool值。比如 var a 1a 5 false a 1 true a 2 true a 1 false go對於值之間的比較非常嚴格,只有兩個相同的型別的值才可以進...

運算子對基本型別的影響

package com.sdjt.study.jibenleixing author lyy public class test 在s1 s1 1 中,s1 1運算的結果是int型,把它賦值給乙個short型變數s1,所以會報錯 而在s1 1 中,由於是s1是short型別的,所以1首先被強制轉換為...

go學習 go基本型別和運算子

go型別 只能通過顯示型別轉換進行型別間轉換 bool 只有true和false 整形 int8,uint8 byte int16,uint16,int32,uint32,int64,uint64,int和uint與平台相關 浮點數 float32和float64 相當於c的double 複數 co...