强制类型转换、浮点数运算问题、算术运算符、赋值运算符、比较运算符、逻辑运算符、三元运算符、Scanner(扫描)键盘录入

强制类型转换

public class Demo01_强制类型转换注意事项 {
    public static void main(String[] args) {
        //浮点转成整数,直接去掉小数点,可能造成数据丢失精度。
        double d1 = 3.14;
        double d2 = 3.88;

        //强制类型转换
        int i1 = (int)d1;
        System.out.println(i1);
        int i2 = (int)d2;
        System.out.println(i2);
    }
}

浮点转成整数,直接去掉小数点,没有四舍五入
可能造成数据损失精度。

浮点数运算问题

public class Demo02_浮点数运算问题 {
    public static void main(String[] args) {
        double x = 1.0;
        double y = 0.9;
        double result = x-y;
        //java 中的基本数据类型中的小数,不是精确的小数
        System.out.println(result);//0.09999999999999998
        //整数相除必得整数,不会有小数
    }
}

 java 中的基本数据类型中的小数,不是精确的小数
整数相除必得整数,不会有小数

算术运算符

public class Demo03_算术运算符 {
    public static void main(String[] args) {
        //  +  -  *  /  %

        //+表示:正数
        //+字符串拼接
        //+加法运算 针对的是数值之间进行运算
        int x = 10;
        int y = 20;
        int z = x+y;
        System.out.println(z);//30

        //-表示:负数
        //-表示减法运算,也是针对于数值之间的运算
        z = x - y;
        System.out.println(z);//-10

        //*表示:乘法
        z = x * y;
        System.out.println(z);//200

        //  /表示:除法
        //除法运算  也符合整数相除只得整数
        z = x / y;
        System.out.println(z);//0

        //%表示:求取余
        //余数的取值范围  与除数有关系[0~除数-1]
        //余数的符号(-,+)  与被除数有关系
        z = x % y;
        System.out.println(z);//10

        //++或--

        //++自增1
        //++可以放到变量的前面,或者变量的后面
        //++与变量 单独一行,在前或在后效果一样
        int i = 10;
        i++;
        System.out.println(i);//11
        ++i;
        System.out.println(i);//12

        //当++作为表达式的一部分,++在前会先自增1,后参与表达运算
        //当++作为表达式的一部分,++在后,会先参与表达式运算,后自增1
        int num = 10;
        //num++ ++在后,会先用原来的值10 参与加法运算
        int result = num++ + 10;
        System.out.println(result);//20
        //参与运算后,num值会自增1
        System.out.println(num);//11

        //++在前,会先自增1,原来的值是11 现在的会变成12
        //变成12之后与 10 相加 得出结果
        result = ++num + 10;
        System.out.println(result);//22
        System.out.println(num);//12
    }
}

++自增1
        ++可以放到变量的前面,或者变量的后面
        ++与变量 单独一行,在前或在后效果一样

        当++作为表达式的一部分,++在前会先自增1,后参与表达运算
        当++作为表达式的一部分,++在后,会先参与表达式运算,后自增1

        参与运算后,值会自增1

赋值运算符

public class Demo04_赋值运算符 {
    public static void main(String[] args) {
        //赋值运算符 我把等号右边的值赋值给 = 左边的变量名
        //+=,-=,*=,/=,%=
        //+=
        int num = 10;
        //num = num + 20;
        num += 20;
        System.out.println(num);//30


        //自动强制类型转换
        int a = 1;
        short  b = 2;
        //b = b + a;报错因为类型转换小转大
        b+=a;//运算符进行了自动强制类型转换
        System.out.println(b);
        //小于int类型的整数运算的时候,会自动提升为int类型

    }
}

赋值运算符 我把等号右边的值赋值给 = 左边的变量名

+=,-=,*=,/=,%=   都是赋值运算符

小于int类型的整数运算的时候,会自动提升为int类型

比较运算符

public class Demo05_比较运算符 {
    public static void main(String[] args) {
        //比较运算符  表达式结束之后 会产生一个boolean类型的值
        // == 比较是否相等
        int num1 = 100;
        int num2 = 99;
        boolean b = num1==num2;
        System.out.println(b);
        // != 不等于
        b = num1!=num2;
        System.out.println(b);
        // > 大于
        b = num1 > num2;
        System.out.println(b);
        // < 小于
        b = num1 < num2;
        System.out.println(b);
        // >= 大于或等于
        b = num1 >= num2;
        System.out.println(b);
        // <= 小于或等于
        b = num1 <= num2;
        System.out.println(b);
    }
}

