Java基础学习

P21 注释

  • 平时我们编写代码,再代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。

  • 注释并不会被执行,是给我们写代码的人看的

  • 书写注释是个非常好的习惯

  • 平时写代码一定要注意规范

  • Java中的注释有三种

    • 单行注释
    • 多行注释
    • 文档注释
/**
 *                    _ooOoo_
 *                   o8888888o
 *                   88" . "88
 *                   (| -_- |)
 *                    O\ = /O
 *                ____/`---'\____
 *              .   ' \\| |// `.
 *               / \\||| : |||// \
 *             / _||||| -:- |||||- \
 *               | | \\\ - /// | |
 *             | \_| ''\---/'' | |
 *              \ .-\__ `-` ___/-. /
 *           ___`. .' /--.--\ `. . __
 *        ."" '< `.___\_<|>_/___.' >'"".
 *       | | : `- \`.;`\ _ /`;.`/ - ` : | |
 *         \ \ `-. \_ __\ /__ _/ .-` / /
 * ======`-.____`-.___\_____/___.-`____.-'======
 *                    `=---='
 *
 * .............................................
 *          佛祖保佑             永无BUG
 */

P22 标识符和关键词

  • 关键词

    abstract、assert、boolean、break、byte、case、catch、char、class、const、continue、default、do、double、else、enum、extends、final、finally、float、for、goto、if、implements、import、instanceof、int、interface、long、native、new、package、private、protected、public、return、strictfp、short、static、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while

  • Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

P23 数据类型讲解

数据类型

  • 强类型语言

    • 要求变量的使用要严格符合规定,所有变量都必须现定义后才能使用
  • 弱类型语言

  • Java的数据类型分为两大类

    • 基本类型(primitive type):byte、boolean、char、short、int、float、long、double
    • 引用类型(reference type):类、接口、数组

P24 数据类型扩展及面试题讲解

P25 类型转换

  • 由于Java是强制类型语言,所以要进行有些运算的时候,需要用到类型转换。

    低——————————————————————————高

    byte,short,char——>int——>long——>float——>double

  • 运算中,不通类型的数据先转换为同一类型,然后进行运算。

  • 强制类型转换(从高容量转换到低容量)

  • 自动类型转换(从低容量转换为高容量)

  1. 不能对布尔值进行转换;

  2. 不能把对象类型转换为不相干的类型;

  3. 在把高容量转换到低容量的时候,强制转换;

  4. 转换的时候可能存在内存溢出,或者精度问题。

    JDK新特性,谁之间可以用下划线分割,如:int money = 10_0000_0000

P26 变量、常量、作用域

变量

  • 变量是什么:就是可以变化的量!
  • Java是一种强类型语言,每个变量都必须声明其类型。
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
  • 注意事项:
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
    • 变量名必须是合法的标识符。
    • 变量声明是一条完整的语句,因此每个声明都必须以分号结束。

变量作用域

  • 类变量

  • 实例变量

  • 局部变量

    /**
     * ClassName:Demo08
     * Description:
     *
     * @Date:2022-12-7 21:36
     * @Author:chenfp
     */
    public class Demo08 {
        //类变量 static
        static double salary = 2500;
    
        //属性:变量
    
        //实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0
        //布尔变量:默认是false
        //除了基本类型,其余的默认值都是null
        String name;
        int age;
    
        //main方法
        public static void main(String[] args) {
            //局部变量:必须声明和初始化值
            int i = 10;
    
            System.out.println(i);
    
            //变量类型 变量名字 = new Demo08();
            Demo08 demo08 = new Demo08();
            System.out.println(demo08.age);
            System.out.println(demo08.name);
    
            //类变量 static
            System.out.println(salary);
        }
    
        //其他方法
        public void add(){
    
        }
    }
    

常量

  • 常量(Constant):初始化(initialize)后不能在改变值!不会变动的值。

  • 所谓常量可以理解成一种特殊的变量,她的值被设定后,在程序运行过程中不允许被改变。

    final 常量名=值;
    final double PI=3.14;
    
  • 常量名一般使用大写字符。

/**
 * ClassName:Demo09
 * Description:
 *
 * @Date:2022-12-7 21:49
 * @Author:chenfp
 */
public class Demo09 {

    //修饰符,不存在先后顺序
    static final double PI = 3.14;
    
    public static void main(String[] args) {
        System.out.println(PI);
    }
}

变量的命名规范

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

P27 基本运算符

运算符

  • Java语言支持如下运算符
    • 算数运算符:+,-,*,/,%,++,--
    • 赋值运算符:=
    • 关系运算符:>,<,>=,<=,==,!=,instanceof
    • 逻辑运算符:&&,||,!
    • 位运算符:&,|,^,~,>>,<<,>>>(了解!!!)
    • 条件运算符:?,:
    • 扩展赋值运算符:+=,-=,*=,/=
package operator;

