JAVA基础——数据类型及运算

1.java 源文件结构
    * 公共类类名与文件名一致
    * package 声明必须是源文件的首行代码
              package:包,java 类的组织管理方式,本质是文件夹
    * import 引入其他包的类,指明一个类的路径,在后面代码中可只写他的类名

2.变量
    * java中变量都有类型
    * 局部变量不能重复定义
    * 变量的作用域、作用范围,变量在它定义的代码块中有效
    * 局部变量使用前必须初始化(即赋值)

3.java 数据类型
    * 基本类型
    * 引用类型

   基本类型
    byte             1字节,-2^7到2^7-1 ,-128 到 127
    short            2字节,-2^15 到 2^15-1 ,-32768~~32767
    int                4字节,-2^31 到 2^31-1
    long             8字节,-2^63 到 2^63-1
    float             4字节
    double          8字节
    char             2字节, 0 到 65535
    boolean

基本类型转换
    * 低精度 -> 高精度
            byte a = -128;
            int b = a;
            byte->short->int->long->double
    
    * 低精度 <- 高精度
            * 强制转型
            int a = 130;
            byte b = (byte) a;


基本类型字面值
    * 写整数字面值,类型是 int 类型
            long a = 9999999999;//错
    * byte、short、char 允许以范围内的字面值直接赋值
                byte b = 34;
    * 浮点数字面值,是 double 类型
            double a = 3.14;
            float b = 3.14F;
    * 后缀:
            L - long
            F - float
            D - double
            
            L - 9999999999L
            F - 3.14F
            D - 3D


基本类型运算规则
    * 运算结果的数据类型与运算项中精度最高的类型一致
            1 / 2 结果是 0 而不是 0.5
    * byte、short、char 三种整数类型做数学运算时,会先自动转为 int 类型
            byte a = 2;
            byte b = 3;
            byte c = a + b;//错,右侧两项会自动转为int
    * 整数运算溢出
            int a = Integer.MAX_VALUE;
            int b = a + 1;//能执行,得到int最小值
    * float、double 运算不精确
            2-1.9 得到: 0.10000000000009
            4.35*100 得到: 434.999999999999996
    * float、double 特殊值
            Infinity    - 无穷大
                        double a = Double.MAX_VALUE*2
                        double b = 3.0 / 0;
            NaN       - Not a Number
                        double a = Math.sqrt(-2);
            
 运算符
    数学运算
            + - * /  %
            % - 求余数、求模
    比较运算,返回 boolean
            ==  !=
            >   >=   <   <=
    逻辑运算
            && - 逻辑与,两侧同时为真,结果为真,短路与,左侧为假,右侧不执行
            || - 逻辑或,两侧同时为假,结果为假,短路或,左侧为真,右侧不执行
            
    二进制位运算
            &  位与,两位同时为1,结果为1
            |  位或,两位同时为0,结果为0
            ^  异或,相同为0,不同为1
            ~     取反,0变1,1变0
    移位运算
            >>        右移位,符号位是0,左侧补0;符号位是1,左侧补1
            >>>        无符号右移位,左侧补0
            <<        左移位,右侧补0
           

           

流程控制
        if-else if-else
        switch-case-default 
        for
        while                - 先判断再执行
        do-while        - 先执行再判断
        break                 - 跳出循环、switch
        continue        - 继续下一轮循环
        return                            
                                    while(...) {
                                        xxx
                                        if(...) {
                                                continue;
                                        }
                                        xxx
                                        xxx
                                    }
        循环命名
                                  outer:
                                  while(1) {
                                          inner:
                                          while(2) {
                                                  xxx
                                                  if(...) {
                                                          continue outer;
                                                  }
                                                  xxx
                                                  
                                                  if(...) {
                                                          break outer;
                                                  }
                                                  
                                          }
                                  }                                  

     

   

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值