zoukankan      html  css  js  c++  java
  • JAVA_SE复习(basic)

    一、数据类型

    1.基本数据类型

    Ps:有效标识符_、字母、$开头  之后可有数字

    整型:byte 1 short 2 int 4 long 8  (字节) 

    取值范围其范围是从负的该数据类型位数减1次幂到的该数据类型位数减次幂– 1

     

    2.浮点型

    float 4            double 8   (字节)  

    取值范围6~7 位有效数字             15 位有效数字

     

    注意:float 类型的数值必须加一个后缀F

    例:如果不加后缀F,这个数据就会被Java 理解成

    double 类型。也可以在double 类型的数值后加上D,例如3.14D

     

     

    各类型的默认值:byteintshort 的默认值是0long 的默认值是0Lfloat 的默认值是0.0fdouble

    的默认值是0.0char 的默认值是’u0000’代表空格,boolean 的默认值是false

    3.char 类型

    16 位无符号的Unicode 字符

    注意: char 字符必须在英文状态下的单引号内(’’)。

    一个char 类型的数据仅仅表示一个字符,如果需要表示多个字符(这称为字符串)需要使

    String 类来表示 

    注意:char类型的字符实际也可以当做数字加减!!

    char i = 'A';

    char j = 'a'+15;

    int b = j - i;

    例:

    ’a’ 小写字母a

    ’ ’ 制表符

    ’u????’ 特定的Unicode 字符。

     

     

    4.布尔型

    true false   注意:不能相互转换!!

     

     

     

    5.引用类型:

    除了基本数据类型之外的都是引用类型

     

    二、变量

    概念变量是一段有名字的连续存储空间。在源代码中通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。

    变量名的命名规则:

    1、一般是一个有意义的英语单词或词组,以小写字母或者下划线“_”开头。

    2、如果变量名由多个单词组成,除第一个单词外,后面每个单词的第一个字母都需要大写,类似于方法名,如isValidcurrentJavaObject 等。

    3、避免使用美元符号($),这个符号对内部类有特殊意义。

     

    注意:声明一个变量后必须用赋值语句对变量进行显示初始化,如果使用未被初始化的变量可能会造成编译错误。

     

    二、基本类型之间的转换的注意要点:

     

    图中实线箭头表示精度不会有损失的转换,虚线箭头表示转换完成后可能有精度损失

    类型转换:1.长度短的类型自动转为长度的类型

              2.精度小的类型自动转为精度高的类型

              3.当两个精度不一样的数相互计算时,其结果自动转为精度高的值

              4. 凡是长度小于int 的数据类型(即使参与计算的两个数都是short或者byte),其运算结果都会转变成int类型。

              5.若要从高精度 |长度大的数据转换为低精度|长度小的数据,需要强制转换,(数据会损失精度)。

     

     

     

    三、算数运算

    注意:1.整数除以0,或抛出异常  java.lang.ArithmeticException: / by zero

          2.浮点数除以0,会得到Infinity(无穷大)。(并不是异常)

          3. %表示整数的求余运算

          4. ++i “前缀形式是先运算,再做其他操作;    i++  后缀形式是先做其他操作,再运算

    例子:int i = 10;

    System.out.println(i++);//输出的是10  若是++i则输出11

          5. 没有 ** 和 // 运算符,因为自乘和自除以数值结果不会改变。

          

     

    6. ~非  :按位取反

             &与:同1为1,其余为0

    异或:两数不同时为1,其余为0

    或:有1时为1,其余为0

    7.右移运算符>>移位结果是:第一个操作数被除,

    除的次数由第二个操作数决定。例如:

    128>>1 返回 128/2= 64

    -256>>4 返回 -256/2= -16

    “<<”将二进制位进行左移操作。其操作结果是:第一个操作数被乘,乘的次数由第二个操作数决定。

    例如:

    128<<1 返回 128*2= 256

    注意: 有>>>(逻辑或无符号右移运算符)   但是没有<<<

    四、关系运算符

    注意:1. &&&的区别是什么?

    答:a.  &&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true 时,整个运算结果才为true,否则,只要有一方为false,则结果为false

    b.  &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。

    c.  &还可以用作位运算符,当&操作符两边的表达式不是boolean 类型时,&表示按位与操作。

    2. = *= /= %= += -= <<= >>= >>>= &=  ^= |= )这些运算符优先级最低

    3. &&||优先级高

    4.优先级:& > ^ > |

    5. +=是右结合运算符  

               表达式

    a+=b+=c

    等价于

    a+=(b+=c)

     

     

    五、语句块

    注意:1. 语句块确定了变量的作用域。(在一个语句块内定义的变量,不可以再语句块之外使用。)

          2. 不允许在嵌套的两个块内声明同名的变量。

          

    六、Switch分支

    注意:1. switch 表达式中的类型有哪些?

    答:switch 表达式的结果必须是 四种整型、枚举类型、String(JDK1.7以上版本,否则不能测试String 类型),case 后面一定是常量,并且不能重复。

     

    七、while循环

    注意:1. 当一次循环结束会再次检查while 条件的返回值,如果为false 就退出循环,否则继续执行循环。

          2.continue 和 break的区别:

           答: 前者 只是终止当前的一次循环 ,还将继续后面的循环 ;后者被执行后,就终止循环。





  • 相关阅读:
    Path Sum II
    Convert Sorted Array to Binary Search Tree
    Construct Binary Tree from Inorder and Postorder Traversal
    Construct Binary Tree from Preorder and Inorder Traversal
    Maximum Depth of Binary Tree
    Binary Tree Zigzag Level Order Traversal
    Binary Tree Level Order Traversal
    Same Tree
    Validate Binary Search Tree
    Binary Tree Inorder Traversal
  • 原文地址:https://www.cnblogs.com/jarl/p/5892299.html
Copyright © 2011-2022 走看看