Java基础_2

变量

  1. 变量名,变量类型和作用域
  2. 每个变量都有类型(基本类型,引用类型)
  3. 变量名为合法的标识符
  4. 每一个声明以分号结束
public class Demo05 {
    public static void main(String[] args) {
        //定义变量  程序可读性
        int a = 1;
        int b = 2;
        int c = 3;
        //引用类型
        String name = "dcl";
        char x = 'X';
        double pi = 3.14;
    }
}

作用域

  • 类变量(static)
  • 实例变量
  • 局部变量
public class Demo06 {

    //类变量 static
    static double salary = 2500;
    
    //属性:变量

    //实例变量,从属于对象(类里面方法外面),如果不自行初始化,为默认值
    //布尔值:默认false
    //除了基本类型,其余的默认值都是null
    String name;
    int age;

    //main方法
    public static void main(String[] args) {

        //局部变量,必须声明和初始化值(只在方法内有用)
        int i = 10;
        System.out.println(i);
        //变量类型  变量名=new Demo06();
        Demo06 demo06 = new Demo06();
        System.out.println(demo06.age);
        System.out.println(demo06.name);

        //类变量 static
        System.out.println(salary);
    }
    //其他方法
    public  void  add(){
    }
}

常量

初始化后不能改变

final 常量名 = 值;

eg:final double PI = 3.14;

常量名一般使用大写字符

public class Demo07 {
    //修饰符,不存在先后顺序
    static final double PI = 3.14;

    public static void main(String[] args) {
        System.out.println(PI);
    }
}

变量命名规范

  • 见名知意
  • 类成员变量首字母小写,驼峰原则 lastName
  • 局部变量,首字母小写,驼峰
  • 常量,大写字母和下划线 MAX_VALUE
  • 类名,首字母大写,驼峰
  • 方法名,首字母小写,驼峰

运算符

必会:

  • 算数运算符:+,-,*,/,%(取余,模运算),++,--
package operator;

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        //ctrl+D:复制当前行到下一行
        int a = 10;
        int b = 20;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);//注意作用域
    }
}
package operator;

public class Demo04 {
    public static void main(String[] args) {
        //++  -- 自增,自减 一元运算符
        int a = 3;

        int b = a++; //执行完这行代码后,先给b赋值,再自增
        //a=a+1 下一句的执行

        System.out.println(a);

        //a=a+1 上一句的执行
        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(2,3);
        System.out.println(pow);//8.0

    }
}
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!=(不等于)instanceof
package operator;

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确或错误,布尔值反应
        int a = 10;
        int b = 20;
        int c = 21;

        //取余,模运算
        System.out.println(c%a);//c/a  21/10=2……1

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
    }
}
  • 逻辑运算符:&&,||,!(与,或,非)
package operator;
//逻辑运算符
public class Demo05 {
    public static void main(String[] args) {
        //与 (and)   或(or)   非(取反)

        boolean a = true;
        boolean b = false;

        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);//c<4已经为假,后续的c++就不会执行
        System.out.println(c);

    }
}

了解:

  • 位运算符:&,|,^,~,>>,<<,>>>
package operator;

public class Demo06 {
    public static void main(String[] args) {
        /* 位运算
        A = 0011 1100
        B = 0000 1101

        A&B 0000 1100  两个都为1才为1,其余为0
        A|B 0011 1101  都是0为0,有1为1
        A^B 0011 0001  异或,相同为0,不同为1
        ~B  1111 0011  取反

        2*8 = 16  2*2*2*2
        <<左移 = *2   >>右移 = /2

        0000 0000  0
        0000 0001  1
        0000 0010  2
        0000 0011  3
        0000 0100  4
        0000 0101  5
        0000 0110  6
        0000 0111  7
        0000 1000  8
        0001 0000  16
         */
        System.out.println(2<<3);
    }
}
  • 条件运算符:?,:
package operator;
//三元运算符
public class Demo08 {
    public static void main(String[] args) {
        // x ? y : z
        //如果x为true,结果为y,否则为z

        int score = 80;
        String type = score <60?"不及格":"及格";
        //if
        System.out.println(type);
    }
}
  • 扩展赋值运算符:+=,-=,*=,/=
package operator;

public class Demo07 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

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

        System.out.println(a);

        //字符串连接符  + , String
        System.out.println(""+a+b); //字符串在前直接连接
        System.out.println(a+b+""); //字符串在后,前面依旧计算
    }
}

优先级:使用()来区分

包机制

  • 更好的组织类,区别于类名的命名空间
  • 语法:package pkg1[. pkg2[. pkg3……]];
  • 一般使用公司域名倒置作为包名
  • 程序中使用import导入包 import package1[.package2...].classname|*);

JavaDoc

  • 用来生成自己API文档的
  • 参数信息
    • @author 作者名
    • @version 版本号
    • @since 指明需要最早使用的jdk版本
    • @param 参数名
    • @return 返回值情况
    • @throws 异常抛出情况
package com.dcl.base;
//类的注释
/**
 * @author dcl
 * @version 1.0
 * @since 1.8
 */
public class Doc {
    String name;

    //方法的注释
    /**
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws Exception{
        return  name;
    }
}

通过命令行生成JavaDoc

javadoc 参数 java文件

javadoc -encoding UTF-8 -charset UTF-8 Doc.java

通过IDEA生成

  • Generate JavaDoc Scope选择需要生成JavaDoc的文件
  • Tools——Generate JavaDoc
  • output directory选择存放文档目录
  • Locale配置语言选择中文(zh_CN)
  • Other command line arguments设置编码集(-encoding UTF-8 -charset UTF-8)
  • 查看JavaDoc文件下的index.html文件,打开即为API文档
posted @ 2022-03-25 16:04  有小小小  阅读(31)  评论(0)    收藏  举报