JAVA基础知识点03-运算符、引用数据类型、键盘输入

算数运算符: +
++--  自增自减

赋值运算符:
    基础赋值运算符
        =
        双目运算符
        是java中唯一一个自右向左运算的符号

    扩展赋值运算符(基础赋值运算符+算数运算符)
        += -= *= /= %=
        a+=1;  =>a=a+1;
        a%=1;  =>a=a%1;

        推荐使用
        优点:
            执行效率高
            编译器会在编译的时候自动优化成扩展赋值运算符,提高效率
            自动做强制类型转换
        缺点: 不够直观
比较运算符|关系运算符
    > < >= <=
        操作数类型: byte,short,int,long,float,double,char

    == !=
        操作数: 任意类型(基本数据类型,引用数据类型)

    结果为boolean类型的数值
逻辑运算符:
    & 与
        两边的操作数都为true,结果为true,如果一个false,结果就为false
    | 或
        一个为true就是true,两个都为false才是false
    ! 非->取反
        !true->false
        !false->true

    ^ : 两边都为相等结果为false,不等为true

短路运算符
        && : 与&逻辑相同
        || : 与|逻辑相同
        如果左边的操作数就能够决定最终的结果,右边得操作数不运行


    操作数只能为boolean类型,可以结果为boolean类型的表达式
    推荐使用短路运算符  && ||

 

public class OpDemo03 {
    public static void main(String[] args) {

        System.out.println("---------&----------------");
        System.out.println(true && true);  //true
        System.out.println(true & false);  //false
        System.out.println(false & false); //false
        System.out.println(false & true);  //false

        System.out.println("---------|----------------");
        System.out.println(true || true);  //true
        System.out.println(true | false);  //true
        System.out.println(false | false); //false
        System.out.println(false | true);  //true

        System.out.println("---------!----------------");
        System.out.println(!true);  //false
        System.out.println(!false); //true

        System.out.println(5+3>7 | 5+4<6);

        System.out.println("---------短路----------------");
        //ArithmeticException: / by zero 数学异常
        //System.out.println(false & 5/0==0);  //true
        System.out.println(false && 5/0==0);   //true

        System.out.println("---------^----------------");
        System.out.println(true ^ true);  //false
        System.out.println(true ^ false); //true
        System.out.println(false ^ false);//false
        System.out.println(false ^ true); //true

        System.out.println("=============练习=================");
        int a=10;
        int b=9;
        System.out.println(a>b & ++b>a);      //false
        System.out.println("a="+a+",b="+b);   //10  10
        System.out.println(a<b | b<a);        //false
        System.out.println(!(a>b ^ a>9));     //false
        //System.out.println(10<5 & 10/0==0); //异常
        System.out.println(10<5 && 10/0==0);  //false  短路
        
    }
}
条件运算符|三目运算符|三元运算符

    语法:
        boolean类型表达式 ? 值1 : 值2;

    执行流程:
        1.执行条件表达式,得到一个boolean类型的结果
        2.结果为true,最终的结果为值1
        3.结果为false,最终的结果为值2

 

public class OpDemo04 {
    public static void main(String[] args) {

        int a = 3;
        int b = 5;
        //比较2个数 中的最大de值
        int max = a>b ? a : b;
        System.out.println(max);

        //比较两个变量的大小,找到值最大的那个变量的变量名
        String str = a>b ? "a最大" : "b最大";
        System.out.println(str);

        //计算a是否为偶数
        System.out.println(a%2 == 0 ? "偶数" : "奇数");;
    }
}
位运算符 (了解)
    运算的时候,会先把操作数转为二进制,然后进行运算,最终得到的结果转为十进制
    & : 二进制的两个操作数,统一位置的两个数如果一个为0就是0,两个都为1才是1
    | : 二进制的两个操作数,同一位置的两个数如果一个1就是1,两个都为0才是0
    ^ : 二进制的两个操作数,同一位置的两个数如果相等为0,不等为1
    以上两边操作数 为boolean类型 作为逻辑运算符使用,如果操作数为整数,作为位运算使用

    位移运算符
    << 左移 : 第一个操作数转为二进制,向左移动第二个操作数个位置,最终的结果转为十进制
    >> 右移 : 第一个操作数转为二进制,向右移动第二个操作数个位置,假设源操作数右边与一条线,移出的忽略,只保留剩下的二进制的数据,最终的结果转为十进制

    规律:
        右移: 第一个操作数/2^(第二个操作数次幂)
        左移: 第一个操作数*2^(第二个操作数次幂)

    总结: 位移运算符相对效率较高,直接针对于二进制进行操作

 

        System.out.println(2&3);  //2
        System.out.println(2|3);  //3
        System.out.println(2^3);  //1

        System.out.println(8>>2);  //2
        System.out.println(8<<2);  //32   8 * 2 ^ 2  = 8 * 4 = 32
        System.out.println(8<<3);  //64   8 * 3 ^ 2  = 8 * 9 = 64
基本数据类型:
    数据类型 变量名 = 赋值;
    int a = 1;
引用数据类型:
    1) 定义一个当前引用数据类型 的 一个引用|变量
    引用数据类型 变量名|引用 = new 引用数据类型();
    2) 可以引用|变量使用当前引用数据类型中的功能
        引用名|变量名.功能名字();

Scanner : 接收用户键盘输入的内容
    步骤 :
        1.导包
            告诉java类的位置
            import 报名.类名;
            import java.util.Scanner;
            位置: 类的上面 导包

        2.定义一个Scanner数据类型的引用
            Scanner sc = new Scanner(System.in);

        3.使用功能
            sc.功能名字();
            nextInt() 接受用户键盘输入的int类型整数
            nextByte() 接受用户键盘输入的byte类型整数
            nextShort() 接受用户键盘输入的short类型整数
            nextLong() 接受用户键盘输入的Long类型整数
            nextDouble() 接受用户键盘输入的double类型小数
            nextFloat() 接受用户键盘输入的float类型小数

        4.关闭
            sc.close();
            注意: 一定要在当前类中使用完毕Scanner之后再关闭,否则会 造成再当前类中再也无法使用
import java.util.Scanner;
public class ScannerDemo06 {
    public static void main(String[] args) {
        //1.导包
        //2.定义一个Scanner数据类型的引用
        Scanner sc = new Scanner(System.in);
        //3.使用功能
        int num = sc.nextInt();
        System.out.println(num);


        System.out.println("请输入您的银行卡余额:");
        double d = sc.nextDouble();
        System.out.println("您的银行卡余额为:"+d);

        //关闭
        sc.close();

    }
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值