Java概述(2)-常量变量和运算符

Java概述


Java概述

一、常量

二、变量

三、运算符

一、常量

  1. 常量的概述和使用

    1. 常量:就是在程序的执行过程中值不变的量。

    2. 分类:字面值常量和自定义常量

      1. 字面值常量

        包括字符串常量,整型常量,浮点型常量,字符常量,布尔常量,空常量。

         字符串常量   eg:"HelloWorld" , "Hello"
         整型常量    eg:12 , 13
         浮点型常量   eg:1.1 , 23.101
         字符常量    eg:'a' , '我' , '0'
         布尔常量    eg:true , false
         空常量     eg:null

        例如,常量的输出,

         class Demo {
             public static void main(String[] args) {
                 //输出不同类型的字面值常量
                 //字符串常量
                 System.out.println("HelloWorld!");
                 System.out.println("Hello");
                 //整型常量
                 System.out.println(12);
                 System.out.println(100);
                 //浮点型常量
                 System.out.println(1.1);
                 System.out.println(12.101);
                 //字符常量
                 System.out.println('a');
                 System.out.println('我');
                 System.out.println('0');
                 //布尔常量
                 System.out.println(true);
                 System.out.println(false);
                 //空常量,输出会报错
           //反例//System.out.println(null);
             }
         }

        运行的结果如下:

  2. 进制概述和进制转换

    1. 什么是进制?

      就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。

    2. 常用的进制:二进制,八进制,十进制,十六进制

    3. 不同进制的数据表现形式

       二进制:由 0 和 1 组成
       八进制:由 0 ~ 7 组成
       十进制:由 0 ~ 9 组成
       十六进制:由 0 ~ 9 ,A ~ F 组成
    4. 进制之间的转换

      二,八,十六进制转换十进制,转换方法:位权展开发

      1. 二进制->十进制

        二进制数:1011

        二进制转换十进制
        11 * 238
        01 * 220
        10 * 212
        11 * 201

        所以 0B1011 = 1 + 2 + 0 + 8 = 11

      2. 八进制->十进制

        八进制数:176

        八进制转换十进制
        11 * 8264
        77 * 8156
        66 * 806

        所以 0176 = 6 + 56 + 64 = 126

      3. 十六进制->十进制

        十六进制数:5AF

        十六进制转换十进制
        55 * 1621280
        A10 * 161160
        F15 * 16015

        所以 0X5AF = 15 + 160 + 1280 = 1455

      十进制转换二,八,十六进制,转换方法:除基取余

      1. 十进制->二进制

        十进制数:100

        被除数余数
        100500
        50250
        25121
        1260
        630
        311
        101
      2. 十进制->八进制

        先转换成二进制数,三位一划分,再算出八进制数。

      3. 十进制->十六进制

        先转换成二进制数,四位一划分,再算出十六进制数。

  3. 有符号数据表示法

     原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
     反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
     补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

二、变量

  1. 变量的概述和格式

    1. 什么是变量?

      在程序的执行过程中,其值可以发生改变的量。

    2. 变量的作用?

      可以不断存放同一类型的变量,并且可以重复使用。

    3. Java中变量的定义格式

      数据类型 变量名 = 变量值

  2. 数据类型概述和分类

    1. 数据类型是什么?

      数据类型是用来限制系统开辟给变量内存空间的大小。

    2. Java中数据类型的分类

      1. 基本数据类型

        包括数值型(整型、浮点型、字节型)、字符型、布尔型。

      2. 引用数据类型

      不同数据类型变量的输出

       class Demo {
           public static void main(String[] args) {
               //不同数据类型变量的输出
               int a = 12 ; //整型
               double b = 1.00234 ; //浮点型
               byte c = 125 ; //字节型
               char d = 'X' ; //字符型
               boolean e = true ; //布尔型
               System.out.println(a) ;
               System.out.println(b) ;
               System.out.println(c) ;
               System.out.println(d) ;
               System.out.println(e) ;
           }
       }

      输出结果

      注意:变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。没有初始化值不能直接使用;建议一行只定义一个变量。

  3. 隐式转换

    '+'是一个运算符,它来做数据的加法。

    1. Java中的默认转换规则:

      1. boolean类型不能转换为其他类型

      2. byte,short,char—int—long—float—double

      3. byte,short,char之间不转换,他们参与运算首先转换为int类型

    2. 转换的例子

      如果这样那么编译器就会报错

       class Test1 {
           public static void main(String[] args) {
               //定义并两个byte类型的变量
               byte a = 1 ;
               byte b = 2 ;
               byte c = a + b ;
               System.out.println(c);
           }
       }

      这是因为 a + b 计算完成后会自动转换为int类型,所以将 c 变量定义为int类型就不会有错误出现。

  4. 强制类型转换

    1. 强制类型转换的格式

      目标数据类型 变量名=(目标数据类型)(被转换的数据);

    2. 注意,在不知道运算结果的情况下,不要使用强制类型转换,因为这样可能会造成数据的丢失。

      那么,为什么数据会丢失呢?

      下面我们来看一段代码;

      为什么结果会是-128呢?

      我们知道byte类型的变量范围是-128~+127,而此例中运算结果是128,byte类型已经村放不下这个数据,所以进行强制类型转换就造成了数据的丢失。

    3. 字符和字符串参与运算

       System.out.println('a') ;
       System.out.println('a' + 1);

      以上运算结果是什么呢?

      这是因为'a'是一个char变量,而 1 是int变量,再进行运算时,会发生隐式转换,由char转换为int,所以会出现这样的结果。

三、运算符

  1. 运算符

    1. 什么是运算符?

      对常量和变量进行操作的符号称为运算符。

    2. 分类

      Java中的运算符包括算术运算符赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符。

  2. 算术运算符

    1. 算术运算符有:+ , - , * , / , % , ++ , --

    2. 算术运算符的基本用法

       class Test1 {
           public static void main(String[] args) {
               int a = 10 ;
               int b = 5 ;
               System.out.println(1 + 12);
               System.out.println(122 - 12);
               System.out.println(1 * 9);
               System.out.println(64 / 8);
               System.out.println(10 % 3);
               System.out.println( a++ );
               System.out.println( ++a );
               System.out.println( b-- );
               System.out.println( --b );
           }
       }

      运算的结果是

    3. ++ (自增), -- (自减) 运算符的使用

      运算符在前,先自增(减)再运算,运算符在后,先运算再自增(减)。

  3. 赋值运算符

    1. 赋值运算符有:= ,+= , -= , *= , /= , %=

    2. 扩展赋值运算符

      例如:a+=b --> a=a+b

    3. 案例

       short s = 1 ; s = s + 1;
       short t = 1 ; t += 1;

      运行结果:

      而我们把第一行注释掉后,会得到第二行的输出结果

      因为虽然大部分情况下,a += 1 和 a = a + 1 的运算结果不会有差异,但是因为 1 是int型数据,在正常的 a = a + 1 运算时会发生隐式类型转换,而定义的数据类型是short,所以会报错。但是使用 += 号进行运算会进行强制类型转换,把 a + 1 的结果强制转成short类型,所以第二行的代码不会出现问题。

  4. 关系运算符

    1. Java中的比较运算符

      == ,!= , < , > , <= , >= , instanceof

      比较运算符的结果一定是boolean类型。

    2. 案例

       class Test1 {
           public static void main(String[] args) {
               int a = 10 ;
               int b = 20 ;
               System.out.println( a > b );
               System.out.println( a < b );
               System.out.println( a == b );
               System.out.println( a <= b );
               System.out.println( a >= b );
               System.out.println( a != b );
           }
       }

      输出结果:

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值