/**
 * ClassName:Demo01
 * Description:
 *
 * @Date:2022-12-7 22:02
 * @Author:chenfp
 */
public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        //Ctrl + D :复制当前行到下一行
        int a = 10;
        int b = 20;
        int c = 25;
        int d = 25;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);
    }
}
package operator;

/**
 * ClassName:Demo02
 * Description:
 *
 * @Date:2022-12-7 22:04
 * @Author:chenfp
 */
public class Demo02 {
    public static void main(String[] args) {
        long a = 123123123133L;
        int b = 123;
        short c = 10;
        byte d = 8;

        System.out.println(a+b+c+d);//long
        System.out.println(b+c+d);//int
        System.out.println(c+d);//int
    }
}
package operator;

/**
 * ClassName:Demo03
 * Description:
 *
 * @Date:2022-12-7 22:06
 * @Author:chenfp
 */
public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确,错误  返回布尔值
        int a = 10;
        int b = 20;
        int c = 21;
        //取余,也叫模运算
        System.out.println(c%a);

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a == b);
        System.out.println(a != b);

    }
}

P28 自增自减运算符,初识Math类

package operator;

/**
 * ClassName:Demo04
 * Description:
 *
 * @Date:2022-12-7 22:11
 * @Author:chenfp
 */
public class Demo04 {
    public static void main(String[] args) {
        //++ -- 自增,自减  一元运算符
        int a = 3;

        int b = a++;//执行完这行代码后,先给b赋值,再自增
        System.out.println(a);
        int c = ++a;//执行完这行代码前,先自增,再给b赋值
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //幂运算 2^3  2*2*2 = 8
        double pow = Math.pow(3, 2);
        System.out.println(pow);
    }
}

P29 逻辑运算符、位运算符

package operator;

/**
 * ClassName:Demo05
 * Description:
 *
 * @Date:2022-12-7 22:18
 * @Author:chenfp
 */
public class Demo05 {
    public static void main(String[] args) {
        //与(and) 或(or) 非(取反)
        boolean a = true;
        boolean b = true;
        System.out.println("a && b"+(a&&b));//逻辑与预算:两个变量都为真,结果才为true
        System.out.println("a || b"+(a||b));//逻辑或运算:两个变量有一个为真,则结果才为true
        System.out.println("!(a && b)"+!(a&&b));//如果是真,则变为假,如果是假则变为真

        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);
    }
}
package operator;

/**
 * ClassName:Demo06
 * Description:
 *
 * @Date:2022-12-7 22:24
 * @Author:chenfp
 */
public class Demo06 {
    public static void main(String[] args) {
        /*
         A = 0011 1100
         B = 0000 1101

         A&B = 0000 1100
         A|B = 0011 1101
         A^B = 0011 0001
         ~B = 1111 0010

         2*8 = 16 2*2*2*2
         << *2
         >> /2
         */
        System.out.println(2<<3);
    }
}

P30 三元运算符及小结

package operator;

/**
 * ClassName:Demo07
 * Description:
 *
 * @Date:2022-12-7 22:31
 * @Author:chenfp
 */
public class Demo07 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        a+=b;
        System.out.println(a);
        a-=b;
        System.out.println(a);

        //字符串连接符
        System.out.println(""+a+b);

        System.out.println(a+b+"");
    }
}
package operator;

/**
 * ClassName:Demo08
 * Description:三元运算符
 *
 * @Date:2022-12-7 22:33
 * @Author:chenfp
 */
public class Demo08 {
    public static void main(String[] args) {
        //x ? y : z
        //如果x == true,则结果为y,否则结果为z
        int score = 50;
        String type = score < 60 ? "不及格" : "及格";
        System.out.println(type);
    }
}

运算符的优先级。

P31 包机制

  • 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。

  • 包语句的语法格式为:package pkg1[. pkg2[. pkg3 ....]];

  • 一般利用公司域名倒置作为包名:www.baidu.com com.baidu.www com.chen.blog

  • 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使用“import”语句可完成此功能:

    import package1[.package2...].(classname|*);

推荐观看手册:阿里巴巴开发手册

P32 JavaDoc生成文档

  • JavaDoc

    • javadoc命令是用来生成自己APIC文档的
  • 参数信息

    • @author 作者名
    • @version 版本号
    • @since 指明需要最早使用的jdk版本
    • @param 参数名
    • @return 返回值情况
    • throws 异常抛出情况
package com.chen.base;

/**
 * ClassName:Doc
 * Description:
 *
 * @Date:2022-12-7 22:52
 * @Author:chenfp
 */
public class Doc {
    String name;

    /**
     * @author chenfp
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws Exception{
        return name;
    }
}

参考学习视频:https://space.bilibili.com/95256449/channel/seriesdetail?sid=393820&ctype=0

posted @ 2022-12-07 23:06  飘逸的帅小哥  阅读(72)  评论(0)    收藏  举报