零基础自学javase黑马课程第三天
✨欢迎关注🖱点赞🎀收藏⭐留言✒
🔮本文由京与旧铺原创,csdn首发!
😘系列专栏:java学习
💻首发时间:🎞2022年10月25日🎠
🎨你做三四月的事,八九月就会有答案,一起加油吧
🀄如果觉得博主的文章还不错的话,请三连支持一下博主哦
🎧最后的话,作者是一个新人,在很多方面还做的不好,欢迎大佬指正,一起学习哦,冲冲冲
💬推荐一款模拟面试、刷题神器👉[点击进入网站
package com.itheima.arthmeticoperator;
public class Demo4 {
public static void main(String[] args){
//1.&&并且
//两边都为真,结果才是真
System.out.println(true&&true);//true
System.out.println(false&&false);//false
System.out.println(true&&true);//false
System.out.println(false&&true);//false
//2.||或者
//两边都为假,结果才是假
System.out.println(true||true);//true
System.out.println(false||false);//false
System.out.println(true||true);//true
System.out.println(false||true);//true
//短路逻辑运算符具有短路功能
//简单理解,当左边的表达式能确定最终的结果,右边就不会参与运算了
int a=10;
int b=10;
boolean result=++a<5&&++b<5;
System.out.println(a);//11
System.out.println(b);//10
}
}
&& 短路与 结果和&相同,但是有短路作用
|| 短路或 结果和|相同,但是有短路效果
注意事项:
& | 无论左边true,false,右边都要执行
&& || 如果左边能确定整个表达式的结果,右边不执行
&&:左边为false,右边不管是真是假,整个表达式的结果一定是false
||:左边为true,右边不管是真是假,整个表达式的结果一定是true
这两种情况下,右边不执行,提高了效率
最常用的逻辑运算符,&&,||,!
练习
package com.itheima.arthmeticoperator;
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args){
/*
数字6是一个真正伟大的数字,键盘录入两个整数,如果其中一个为6,最终结果输出为true
如果他们的和为6的倍数,最终结果输出为true
其他情况为false
*/
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个整数");
int number1=sc.nextInt();
System.out.println("请输入第二个整数");
int number2=sc.nextInt();
boolean result=number1==6||number2==6||(number1+number2)%6==0;
System.out.println(result);
}
}
三元运算符
需求:定义一个变量记录一个整数
格式:关系表达式?表达式1:表达式2;
计算规则:
1.首先计算关系,表达式的值
2.如果值为true,表达式1的值就是运算结果
3.如果值为false,表达式2的值就是运算结果
package com.itheima.arthmeticoperator;
import java.util.Scanner;
public class Demo6 {
public static void main(String[] args){
/*
动物园里有两只老虎,体重分别通过键盘录入获得,
请用程序实现判断两只老虎的体重相同
*/
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一只老虎的体重");
int weight1=sc.nextInt();
System.out.println("请输入第二个老虎的体重");
int weight2=sc.nextInt();
String result=weight1==weight2?"相同":"不同";
System.out.println(result);
}
}
package com.itheima.arthmeticoperator;
public class Demo7 {
public static void main(String[] args){
/*
一座寺庙里住着三个和尚,已知他们的身高分别为150cm,210cm,165cm
请用程序实现获取这三个和尚的最高身高
*/
int height1=150;
int height2=210;
int height3=165;
int temp=height1>height2?height1:height2;
int max=temp>height3?temp:height3;
System.out.println(max);
}
}
原码
十进制数据的二进制表现形式,最左边是符号位,0为正,1为负
利用原码对正数进行计算是不会有问题的
但是如果是负数计算,结果就会出错,实际运算的结果,跟我们预期的结果是相反的
反码:为了解决原码不能计算负数的问题出现的
计算规则:正数的反码不变,负数的反码在原码的基础上,符号位不变,数值取反,0变1,1变0
反码出现的目的
为了解决原码不能计算负数的问题而出现的
反码的计算规则
正数的反码不变,负数的反码在原码的基础上,符号位不变,数值取反,0变1,1变0
反码的弊端
负数运算的时候,如果结果不跨0,是没有任何问题的,但是如果结果跨0,跟实际结果会有1的偏差
补码出现的目的
为了解决负数计算时跨0的问题而出现的
补码的计算规则
正数的补码不变,负数的补码在反码的基础上加1
另外补码还能多记录一个特殊的值-128,该数据在一个字节下,没有原码和反码
计算机的存储和计算都是以补码的形式进行的