JAVA基础复习(一)

基础复习

标识符

  • 关键字
  • Java所有的
  • 所有的标识符都应该以字母(A-Z 或者 a-z),美元字符($ )、或者下划线( _ )开始
  • 首字母之后可以是字母,美元符号、下划线或者数字的任何字符组合
  • 不饿使用关键字作为变量名或者方法名
  • 表示是大小写敏感的,大小写是有区别的
  • 合法的标识符举例:
  • 非法标识符举例:123abc
  • 可以使用中文标识符,但是不见使用拼音

数据类型

  • 强类型语言

    • 要求变量的使用要严格的规定,所有变量都i必须先定义后使用
  • 弱类型语言

    • 与强类型语言相反
  • Java的数据类型分为两大类

    • 基本类型
      • 数值类型
        • 整数类型
          • byte占1个字节范围
          • short占2个字字节范围
          • int占4个字节范围,最常用
          • long占8个字节范围,Long类型要在后面加个L
        • 浮点类型
          • float占4个字节,要在后面加F
          • double占8个字节
        • 字符类型
          • char占2个字节
      • boolean类型:占1个位,只有true和false两个
    • 引用类型
      • 接口
      • 数组

什么是字节?

  • 位:是计算机内部数据 存储的最小单位
  • 字节:是计算机数据处理的基本单位,习惯上用大写B来表示
  • 1B = 8 bit
  • 字符:是计算机额中使用的字母、数字、字和符号

整数拓展

  • 进制

    • 二进制,0b开头

    • 十进制

      int i = 10;
      
    • 八进制,0开头

      int i2 = 010;
      
    • 十六进制,0x开头

      int i3 = 0x10;
      

浮点数扩展

  • float是有限的,存在差异,往往接近但是不等于

  • 最好完全避免使用浮点数进行比较

            float f1 = 3132131232312.1f;
            float f2 = f1 +1;
            double d1 = 1.0/10;
            float f3 = 0.1f;
            System.out.println(f1);
            System.out.println(f2);
            System.out.println(f2==f1);
            System.out.println(d1==f3);
    
    

字符拓展

  • 所有的字符本质还是数字

  • 编码 Unicode

    	    char c1= 'a';
            char c2= 'b';
            System.out.println(c1);
            System.out.println(c2);
            System.out.println((int)c2);
    

转义字符

  • 制表符 \t
  • 换行 \n

类型转换

  • 由于java是强类型语言,所以要进行运算的时候,需要用类型转换

    • 低 》------------------------------------------------》高
    • byte,short,char -> int -> long -> float -> double
  • 运算中,不同类型数据先转换为同一类型,然后进行运算

  • 强类型转换

    • 从高到底需要强制

      		int i = 1;
              byte b = (byte) i;
      
  • 自动类型转换

    • 从低到高

      		int i = 1;
              double b = i;
      
  • 注意点

    • 不能对布尔值进行转换
    • 不能把对象类型转换为不相干的类型
    • 在把高容量转换到低容量的时候,强制转换
    • 转换的时候可能存在内存溢出,或者精度问题!
  • 	    //操作比较大的时候,注意溢出问题
            //JDK7新特性,数字之间可以永下划线分割
            int money = 10_0000_0000;
            int years = 20;
            System.out.println((long)money*years);
    

变量

  • 变量是什么:就是可以变化的量

  • Java是一种强类型语言,每个变量必须声明其类型

  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

    type varName [=value] [{,varName[=value]}];
    
  • 注意点

    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
    • 变量名必须是合法的标识符
    • 变量声明是一条完整的语句,因此每个声明都必须以分号结束

变量作用域

  • 类变量

  • 实例变量

    • 从属于对象,需要new一个对象来调用,来自c++的基础
  • 局部变量

    public class HelloWorld {
        /*
        实例变量:从属于对象;如果不自行初始化,这个类型的默认值是 0 0.0
        布尔值:默认是false
        除了基本类型,其余的默认值都是null
        类变量 static
        常量 final修饰,常量名全部大写
        修饰符不存在前后顺序
         */
    
        static double salary = 2500;
        static final double WORKING = 100;
        int a;
        String s1;
    
        public static void main(String[] args) {
            //局部变量
            int b=2;
            HelloWorld hello1 = new HelloWorld();
            System.out.println(hello1.a);
            System.out.println(b);
            System.out.println(salary);
        }
        /**
         * 其他方法
         */
        public void add(){
    
        }
    
    }
    