比较运算符  表达式结束之后 会产生一个boolean类型的值

逻辑运算符

public class Demo06_逻辑运算符 {
    public static void main(String[] args) {
        //逻辑运算符的结果 为boolean类型
        //逻辑运算符的两边 必须是布尔类型的表达式

        // & 逻辑与  要求与运算符两边的结果要同时为真,
        //true & true == true
        //true & false == false
        //false & true == false
        //false & false == false
        int num1 = 10;
        int num2 = 20;
        int num3 = 30;
        int num4 = 40;

        boolean bool1 = num1 <= num2;//true
        boolean bool2 = num3 >= num4;//true
        boolean boo1 = bool1 & bool2;//true
        System.out.println(boo1);//true

        System.out.println("----------------------------------------");
        //逻辑或 | 或者  只要有一个条件满足为真  表达式就会成立
        //true | true == true
        //true | false == true
        //false | true == true
        //false | false == false
        boolean boo2 = bool1 | bool2;//true
        System.out.println(boo2);//true

        System.out.println("----------------------------------------");
        // ! 非  取反
        //书写代码正确的逻辑代码,如果为真,代码才会执行
        //有些情况 当其为假的时候,需要将代码执行
        System.out.println(!boo2);


        System.out.println("----------------------------------------");
        // ^ 了解 相同为假,不同为真
        //true ^ true == false
        //true ^ false == true
        //false ^ true == true
        //false ^ false == false
        System.out.println(true ^ true);
        System.out.println(true ^ false);
        System.out.println(false ^ true);
        System.out.println(false ^ false);


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

        /*
        短路逻辑与  &&
        短路逻辑或  ||
            好处:提升了代码的运行效率
        */
        int i1 = 99;
        int i2 = 100;
        int i3 = 101;
        int i4 = 102;
        //与运算特点特点,如果有一个为假,整体为假
        //与前面的条件为false,后边的表达式结果不管是true还是false对整个表达式最终的结果都将不会产生影响,所以可以采用短路逻辑与 &&
        boolean boo3 = i1 > i2 && i1++ >=100;
        System.out.println(boo3);//false
        System.out.println(i1);//99
        //短路逻辑或 ||
        /*
        当运算,只要有一个为真,结果为真,
        当运算符第一个条件为 真 , 后面的为真或假 都没意义了
        通过短路逻辑或 ||
         */
        boolean bool4 = i3 <= i4 || ++i3 ==i4;
        System.out.println(bool4);
        System.out.println(i3);
    }
}

三元运算符

public class Demo07_三元运算符 {
    public static void main(String[] args) {
        /*
            格式: 数据类型  变量名  =  布尔类型表达式  ?  值1  :  值2;
            数据类型: 一定要和值1 和 值2的数据类型保持一致
            变量名: 见名知意,符合小驼峰规则
            =: 赋值运算符  把值1 或 值2 的值赋值给变量名
            布尔类型的表达式: 只能是布尔类型的表达式,要么是真,要么是假
            ? : 询问作用 布尔表达式的结果
            值1: 如果布尔表达式为 真 就返回值1
            值2: 如果布尔表达式为 假 就返回值2
        */
    }
}

Scanner(扫描)键盘录入

//导包
import java.util.Scanner;

public class Demo08_Scanner键盘录入 {
    public static void main(String[] args) {
        /*
        使用键盘录入3步曲
            1, 导入:  import java.util.Scanner;
            2, 创建对象:  Scanner sc = new Scanner(System.in);
            3, 调用方法:
                nextInt()  只能从键盘录入int以内的整数
                nextline()  能从键盘录入任意的内容
         */
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        // nextInt() 只能从键盘录入int范围以内的整数
        int num = sc.nextInt();
        System.out.println("您输入的整数是:" + num);


        System.out.println("请输入任意内容:");
        String str = sc.nextLine();
        System.out.println("您输入的是:" + str);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曲靖花式通幽处

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值