从零学java笔录-第9篇 数据类型(三)

本文是《凯哥陪你学系列之java基础篇》

本节主要内容:

1:模运算涉及到负数结果:

2:加号(+)的几种         用法

3:自增、自减

4:比较运算符

1:模运算涉及到负数结果

接上一篇

System.out.println(-5%2);

System.out.println(5%-2);

运行结果:

结论:在模运算中,正负号和被模数(被除数或是分母)保持一致。

模运算的应用举例:

我们知道任何数模上2后结果不是0就是1.我们可以使用这个特性进行开关算法开发。比如,当模上2是0的时候,表示开关打开,是1的时候表示开关关闭。

2:加号(+)的几种 用法

加号(+)也可以做连接符使用

System.out.println(5+2);

System.out.println("5"+"2");

System.out.println("a"+"b");

System.out.println('5'+'2');

System.out.println('5'+'a');

System.out.println('a'+'5');

System.out.println('a'+'b');

运行结果:

结论:

1:当加号两边是数字类型的时候 此时加号就是运算符的加

2:当加号一边是字符串的时候。此时加号就是连接符了

3:当加号两边是字符的时候,此时加号是将字符对应的ascii码值进行相加运算的

实战:

加号特殊用法:做连接符使用实例。

需求:我想输出

/**

加号(+)特殊用法举例

需求:我想输出 a= 4,b=5.怎么实现

分析:

a= 和b= 是不变的。变化的是4和5

所以我们可以使用加号特殊用法:作为连接符的用法来实现

**/

/*

这个类的名称是Demo

*/

class AddDemo{

public static void main (String [] args){

int a = 4;

int b = 5;

System.out.println("a = " + a +"," + " b = " + b);//在控制台输出 你好!

}

}

3:自增、自减

自增的两种表现形式:

int a = 3;

a++;

++a;

两种区别:

a++:先把a赋值然后在+1

而 ++a.是先+1然后在赋值。

a++运行原理:

具体代码体现:

class AddPlusDemo{

public static void main (String [] args){

int a = 3;

a = a++;//这个相当于 a = a ;然后在 a+1

System.out.println("a = " +(a++));//输出结果为 3

//(++a)这个相当于 a+1 然后在 a=a

System.out.println("a = " +(++a));//输出结果为 5

/**

输出结果为 3和5解释:

a = a++;

其实就相当于

a = a;                  //这个时候 a =3 的

然后 a = a+1; //这个时候 a= 3+1 = 4了

在输出:

System.out.println("a = " +(++a));

此时的a等于4了而不在等于3了。

而 ++a 是先是 a+1 然后在赋值给a

而此时 a=4所以 a+1 = 4+1 = 5

然后在把5赋值给a

所以 输出的是3和5

**/

}

}

输出结果:

练习题:

int a = 3,b,c;

b=a++;

c=++a;

分别输出a、b、c的值。

练习题代码

class AddPlusDemo2{

public static void main (String [] args){

int a = 3,b,c;

b = a++;//这个相当于 a = a ;然后在 a+1

c = ++a;

System.out.println("a = " +a +", b=" +b +",c="+c);//输出结果为 5

}

}

结果:

思考:

int i=3;

i=i++;

这个时候在输出i的值是3?4?

代码

class IAddDemo{

public static void main (String [] args){

int i = 3;

i = i++;

System.out.println(i);

}

}

输出结果:

分析原因:

i把自己原来的值存放在临时空间temp中。

然后进行+1操作后,i变成了4.

然后在从temp空间中将值赋值给i

所以4被覆盖后成了3.

自减运算:

自减运算同自增运算类似。也分两种情况

a—和—a

区别:

a--:是先赋值在减1

--a:先减1在赋值

练习题:

模仿自增,做自减的练习

4:赋值运算符

赋值运算的几种表现形式:

1:直接赋值 (等号)

2:组合赋值(+=、*=、/=、-=、%=)

+=组合运算:

a+=1等价于:a = a+1;

代码体现:

class ValueDemo{

public static void main (String [] args){

int a =1;

System.out.println(a);//输出 1

System.out.println(a+=1);//输出 2

}

}

输出结果为:

面试题:

short  s=3;

s+=4;

s=s+4;

在编译时候会出错吗?有什么不同?

s+=4。编译可以通过。

s = s+4 编译不通过。会报错。精度丢失。

分析原因:

因为+=是java虚拟机自有的运算方式,一次运算的,在jvm中会自动进行类型转换的。是可以通过的。

但是 s =s +4。是两次运算的,这个时候就会自动提升类型到int的而我们知道short类型是有范围的。而s又是一个变量,值是不确定的。

所以,当s+4有可能超出short类型的范围。所以在编译的时候会报精度丢失的错误。

ps:欢迎关注凯哥微信公众号:凯哥Java

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容

  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 1,599评论 0 9
  • 第一章 初识javaJAVA 第一讲:什么是程序?:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的...
    人子日月几点阅读 523评论 0 1
  • Day01 class 例子{ public static void main(String[] args){ ...
    周书达阅读 1,057评论 0 0
  • /*【程序21】 * 作者 南枫题目:求1+2!+3!+...+20!的和 1. 程序分析:此程序只是把累加变成了...
    HUC南枫阅读 436评论 0 0
  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 6,962评论 0 9