变量的命名规则

  • 所有变量、方法、类名:简单明了
  • 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母都大写
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(),runRun()

运算符

  • Java语言支持如下运算符:优先级()

    优先级 运算符 简介 结合性
    1 [ ] . ( ) 方法调用,属性获取 从左向右
    2 !、~、 ++、 -- 一元运算符 从右向左
    3 * 、/ 、% 乘、除、取模(余数) 从左向右
    4 + 、 - 加减法 从左向右
    5 <<、 >>、 >>> 左位移、右位移、无符号右移 从左向右
    6 < 、<= 、>、 >=、 instanceof 小于、小于等于、大于、大于等于, 对象类型判断是否属于同类型 从左向右
    7 == 、!= 2个值是否相等,2个值是否不等于。 下面有详细的解释 从左向右
    8 & 按位与 从左向右
    9 ^ 按位异或 从左向右
    10 按位或 从左向右
    11 && 短路与 从左向右
    12 || 短路或 从左向右
    13 ?: 条件运算符 从右向左
    14 =、 += 、-= 、*= 、/=、 %=、 &=、 |=、 ^=、 <、<= 、>、>= 、>>= 混合赋值运算符 从右向左
    • 算术运算符:+ - * / % ++ --

    public class HelloWorld {
    int ia=1;
    int ib=2;
    double da=4;
    public static void main(String[] args) {
    long longNum = 231321;
    int ia = 21;
    short sa = 10;
    byte ba = 4;
    int ib = 3;
    System.out.println(ba++);
    System.out.println(++ba);
    System.out.println(longNum+ia+sa+ba);
    /**算术中有long存在计算结果为long类型
    其余计算结果都为int类型
    ib++是先赋值再加1
    ++ib是先加1再赋值
    */
    System.out.println(ia+sa+ba);
    System.out.println(sa+ba);
    }
    }

    
    
    
    + 赋值运算符:=
    
    + 关系运算符:>   <    >=   <=   ==  != instanceof
    
    + 逻辑运算符:&&	||	!
    
    ```java
    public class HelloWorld {
        public static void main(String[] args) {
            //与(and)或(or) 非(unless)
            boolean a = true;
            boolean b =false;
            System.out.println("a && b :"+(a&&b));
            System.out.println("a && b :"+(a||b));
            System.out.println("a && b :"+(!a&&!b));
        }
    }
    
    • 短路运算

      		//短路运算
              int c = 5;
              //c<4是false,直接结束运算,后面c就没有++
              boolean d = (c<4)&&(c++<4);
              System.out.println(d);
              System.out.println(c);
      
    • 条件运算符: ?:

      		// x ? y : z
              int score = 80;
              String flag = score >40 ?"true":"false";
      
    • 字符串连接符:+

      	    int a = 1;
              int b = 2;
              System.out.println(a+b);
      	    /*字符串在前,后面的只是拼接
              字符串在后面,前面进行加法
              */
              System.out.println(" "+a+b);
              System.out.println(a+b+" ");
      
    • 扩展运算符:+= -= *= /=

      a+=b; //a=a+b
      a-=b; //a=a-b
      

Math类数学公式

  • 幂运算:pow

    包机制

  • 用于区别类名的命名空间

  • 包语句的语法格式为:

    package pkg1[.pkg2[. pkg3...]];
    
  • 一般用公司域名倒置作为包名:

  • 为了能够使用某一个包的成员,我们需要再Java程序中明确导入该包。

    • 使用"import"完成该功能
    • 使用其他文件夹的类名,方法,头文件import引入
    import package1[.package2...].(classname|*);
    
  • 创建package

    例如com.yexin,自动生成二级文件夹

posted @ 2021-03-13 14:51  不邛  阅读(60)  评论(0)    收藏  举报