java基本数据类型与运算符

java的基本数据类型与运算符

数据类型

在这里插入图片描述

byte数据类型

占用1个字节 对应的包装类 Byte 可以表示的数字大小 (-128~127)

 public static void main(String[] args) {
        System.out.println(Byte.MAX_VALUE);
        System.out.println(Byte.MIN_VALUE);
    }
//  输出  -128    127

short数据类型

占用2个字节 对应的包装类 Short 可以表示过的数字大小 (-32768~32767)

		System.out.println(Short.MAX_VALUE);
        System.out.println(Short.MIN_VALUE);

int数据类型

占用四个字节 对应包装类Integer 可以表示的数字大小 (-231~231-1)

		System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);

long数据类型

占用八个字节 对应包装类 Long 可以表示数字大小 (-263~263-1)

		System.out.println(Long.MAX_VALUE);
        System.out.println(Long.MIN_VALUE);

浮点数据类型

float数据类型 占用四个字节 对应的包装类Float

double数据类型 占用八个字节 对应包装类Double

字符数据类型

char数据类型 占用两个字节 对应包装类 Character

布尔数据类型

boolean数据类型 没有大小 对应的包装类 Boolean

注意事项

java是强类型语言 c是若语言类型

  1. 定义float f=12.5;时必须这样写 float f=12.5f;

  2. char占用两个字节 因此可以存放汉字 char a=‘王’;

  3. char始终以字符的形式表现 char ch3=98;他会对应Ascall码 b ;

  4. 定义byte b3时不能 变量加变量

            byte b1=10;
            byte b2=20;
            //byte b3=b1+b2;报错 变量不能变量加变量
            //计算机再取数据的时候,都取4个字节 提升速度会提升为这整形进行计算
            //System.out.println(b3); 
            byte b4=10+20;
            System.out.println(b4);
    
  5. 定义的数是长整形和整形的和时会进行整形提升

  6. boolen的值只有 true 和false

  7. 字符串可以直接进行拼接

    
        public static void main20(String[] args) {
            String str1="abf";
            String str2="dfdsa";
            String str3=str1+str2;
            System.out.println(str3);
        }
    
  8. 定义变量的时候 局部变量必须初始化赋值 常量只能初始化一次;

  9. final int a=10; //类似于c语言中的const 修饰常量

  10. 数字和字符串可以相互转化

    public static void main(String[] args) {
        int a=10;
        String str1=a+"";
        System.out.println(str1);  // 输出结果字符串10
        String ret;
        ret=String.valueOf(a);    //输出结果字符串10
        System.out.println(ret);
        String str2="10";  //此处必须是数字不可以是10a等
        int h=Integer.parseInt(str2);
        System.out.println(h);    //输出结果是数字10
        float m=Integer.valueOf(str2);
        System.out.println(m);    //浮点数  10.0
    }
    
  11. 命名规则

    1. 一个变量名只能包含数字, 字母, 下划线

    2. 数字不能开头.

    3. 变量名是大小写敏感的. 即 num 和 Num 是两个不同的变量

    4. 变量命名要具有描述性, 见名知意.

    5. 变量名不宜使用拼音(但是不绝对).

    6. 变量名的词性推荐使用名词.

    7. 变量命名推荐 小驼峰命名法, 当一个变量名由多个单词构成的时候, 除了第一个单词之外, 其他单词首字母都大写.

    8. 不能使用关键字,下面是部分常用关键字

    9. abstract表明类或者成员方法具有抽象属性
      assert断言,用来进行程序调试
      boolean基本数据类型之一,声明布尔类型的关键字
      break提前跳出一个块
      byte基本数据类型之一,字节类型
      case用在switch语句之中,表示其中的一个分支
      catch用在异常处理中,用来捕捉异常
      char基本数据类型之一,字符类型
      class声明一个类
      const保留关键字,没有具体含义
      continue回到一个块的开始处
      default默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现
      do用在do-while循环结构中
      double基本数据类型之一,双精度浮点数类型
      else用在条件语句中,表明当条件不成立时的分支
      enum枚举
      extends表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口
      final用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量
      finally用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
      float基本数据类型之一,单精度浮点数类型
      for一种循环结构的引导词
      goto保留关键字,没有具体含义
      if条件语句的引导词
      implements表明一个类实现了给定的接口
      import表明要访问指定的类或包
      instanceof用来测试一个对象是否是指定类型的实例对象
      int基本数据类型之一,整数类型
      interface接口
      long基本数据类型之一,长整数类型
      native用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
      new用来创建新实例对象
      package
      private一种访问控制方式:私用模式
      protected一种访问控制方式:保护模式
      public一种访问控制方式:共用模式
      return从成员方法中返回数据
      short基本数据类型之一,短整数类型
      static表明具有静态属性
      strictfp用来声明FP_strict(单精度或双精度浮点数)表达式遵循[IEEE 754](https://baike.baidu.com/item/IEEE 754)算术规范
      super表明当前对象的父类型的引用或者父类型的构造方法
      switch分支语句结构的引导词
      synchronized表明一段代码需要同步执行
      this指向当前实例对象的引用
      throw抛出一个异常
      throws声明在当前定义的成员方法中所有需要抛出的异常
      transient声明不用序列化的成员域
      try尝试一个可能抛出异常的程序块
      void声明当前成员方法没有返回值
      volatile表明两个或者多个变量必须同步地发生变化
      while用在循环结构中

    运算符

    算术运算符

    基本四则运算符 + - * / %

    需注意的是int/int还是int 可以用double来表示结果

    0不能做除数

    % 表示取余, 不仅仅可以对 int 求模, 也能对 double 来求模

    System.out.println(11.5 % 2.0); 
    
    // 运行结果 1.5 
    
    增量赋值运算符 += -= *= /= %=

    a+=1; 表示 a=a+1;

    自增/自减运算符 ++ –
    1. 如果不取自增运算的表达式的返回值, 则前置自增和后置自增没有区别.

    2. 如果取表达式的返回值, 则前置自增的返回值是自增之后的值, 后置自增的返回值是自增之前的值.

    关系运算符

    == != < > <= >= 返回的结果都是boolean值

    逻辑运算符

    && || !

    结果也是boolean值

    && 两个操作数都为 true, 结果为 true, 否则结果为 false.

    || 两个操作数都为 false, 结果为 false, 否则结果为 true

    ! 操作数为 true, 结果为 false; 操作数为 false, 结果为 true

    注意的是 && || 都是短路运算

    1. 对于 && , 如果左侧表达式值为 false, 则表达式的整体的值一定是 false, 无需计算右侧表达式.
    2. 对于 ||, 如果左侧表达式值为 true, 则表达式的整体的值一定是 true, 无需计算右侧表达式.

    位运算符

    & | ~ ^

    按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.

    按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1.

    按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0.

    按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.

    特别注意

    当 & 和 | 的操作数为整数(int, short, long, byte) 的时候, 表示按位运算, 当操作数为 boolean 的时候, 表示逻辑 运算.

    移位运算

    << >> >>>

    左移 <<: 左侧位不要了, 右侧补0;

    右移 >>: 右侧位不要了, 左侧补符号位(正数补0, 负数补1)

    无符号右移 >>>: 右侧位不要了, 左侧补 0.

    条件运算符

    表达式1 ? 表达式2 : 表达式3

    // 求两个整数的大值 
    int a = 10;
    int b = 20;
    int max = a > b ? a : b; 
    
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

力争做大牛的小王

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

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

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

打赏作者

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

抵扣说明:

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

余额充值