zoukankan      html  css  js  c++  java
  • 【幻化万千戏红尘】qianfengDay02-java基础学习:运算符、进制转换

    常用命令:
    “F:”进入到指定盘符
    “cd 路径”:进入到指定路径下

    javac 编译
    java执行

    标识符:
    数据类型:基本数据类型、引用数据类型

    今日内容:

    常量:13
    变量:一块内容可以改变的内存,存储数据
    变量名:标识符
    变量值:内存中的数据
    变量想被使用,那么必须,先声明后赋值
    声明的格式:数据类型 变量名;
    赋值的格式:变量名=变量值;
    数据类型(声明) 变量名=变量值(赋值);
    例:int num = 12;
    格式:数据类型 变量名[=值];

    字符和字符串的区别?
    字符:单引号,内部只有一个字符
    字符串:双引号,内部可以有多个字符
    byte范围:-128到127
    java的整型默认都为int型,小数数据都默认为double型,

    格式:数据类型 变量名[=值]

    数据类型:
    1、基本数据类型:数据类型为基本类型
    2、引用数据类型变量:数据类型为引用类型

    作用域分:
    1、局部变量:定义在方法块中的变量(声明在方法代码块中的变量),作用范围就是方法内部
    2、全局变量:定义在类的内部,方法的外部,作用于整个类中

    java中的运算符:
    1、算术运算符+、—、*、%、++、--
    例:int b= ++(++i);//不可以,报错。相当于int b= ++(i=1);这是不合法的
    int c*=i++;//是错误的,
    int c=2;c*=i++;或c*=++i;都是正确的。c*=++(i++);或c*=--(++i);都是错误的
    int i=1;
    int b=++(++i);//不可以,错误的
    int c*=i++;//是错误的,


    2、赋值运算符:主要赋值
    =、+=、-=、/=、%=

    3、关系运算符>、<、>=、<=、==、!=,结果为布尔类型。

    4、逻辑运算符:主要应用在布尔类型,结果都是布尔类型
    !(非):!true==false
    ^(异或):true^false==true,true^true==false
    &(与):且,同时为true才为true
    &&(短路与):且,同时为true才为true
    |(或):或者,只要一个为true,那么结果为true
    ||(短路或):或者,只要一个为true,那么结果为true

    短路与和与的区别?
    与(&):无论左边是否为false,都会验证右边的表达式
    短路与(&&):只要左边为了false,那么右边就不会验证
    或(|):无论左边是否为true,都会验证右边的表达式
    短路或(||):只要左边为true,那么右边就不会验证

    8、int a = 5;
    int b = 4;
    boolean b9 = (a++)>(--b) & (--a)%(b++)==1 &(a--)<(b--);
    System.out.println(b9+" "+a +" "+b);//

    5>3&5%3==1&5<4
    true&false&false=false
    a=4,b=3;

    a = 5;
    b = 4;
    boolean b10 = (a++)>(--b) && (--a)%(b++)==1 && (a--)<(b--);
    System.out.println(b10+" "+a +" "+b);
    true&&false&& (a--)<(b--)=false
    a=5,b=4

    9、a = 6;
    b = 9;
    boolean b11 = (a--)/(b++)<2 | (--a)*(--b)!=4 | (a++)%(b--)==2;
    System.out.println(b11+" "+a +" "+b);//

    6/9<2|4*9!=4|4%9==2
    true
    a=5,b=8

    a = 6;
    b = 9;
    boolean b12 = (a--)/(b++)<2 || (--a)*(--b)!=4 || (a++)%(b--)==2;
    System.out.println(b12+" "+a +" "+b);

    true
    a=5,10

    5、位运算符:操作的是每一个二进制数
    位:就是一个二进制数:0或1
    字节:由8位二进制组成的B
    ~(按位取反):取相反的
    ^(按位异或):相同则为0,不同则为1
    |(按位或):同则同,异为1
    &(按位与):同则同,异为0

    二进制和十进制之间的转换:
    二进制和十进制之间的转换?
    十进制---- >二进制:除2取余、除尽为止
    二进制---- >十进制:累加求和
    负十进制----负二进制:
    取绝对值
    转换为二进制
    取反加1
    负二进制----负十进制:
    减1取反(或取反加1)
    转换为十进制正数
    乘 -1

    13--->二进制
    -123-->101

    64+32+16+8+2+1

    7<<2

    (左移)<<:左移,a<<b:a向左移动b位,a<<b:公式a*2的b次幂。
    有符号右移>>:a>>b:a向右移动b位
    无符号右移>>>:a>>>:a向右移动b位,a>>>b公式:a/2的b次幂
    例:8>>>1等价于8/2    -7>>>2-->1073741822


    计算机的进制:
    1、二进制:机器识别:0和1组成
    2、十进制:生活用的,由0到9的数字组成
    3、八进制:由0到7组成,逢八进位,借1顶8,要求以0开头
    4、十六进制:由0到9还有A到F,要求以0x开头

    6、字符串连接运算符:结果就是一个字符串+

    三目运算符:X?Y:Z;
    X若为true则选Y,若为false则选Z。
    例1:int num1=5,num2=3;
    String result = num1>num2?"真的啊":"假的吗"
    //输出:真的啊
    例2:System.out.println(false?'A':'z');//z
    int i= 2; 3>4?1.0*i/1:i/5;
    答案为:5.0
    int i = 2;  3>4?1.0*i/1:i/5;
    答案为:0.0

    表达式:由变量和运算符按照一定规则组成的语句
    表达式的类型:就是结果的数据类型
    表达式的值:表达式的结果


    推断表达式的值:
    根据优先级进行结合,一步步的计算每一步涉及到的变量的值

    明天课程:
    分支:
    1、if-else
    2、switch

    今日作业:

    1.已知m,n,k是整型变量,执行下列语句后, m,n,k分别是多少?
    m = n = k = 8;  m += n += k += 1;
    m =11 ;n =10 ; k =9;

    2.int n = 5;n = ++n + ++ n;求n=?
    n=13

    3.int n = 3;n = ++n + n++;求n=?
    n=8

    4.int x = 4 , y = 2 , z = 3;求表达式y-=z++*--x的值是多少?
    表达式运行之后,x,y,z的值分别是多少?
    值是:-7,x=3,y=-7,z=4


    5.请写出下面表达式的输出结果:
    int a =11;
    int b =21;
    boolean ben1 = (--a)%(++b)<10 | (a++)/(b--)!=11 | (++a)*(--b)==20 |(++a)<(--b);
    System.out.println(ben1+" "+a +" "+b);
    //true  13  19

    boolean ben2= (--a)%(++b)<10 || (a++)/(b--)!=11 || (++a)*(--b)==20 ||(++a)<(--b);
    System.out.println(ben2+" "+a +" "+b);
    //true  11  21

    6.请计算:
    a=3,b=4;
    (1):(a++)/3+(--b)*2-(a--)%6+(b++)*3-(b--)
    //3/3+3*2-4%6+3*3-4=1+6-4+9-4=8

    a=3,b=4
    (2):(++b)*2-(a--)%4+(a++)*5-(--b)/2+(--a)
    //5*2-3%4+2*5-4/2+2=10-3+10-2+2=17

    a=3,b=4
    (3):(a--)*6+(b++)/3-(--a)*2-(--b)*2+(++a)
    //3*6+4/3-1*2-4*2+2=18+1-2-8+2=11

  • 相关阅读:
    LinkageSel无限级联动下拉菜单
    纯CSS+HTML自定义checkbox效果[转]
    jquery1.9+,jquery1.10+ 为什么不支持live方法了?
    电脑按键混乱,好像被锁定了Alt键
    docker 清理无用的卷
    dotnet core linux 接入支付宝H5支付,提示:System.PlatformNotSupportedException","Message":"'CspParameters' requires Windows Cryptographic API (CAPI), which is not available on this platform.
    【每天学一点Linux】centos7 docker 启动cpu100% 飙升居高不下 无法关机 无法杀死进程
    【每天学一点Linux】centos7修改selinux导致无法开机 Failed to load SELinux policy. Freezing
    webapi HttpGet标签
    强制结束虚拟机 centos home 卷丢失导致无法挂载进入 emergency mode 紧急模式
  • 原文地址:https://www.cnblogs.com/weigongcheng/p/5664702.html
Copyright © 2011-2022 走看看