Java三(运算符 )


前言

本章是学习Java语言的第三天内容运算符

有需要补充或需要注意的地方希望大佬指点。

文章目录

前言

运算符

一、算数运算符

应用场景

练习

二、类型转换的分类

隐式转换

两种规则:

强制转换

三、字符串相加

四、字符相加

注意事项

五、自增自减运算符

六、赋值运算符

七、关系运算符

注意事项

八、逻辑运算符

 九、短路逻辑运算符

注意事项:

练习

十、三元运算符

练习

十一、运算符优先级

总结



运算符

一、算数运算符

+
-
*
/
%取余/取模

如果在计算的时候有小数参与,结果有可能不精确的。

//除法
 //整数参与计算,结果只能得到整数
 //小数参与计算,结果可能不精确
 System.out.println(10/2);//5
 System.out.println(10/3);//3
 System.out.println(10.0/3);//3.3333333333333335
//取余
 System.out.println(10%2);//0
 System.out.println(10%3);//1

应用场景

1.可以用取余来判断,a是否可以被b整除

2.可以判断 a是否为偶数

练习

键盘录入一个三位数,将其拆分为个位,十位,百位后,打印出来

公式总结

个位:数值%10

十位:数值/10%10

百位:数值/100%10

public class Test {

    public static void main(String[] args) {
        //键盘录入
      Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个三位数");
        int number= sc.nextInt();
        System.out.println("个位是"+number%10);
        System.out.println("十位是"+number/10%10);
        System.out.println("百位是"+number/100%10);
    }
}

二、类型转换的分类

隐式转换

取值范围小的转换为取直范围大的

隐式转换(自动类型提升)

byte<short<int<long<float<double(最大 )

两种规则:

1.取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。

2.byte short char 三种类型的数据在运算时,都会直接先提升为 int,再进行运算。

强制转换

取值范围大的转换为取值范围小的

格式:目标数据类型 变量名 = (目标变量类型)被强制转的数据;

三、字符串相加

当"+"操作中出现 字符串时,这个"+"是字符串连接符,而不是算术运算符了。会将前后的数据进行拼接,并产生一个新的字符串。

"123"+123 //"123123"

连续进行"+"操作时,从左到右逐个执行。

1+99+"哈哈" //"100哈哈"

1+2+"abc"+2+1 //"3abc21"

四、字符相加

byte short char 三种类型的数据在运算 的时候,都会直接先 提升为int再进行运算

当字符+字符 与字符+数字的时候,会按照ascii表来计算

a对应97 A对应的是65

1+'a' //98

'a'+"abc" //"aabc"

注意事项

/和%区别:两个 数据做除法,/取结果的商,%取结果的余数。

整数操作只能得到整数,要想得到 小数,必须有浮点数参与运算。

五、自增自减运算符

注意:++和--可以放在变量前面,也可以放在 变量后边。

单独使用:++与--无论放到前面还是变量后边,单独写一行 结果是一样的。

参与计算:

int a = 10;

int b= a++; 先用后加 //b=10

int a = 10;

int b= ++a;先加后用 //b=11

六、赋值运算符

细节:short s = 1;

s += 1;//等同于s = (short)(s+1)

System.out.println(s);//2

七、关系运算符

注意事项

关系运算符的结果都是boolean类型,要么是true,要么是false。

千万别把"=="写成"="。

八、逻辑运算符

 九、短路逻辑运算符

注意事项:

&|,无论左边真 还是假,右边都要执行。

&& ||,如果左边能确定 整个表达式的结果,右边 不执行。

&&,左边为false,右边不管是真是假,但整个表达式的结果一定是false。

||:左边true,右边不管是真是假,整个表达式的结果一定是ture。

这两种情况下,右边不执行,提高了效率。

练习

数字6是一个真正伟大的数字,键盘录入两个整数。如果其中一个为6,最终结果输出true。

如果它们的和为6的倍数。最终结果输出true。其他情况都是false。

public class Shuziliu {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int i = sc.nextInt();
        System.out.println("请在输入一个整数:");
        int i1 = sc.nextInt();
        System.out.println((i==6||i1==6)||((i+i1)%6==0));
    }
}

十、三元运算符

格式:关系表达式 ?表达式 1:表达式2;

计算规则:

1.首先计算计算 关系表达式的值。

2.如果值为true,表达式1的值就是运算结果。

3.如果值为false,表达式2的值就是运算结果。

练习

求两个数的较大值

public class Sanyuan {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个数字:");
        int a = sc.nextInt();
        System.out.println("请再次输入一个数字:");
        int b = sc.nextInt();
        int num =  a>b?a:b;
        System.out.println("较大数是:"+num);
    }

十一、运算符优先级


总结

本章简单介绍了Java运算符,明天学习循环判断。

有不足的地方望大佬指点一二。

听君一席话,胜读十年书。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值