Java学习第三天

一:复习回顾:
基本数据类型:(面试问题)
浮点型: double  float
整型 :long int short byte
布尔类型:boolean
字符型:char
复合类型:
  数组
  类:String 定义字符串。
  接口
变量:
  定义:
  a:声明同时赋值
  b:声明后赋值
  c:声明多个同时赋值
  d:声明多个变量,后给多个变量赋值。
  变量:变量在使用的时候必须要赋值;
  常量:用final修饰的变量,就是常量。一旦赋值,值不允许被改变。

  注意: 全局常量:必须声明常量的时候同时赋值。


二:运算符:
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符。
   a:算数运算符: + - * / ++ -- %
  /:
      (1)都是整型,结果取整。
      (2)如果有一个是浮点型,且除数不为0.结果取精确值。
      (3) 被除数是整型:除数是0,结果抛出:ArithmeticException
      (4)被除数是浮点型:除数是0,结果无穷大:Infinity
    %: 
      (1)整数%整数=余数。
      (2)整数%0=异常。
      (3)浮点数%0=NaN
  b:关系运算符:< <= > >= == != 关系运算符的运算结果是一个boolean类型。
  int a=33;
  int b=44;
  boolean flag=a>=b;
  ==判断是否等于 返回的结果是一个boolean类型。
  当操作数是基本数据类型的时候,比较的是具体的值。
c:位运算符: 与& 或 |  ^  ~  <<  >>  >>>
  & 与: 操作数可以是boolean类型,还可以是整型。
  当操作数是boolean的时候,运算的结果跟逻辑与完全相同。
  当操作数是整型的时候,首先将整型转换为二进制:
  true(1) & true(1) -----> true(1)
  true(1) & false(0) ----->false(0)
  false& true ------>false
  false & false ----> false;
  求: 6&3=2
    110&011=010---->2
  |:或:操作数可以是boolean类型。还可以是整型。
  如果是boolean类型运算结果跟逻辑或完全相同。
  true(1) | true(1)  true(1)
  true(1) | false(0) true(1)
  false | true true
  false | false false
  求 6|3=7
    110| 011=111----->7
  ~:按位取反:
  1--->0
  0---->1
  0100110=~1011001
  ^:按位异或: 如果对应为相同,返回0,对应位不同,返回1.
  6^3=5
  110^ 011=101----->5
  <<: 左移动:
  结论:高位舍去,低位补0.
  左移动n位:结果为 *2^n;
  >>:带符号右移动:
  带符号右移:
  正数,低位舍去,高位补0.
  负数,低位舍去,高位补1.
  结论:右移动n位, 除以2^n.
  >>>:不带符号右移动。
  低位舍去,高位补0.
  结论:右移动n位, 除以2^n.
d:逻辑运算符:逻辑与&&  逻辑或 || 逻辑非 !
  逻辑与:&&
  操作数必须是boolean类型。 元素结果:
  true && true -----> true
  true && false ----->false
  false&& true ------>false
  false && false ----> false;
  结论:两个操作数当中只要有有一个值为false。结果就为false。
  特点:逻辑与的运算采用短路法。就是说前边的表达式如果值false,
        后边的表达式就不在参与运算了。
  逻辑|| :操作数必须是boolean类型。
  true || true  true
  true || false true
  false || true true
  false || false false
  结论: 逻辑或运算的时候,也是采用短路法。 当第一个操作数的结果为true时,结果就确定了,后边的表达式就不在参与运算。
  逻辑非: !
  操作数只有一个,并且是boolean类型。
  !true---->false
  !false--->true
  e:条件运算符:(三目运算符,三元运算符)
    语法:
    表达式? value1:value2;
    解释:表达式的运算结果为一个boolean类型,如果表达式的值为true。结果取value1.表达式的结果为false。取value2的值。
  f:赋值运算符: = += -= *= /=  (%)= <<= >>= &= |= ^=
    +=:
    a+=3;等价于: a=a+3;
  g:instanceof 运算符
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
( Object reference variable ) instanceof (class/interface type)
如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。
三:运算符的优先级:
  算数(后置)> 关系 > 逻辑 > 条件 > 赋值:

  练习:给定一个三角形的三条边,求周长。

        int a=1;
    	int b=2;
    	int c=3;
    	int l=a+b+c;
    	System.out.println(l);

            给定一个三位数,求个位,十位,百位的和。 123

    	int s=123;
    	int bai=s/100;
    	int shi=s/10%10;
    	int ge=s%10;
    	System.out.println("个位:"+ge+"\t十位:"+shi+"\t百位:"+bai+"\t和:"+(ge+shi+bai));

           升级:给定任意一个三位数,求个位,十位,百位的和。

    	Scanner e=new Scanner(System.in);
    	System.out.println("请输入一个三位数:");
    	int s1=e.nextInt();
    	int bai1=s1/100;
    	int shi1=s1/10%10;
    	int ge1=s1%10;
    	System.out.println("个位:"+ge1+"\t十位:"+shi1+"\t百位:"+bai1+"\t和:"+(ge1+shi1+bai1));
    补充:键盘的录入:
    (1)导包: java.util.Scanner;//导入包下的具体的类。
                java.util.*;//导入java.util包下的所有的类。
    (2) 创建Scanner对象:
          Scanner sc=new Scanner(System.in);
    (3)使用对象的方法:nextInt();可以接受一个整数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值