zoukankan      html  css  js  c++  java
  • java第二章 变量和运算符

     

    Java 基础应用编程——  变量和运算符

    1、Java程序结构

             数据类型:确定要存储在内存中的数据的类型

             变量:是存储数据的基本单元

    2、变量的概念

        变量是指在程序的运行过程中随时可以发生变化的量

        变量是程序中数据的临时存放场所

    3、数据类型及分类

             基本数据类型:4类8种基本数据类型

             引用数据类型

     

    整数类型 — byte、short、int默认、long

                    Java中整型的三种表示形式

                            十进制整数:0 ~ 9,注:第一位不能是0

                           十六进制数:0 ~ 9 A ~ F, 注:必须以0x或0X开头

    例如: 0X8A 0x12

               八进制整数:0 ~ 7,注:必须以0开头

    例如: 0123 012

               八进制整数:0 ~ 7,注:必须以0开头

     

    浮点数类型 — float 、double

                与整数类型相似,Java浮点数类型有固定的表数范围和字段长度,不受平台影响

     

    字符类型 — char

              单个字符用 char 类型表示,通常取值可为:

                英文字母、数字、转义序列、特殊字符等

                Java中的字符占两个字节(16位),因此可用十六进制编码形式表示

               Java中的字符类型的值通常用单引号( ‗ ‘ )括起来

    • 'A' -> 0x0041

    • '中'-> 0x4e2d

    • 在编码中: '0'~'9', 'a'~'z', 'A'~'Z'都是连续编码的!

    • '0'与'u0000'不是同一个字符

    • 最小值:0, 最大值:65535 = 2^16-1

    – 字符字面量使用单引号为定界符号:

    • '中' 是整数常量!

     

    转义字符

     

    4、数据类型的转换规则

             两种数据类型转换方式:

    自动类型转换(隐式类型转换):有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后进行计算

      自动转换规则

               boolean类型不可以转换为其他的数据类型

                整型、字符型、浮点型的数据在混合运算中相互转换,转换时遵守以下原则

     

    byte、short、char之间不会相互转换,他们三者在计算时首先会转换为int类型

    强制类型转换(显示类型转换)

      容量大的数据类型转换为容量小的数据类型时,需要使用强制类型转换,其格式如下:

    例如: byte a;

    int b;

    a = (byte) b;

      在强制类型转换过程中,源类型的值可能大于目标类型,因此可能造成精度降低或溢出

    5、运算符(操作符)

      是一种特殊的符号,用以表示数据的运算、赋值和比较

      运算符的种类:

      算术运算符: +、﹣、*、/、%、++、 --

      赋值运算符:=、+=、﹣=、*=、/=、%=

       比较运算符:>、<、>=、 <=、= =、!=、instanceof

      逻辑运算符:!、&&、||

      位运算符: &、|、^ 、 ~、>>、<<、>>>

      条件运算符: ? :

      条件运算符很独特,因为它是用三个操作数组成表达式的三元运算符。它可以替代某种类型的 if-else 语句

     

    算术运算符

     自增运算: ++, --

    • i++, 后++, 先将i的值作为整个表达的值, 然后将i增加1.

    • ++i, 先++, 先将i增加1, 然后将i的值作为整个表达的值.

    • 如:

    – int a = 1; int b=1;

    – b = a++;//

    • 1 a++表达式的值是1

    • 2 执行a=a+1

    • 3 执行赋值运算, 将表达式的值1赋值给b, 即b=1

    赋值运算符

     

    关系运算符(比较运算符)

     

    逻辑运算符(布尔运算符)

      逻辑运算符两端的操作数必须是布尔类型的值

     

    位运算(只对byte、short、char、int、long有效)

      左移和右移运算相当于实现整数乘以或除以2的n次方

     

    逻辑与或同按位与或是有一定区别的:

    – 相同点是:都能参与逻辑运算,按位与或完全可以代替逻辑与或;

    – 区别是:按位与或可以参与位运算,逻辑与或只能参与逻辑运算,逻辑与或可以“短路”,按位与或不能“短路”。

    • 短路运算

    – 作用运算符:逻辑与&&,逻辑或||

    如(1):逻辑表达式:a>b && c>d

    假设a>b 为false,c>d为true,那么整个表达式结果为false;

    假设a>b 为false,c>d为false,那么整个表达式结果还为false;

    可见,a>b的结果已经决定了整个表达式的结果,而后面的c>d并不影响表达式的结果,可以说后半部分被“ 短路”了。

    如(2):逻辑表达式: a>b || c>d

    假设a>b 为true,那么后半部分表达式将被“短路”;

    三元运算符

    – 所谓三元运算符,是对三个表达式进行的集中比较,表达式1的结

    果为true时,就为第二个表达式,如果为false时,就为第三个表

    达式。语法是:

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

    – 通过下面代码说明三元运算符。

    运算符的优先级

    - 表达式通常由多个运算符组成。优先级的规则决定每个运算符在任何给定表达式中的计算顺序

     

    6、表达式

      表达式的值和类型

             对表达式中操作数进行运算得到的结果称为表达式的值

              表达式值的数据类型即为表达式的类型

      表达式的运算顺序

             应按照运算符的优先级从高到低的顺序进行

               优先级相同的运算符按照事先约定的结合方向进行

    表达式的结合方向和优先级

     

  • 相关阅读:
    hdu2818 Building Block
    struct2面试准备
    Spring mvc 面试
    Spring 面试详解
    Java面试必备Springioc上
    redis高级命令4 持久化机制 、事务
    redis高级命令3哨兵模式
    redis高级命令2
    redis高级命令1
    redis基础二----操作set数据类型
  • 原文地址:https://www.cnblogs.com/makangning/p/9445306.html
Copyright © 2011-2022 走看看