Java Basic

Java运算符

算数运算符

关系运算符

位运算符

位运算符作用在所有的位上,并且按位运算

  1. &:如果相对应位都是1,则结果为1,否则为0;
  2. |:如果相对应位都是 0,则结果为 0,否则为 1;
  3. ^:如果相对应位值相同,则结果为0,否则为1;
  4. ~:按位取反运算符翻转操作数的每一位,即0变成1,1变成0;
  5. <<:按位左移运算符。左操作数按位左移右操作数指定的位数;
  6. >>:按位右移运算符。左操作数按位右移右操作数指定的位数;
  7. >>>:按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充;
    A = 0011 1100
    A >>> 2 ==> 0000 1111

逻辑运算符

  1. &&
  2. ||
  3. !

短路逻辑运算符

当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。

  1. public class shortCircuitLogic {
  2. public static void main(String[] args) {
  3. int a = 5;
  4. boolean b = (a < 4)&&(a++ < 10);
  5. System.out.println("使用短路逻辑运算符的结果为"+b);
  6. System.out.println("a的结果为"+a);
  7. }
  8. }

赋值运算符

  • 仅补充部分不熟悉的运算符
  1. >>=、<<=
  2. &=:按位赋值操作方
  3. ^=:按位异或赋值操作符
  4. |=:按位赋值操作符

条件运算符

也称三元运算符

  1. variable x = (epression) ? value if true : if false

instanceof 运算符

该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型挥着接口类型)。

  1. ( Object reference variable ) instanceof (class/interface type)

当运算符做出变量所指对象时右侧类或者接口的一个对象,则结果为真。

  1. String name = "Tomas";
  2. boolean result = name instanceof String;
  3. // 返回值为true
  4. //

当比较对象兼容于右侧对象,返回值依然为true

  1. class Vehicle {}
  2. public class Car extends Vehicle {
  3. public static void main(String[] args){
  4. Vehicle a = new Car();
  5. boolean result = a instanceof Car;
  6. System.out.println( result);
  7. }
  8. }

Java运算符的优先级

优先级由高到低如下:

  1. 后缀 () [] . 左到右
  2. 一元 expr++ expr— 左到右
  3. 一元 ++expr —expr + - ~ ! 右到左
  4. 乘性 * /% 左到右
  5. 加性 + - 左到右
  6. 移位 >> >>> << 左右
  7. 关系 > >= < <= 左右
  8. 相等 == != 左右
  9. 按位与 & 左右
  10. 按位异或 ^ 左右
  11. 按位或 | 左右
  12. 逻辑与 && 左右
  13. 逻辑或 || 左右
  14. 条件 ?: 右左
  15. 赋值 = + = - = * = / =%= >> = << =&= ^ = | = 右左
  16. 逗号 . 左右

Java循环结构

Java增强for循环

  1. for(声明语句 : 表达式) {
  2. //···
  3. }

声明语句:声明局部变量,该变量的类型必须和数组元素的类型匹配,作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

break

continue

Java条件语句

  1. if{
  2. }
  3. else if{
  4. }
  5. else{
  6. }

Java switch case

Java Number & Math 类

Number

实际开发中,遇到使用对象,不是内置数据类型,需要对内置数据类型对应的包装类。
所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。

Math

包含基本的属性方法和属性

Number & Math 常用方法

  1. xxxValue()
    将number对象转换为xxx数据类型的值并且返回
  2. compare To()
    将number于对象参数比较
  3. toString()
    以字符串形式返回
  4. parseInt
    将字符串解析为int类型
  5. equals()
    判断是否相等
  6. valueOf()
    返回一个Number对象指定的内置数据类型
  7. abs()
    返回参数绝对值
  8. ceil()
    返回大于等于( >= )给定参数的最小整数,类型为双精度浮点类型
  9. floor()
    返回小于等于给定参数的最大整数
  10. rint()
    返回与参数最接近的整数,返回类型为double
  11. round()
    表示四舍五入,原数字加上0.5向下取整
  12. min()
    返回两个参数中的最小值
  13. max()
    返回两个中最大
  14. exp()
    返回参数的自然数底数e的次方参数
  15. log()
    返回参数的自然底数e的对数值
  16. pow()
    返回第一个参数的第二个参数次方
  17. sqrt()
    求参数的算术平方根
  18. cos()
  19. sin()
  20. tan()
  21. asin()
    求指定double类型参数的反正弦值
  22. atan()
  23. atan2()
    将笛卡尔坐标转换为极坐标,并且返回极坐标的角度值
  24. toDegrees()
    将参数化为角度
  25. toRdians()
    将角度转换为弧度
  26. random()
    返回任意一个随机数

Java Character类

Character 类用于对单个字符进行操作
Character 类在包装一个基本类型char的值

  1. Character ch = new Character("a");
  2. //通过Character的构造方法创建一个Character类对象

在某些情况下,Java编译器会自动创建一个Character对象。
例如,将一个char类型的参数传递给需要一个Character类型参数的方法时,那么编译器会自动地将char类型参数转换为Character对象。 这种特征称为装箱,反过来称为拆箱。

转义序列

\t:插入tab键
\n:插入换行
\b:插入后退键
\f:插入换页符

Character 方法

  1. isLetter()
    是否是一个字母
  2. isDigit()
    是否是一个数字字符
  3. isWhitespace()
    是否是一个空白字符
  4. isUpperCase()
    是否是大写字母
  5. isLowerCase()
    是否是小写字母
  6. toUpperCase()
    指定字母的大写形式
  7. toLowerCase()
    指定字母的小写形式
  8. toString()
    返回字符的字符串形式,字符串的长度仅为1