本文是《凱哥陪你學(xué)系列之java基礎(chǔ)篇》
本節(jié)主要內(nèi)容:
1:變量范圍
2:字符類型運(yùn)算過(guò)程
3:類型運(yùn)算的細(xì)節(jié)
4:運(yùn)算符之算術(shù)元算
1:變量范圍
變量都有取值范圍的。其范圍是離其最近的一對(duì)大括號(hào)里面璃俗。
/**
變量范圍演示:
變量都有其運(yùn)行的范圍奴璃。離其最近的一對(duì)大括號(hào)就是其范圍。
**/
class VarDemo2{
public static void main(String[] args){
char c ='a';
{
char ch = 'b';
System.out.println( c);
System.out.println( ch);
}
}
}
修改:
在ch所在大括號(hào)之外輸出c和ch結(jié)果會(huì)如何城豁?
代碼:
class VarDemo2{
public static void main(String[] args){
char c ='a';
{
char ch = 'b';
}
System.out.println( c);
System.out.println( ch);
}
}
分析:
字符類型運(yùn)算過(guò)程
編寫代碼直接輸出字符a:
class charDemo{
public static void main(String[] args){
char c = 'a';
System.out.println( c);
}
}
修改輸出語(yǔ)句為:
System.out.println( c +1);
完整代碼:
class charDemo{
public static void main(String[] args){
char c = 'a';
System.out.println( c);
System.out.println( c +1);
}
}
查看控制臺(tái)輸出:
分析原因:
計(jì)算機(jī)發(fā)明就是為了方便人類工作的苟穆。所以,盡管無(wú)論什么數(shù)據(jù)在計(jì)算機(jī)里面都是以010101二進(jìn)制形式存在的钮蛛。但是為了方便和生活中常用的字母相對(duì)應(yīng)(為啥是字母呢鞭缭?因?yàn)橛?jì)算機(jī)是美國(guó)人發(fā)明的~).于是就在計(jì)算機(jī)里面用相應(yīng)的數(shù)值表示生活中對(duì)應(yīng)的字母剖膳。這些對(duì)應(yīng)關(guān)系最終形成了一張表 叫做ASCII魏颓。
ASCII(American Standard Code for Information Interchange,美國(guó)信息交換標(biāo)準(zhǔn)代碼)是基于拉丁字母的一套電腦編碼系統(tǒng)吱晒,主要用于顯示現(xiàn)代英語(yǔ)和其他西歐語(yǔ)言甸饱。
注意:ASCII碼不支持中文。
于是中國(guó)根據(jù)自己國(guó)家實(shí)際情況也同樣出了一張表GB2312。隨著生活文字增加叹话,GB2312也不斷換版本偷遗。最后統(tǒng)稱為GBK。記淄蘸:GBK是咱中國(guó)的國(guó)家標(biāo)準(zhǔn)氏豌。
Java中還有一種編碼格式是unicode。這個(gè)支持幾乎全球大多數(shù)的文字
編碼輸入中文字符的【你】和其對(duì)應(yīng)的編碼值是多少
class charDemo{
public static void main(String[] args){
char c = 'a';
System.out.println( c);
System.out.println( c +1);
System.out.println('你');
System.out.println( '你'+0);
}
}
如果出現(xiàn)如下中文亂碼
需要修改環(huán)境變量热凹。
可以看到中文的 【你】對(duì)應(yīng)的編碼是20320.
練習(xí):輸出【我 愛(ài) 你】三個(gè)中文對(duì)應(yīng)的編碼
類型運(yùn)算的細(xì)節(jié)
細(xì)節(jié)1:考察點(diǎn).整數(shù)類型默認(rèn)類型
byte b=3;
b = b+4;
如果這個(gè)時(shí)候輸入b就會(huì)報(bào)錯(cuò)泵喘。精度丟失。
原因:
b是byte類型的般妙。而4是整數(shù)型纪铺。整數(shù)默認(rèn)是int類型的。又因?yàn)閎yte類型范圍比int范圍小碟渺。所以盡管3+4在byte的范圍之內(nèi)鲜锚。但是還是會(huì)提示有可能精度丟失。
細(xì)節(jié)2:考察點(diǎn).不同數(shù)據(jù)類型的數(shù)值范圍苫拍。
byte b1 = 100;
byte b2 = 50;
byte b3 = b1+b2;
這個(gè)依然會(huì)報(bào)錯(cuò)的芜繁。那是因?yàn)槲覀冎?byte類型的范圍是-128~127之間。而b1+b2已經(jīng)超出了byte類型的范圍绒极。所以會(huì)報(bào)錯(cuò)的浆洗。
運(yùn)算符
算術(shù)運(yùn)算符:
加、減集峦、乘伏社、除、取余(模運(yùn)算)
代碼演示:
/**
算術(shù)運(yùn)算符演示
**/
class OperatDemo{
public static void main (String [] args){
/**
算術(shù)運(yùn)算符:加(+)塔淤、減(-)摘昌、乘(*)、除(/)高蜂、 取余(%)也模運(yùn)算
**/
int i = 5;
int? x = 2;
System.out.println(5/2);//結(jié)果是:2
/**
說(shuō)明:
為什么 5除以2不是2.5而是2
因?yàn)閖ava是強(qiáng)類型的聪黎。i是int類型,x也是int類型备恤。所以相除的結(jié)果也是
int類型
**/
//模運(yùn)算.就是取余的稿饰。
System.out.println(5%2);//結(jié)果是:1
System.out.println(5%10);//結(jié)果是:5
System.out.println(5%5);//結(jié)果是:0
/**
int類型下:
如果分母小于分子。模運(yùn)算后露泊,結(jié)果就是分母喉镰。
當(dāng)分子等于分母。模運(yùn)算后惭笑,結(jié)果是0.因?yàn)闆](méi)余數(shù)了侣姆。
**/
}
}
運(yùn)行結(jié)果:
?
歡迎關(guān)注公眾號(hào):凱哥Java