0
点赞
收藏
分享

微信扫一扫

Day02

janedaring 2022-04-24 阅读 40

目录

▶类型转换

1.自动转换类型

2.表达式的自动转换

3.强制类型转换

▶运算符

1.基本算数运算符

2.+符号做连接符

3.自增自减运算符

4.赋值运算符

5.关系运算符

6.逻辑运算符

7.三目运算符

8.运算符优先级


♦自动转换类型

1.为什么要进行类型转换?

*存在不同类型的变量赋值给其他类型的变量

2.自动类型转换是什么样的?

*类型范围小的变量,可以直接转换为类型范围大的变量

 

package com.itheima.type;

public class TypeDemo01 {
    public static void main(String[] args) {
    //目标 理解自动类型转换:范围小的变量自动赋值给类型范围大的变量
    byte a=20;
    int b=a;
        System.out.println(a);
        System.out.println(b);//a,b均输出20 因为发生了自动转换:byte 8位——>int 32位

        int age=23;
        double db=age;//发生自动类型转换  int 32位——>double 64位
        System.out.println(db);//输出23.0 因为double是单精度浮点型

        char ch='a';
        int code=ch;//发生自定类型转换  char 8位——>int 32位
        System.out.println(code);//输出是97  因为int是整形 因此输出的是a对应的ASCII码值
    }

}

  ♦表达式的自动转换

1.表达式的自动类型转换是什么样的?

*小范围的类型会自动转换成大范围的类型变量

2.表达式的最终结果类型是由谁决定的?

*由表达式的最高类型决定

3.表达式的有哪些类型转换需要注意?

*byte short char 是直接当成int类型参与运算的                                 

package com.itheima.type;

public class TypeDemo02 {
    public static void main(String[] args) {
        //目标 掌握表达式的自动类型转换的规则
         byte a=10;
         int b=20;
         double c=1.0;
         double rs=a+b+c;//输出是31.0 最高类型是double 64位 因此表达式最终结果是double型的
        System.out.println(rs);

        double rs2=a+b-2.3;//输出是27.7  2.3是double型的 最高类型任然是double
        int rs3=a+b;//输出是30  因为ab中最高类型是int 32位 
        System.out.println(rs2);
        System.out.println(rs3);

        //面试题
        byte i=10;
        byte j=20;
//        byte k=i+j;//报错  此处就不可以用byte接k值 因为 byte要当成int类型参与运算 因此要用int接k值
        int k=i+j;//输出30
        System.out.println(k);
        
    }
}

强制类型转换

1.什么是强制类型的转换?

*可以强行将类型范围大的变量、数据赋值给类型范围小的变量

2.强制类型转换的格式

*数据类型  变量名称=(数据类型)变量名称、数据 

3.强制类型转换需要注意事项?

 *可能造成数据丢失(数据溢出)

*小数强制转换成整数是直接截断小数保留整数     

package com.itheima.type;

public class TypeDemo03 {
    public static void main(String[] args) {
        //目标 理解强制类型转换 alt+回车
        int a=20;
//        byte b=a;//报错
        byte b=(byte) a;
        System.out.println(a);
        System.out.println(b);//20

        int i=1500;
        byte j= (byte) i;
        System.out.println(j);//-36 数据丢失

        double score=99.5;
        int it= (int) score;
        System.out.println(it);//99
    }
}

 ♦基本算数运算符

1.算数运算符有哪些?     

         

2.除法运算需要注意什么?

*如果两个整数做除法,则其结果也一定是整数,因为最高类型是整形 

package com.itheima.operator;

public class OperatorDemo01 {
    public static void main(String[] args) {
        //目标 掌握基本算术运算符的使用 + - * / %
        int a=10;
        int b=3;
        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a / b);//3.333333  但是低层强制转换 只取整形,因此输出3
        System.out.println(a *1.0/ b);//3.3333333   若要输出的是小数 则加上*1.0
        System.out.println(3 / 2);//1
        System.out.println(3 *1.0/ 2);//1.5
        System.out.println(3 / 2*1.0);//1.0   运算时先算的3/2 再算*1.0  因此*1.0应该加在前面
        System.out.println(a % b);//1  取余数即可
    }
}
package com.itheima.operator;

public class OperatorTest01 {
    public static void main(String[] args) {
        //目标 拆分三位数 把个位 十位 百分位分别输出
        int date=589;
        //1.个位
        int ge=date%10;
        System.out.println(ge);
        //2.十位
        int shi=date/10%10;
        System.out.println(shi);
        //3.百位
        int bai=date/100;
        System.out.println(bai);
    }
}

 ♦ +符号做连接符

 


举报

相关推荐

day02

vue day02

uniapp—day02

shell day02

vue基础(day02)

JavaSE learning day02

Day02(进制转换)

机器学习-Day02

0 条评论