首页 > 酒店新闻 > 公司新闻

k8凯发官方网|从零学java笔录-第9篇 数据类型(三)

发布时间:2025-10-15 18:14:25    次浏览

本文是《凯哥陪你学系列之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+1System.out.println('a = ' +(a++));//输出结果为 3//(++a)这个相当于 a+1 然后在 a=aSystem.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+1c = ++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);//输出 1System.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