javaSE-01基础语法

javaSE基础语法

注释

java中的注释有三种:

  • 单行注释
  • 多行注释
  • 文档注释

标识符

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

标识符注意点:

  • 不能使用关键字作为变量名或方法名。
  • 标识符是大小写敏感
  • 首字符不能是数字

数据类型

  • JAVA是强类型语言

  • 基础类型:

    int num1 = 10;
    byte num2 = 99;
    short num3 = 3;
    long a =100L;//long类型要在后面加L
    
    //小数:浮点型
    float b =40.3F;//float类型要在后面加L
    double num4 = 3.1421321;
    
    //字符
    char name ='张';
    //字符串
    String name1 = "张三";
    
    //布尔值:是非
    boolean bool = true;
    
  • 扩展:

    //整数扩展: 进制  二进制 八进制 十进制 十六进制
    int i = 0;
    int i2 = 010;//八进制0
    int i3 = 0x10;//十六进制0x 0~9 A~F 16
    
    float f = 0.1f;
    double d = 01;
    System.out.println(f==d);//false
    
    float f1 = 123456789f;
    float f2 =f1+1;
    System.out.println(f1==f2);//ture
    
    //字符扩展
    char c1 = 'a';
    char c2 = '中';
    System.out.println((int) c1);//97
    System.out.println((int) c2);//20013
    
    //所有的字符本质还是数字
    //编码 unicode 表(97=a 65=A) 0 - 65536    2 16 = 65536
    //U0000 UFFFF
    char c3 = '\u0061';
    System.out.println(c3);//a
    
    //转义字符
    // \t   制表符
    // \n   换行
    
    String sa = new String("你好");
    String sb = new String("你好");
    System.out.println(sa==sb);//false
    
    //布尔值扩展
    boolean flag = true;
    if (flag==true){};  //新手
    if (flag){};        //老手
    //Less is More! 代码要简洁
    

类型转换

  • 不能对布尔值转换

  • 不能把对象类型转换为不相干的类型

  • 在高容器转换低容器的时候,强制转换

    int i = 128;
    double b = i;
    System.out.println(i);//128
    System.out.println(b);//128.0
    
    //强制转换  (类型)变量  高--低
    //自动转换  低--高
    
    System.out.println((int)23.7);//23
    System.out.println((int)-45.89f);//-45
    
    char c = 'a';
    int d = c+1;
    System.out.println(c);//a
    System.out.println(d);//98
    System.out.println((char) d);//b
    
  • 转换的时候可能有内存溢出或者精度问题!

  • 运算中,不同类型的数据先转化成同一类型,在计算

    //操作比较大的数的时候,注意溢出问题
    //JDK7新特性可以用_分割
    int money = 10_0000_0000;
    int years = 20;
    int total = money*years;//-1474836480,计算的时候溢出了
    long total2 = money*years;//-1474836480,转换之前已经出问题了?
    long total23 = money*(long)years;//20000000000
    

变量、常量、作用域

  • 所有变量,方法,类名:见名知意

  • 类成员变量:首字母小写与驼峰原则:monthSalary 除了第一个单词,后面单词首字母大写lastname lastName

  • 局部变量:首字母小写与驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名::首字母大写与驼峰原则:Man,GoodMan

  • 方法名:首字母小写与驼峰原则:run(),runRun()

    static double salary = 2500;
    //属性:变量
    String name;
    int age;
    public static void main(String[] args) {
        //局部变量:必须声明和初始化值
        int i = 10;
        //变量类型 变量名字 = new Demo08();
        Demo06 demo06 = new Demo06();
        System.out.println(demo06.age);//null
        System.out.println(demo06.name);//null
        //类变量 static
        System.out.println(salary);
    }
    public void add(){ }
    

基础运算符

png

  • 算术运算符:+,-,*,/, %,++,--

    //++ -- 自增,自减 一元运算符
    int a = 3;
    
    int b = a++;//先给b赋值,再自增
    
    System.out.println(a);//4
    
    int c = ++a;//先自增,再赋值
    
    System.out.println(a);//5
    System.out.println(b);//3
    System.out.println(c);//5
    
    //幂运算 2^3 2*2*2
    double pow = Math.pow(2,3);
    System.out.println(pow);//8.0
    
  • 关系运算符:>,<, >=,<=,==,!=instanceof

    //关系运算符返回的结果:正确,错误 布尔值
    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);//false
    System.out.println(a<b);//true
    System.out.println(a==b);//false
    System.out.println(a!=b);//true
    
  • 逻辑运算符:&&,||,!

    //与(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++<5);
    System.out.println(d);//false
    System.out.println(c);//5
    
  • 位运算符号:& ,| , ~,<<,>>,>>>

    /*
    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
    
    0000 0000   0
    0000 0001   1
    0000 0010   2
    0000 0011   3
    0000 0100   4
    0000 1000   8
    0001 0000   16
    */
    System.out.println(100>>1);//50
    System.out.println(100>>2);//25
    
  • 条件运算符:? :

    //x ? y : z
    //如果x==true,则结果为y,否则结果为z
    int score =80;
    String type = score < 60?"不及格":"及格";
    System.out.println(type);//及格
    
  • 扩展赋值运算符:+=,-+,*=,/=

    int a =10;
    int b =20;
    
    a+=b;//a=a+b
    a-=b;//a=a-b
    
    //字符串连接符    +
    System.out.println(""+a+b);//1020
    System.out.println(a+b+"");//30
    

包机制

包语法:
package pkg1[.pkg2[.pkg3...]];
导入包语法:
import pkg1[.pkg2...].(classname|*);

JavaDOC

  • 实例代码:

    /**
     * @author DouGuiTuKo
     * @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常用标识

    @author 作者
    @version 版本号
    @param 参数名 描述 方法的入参名及描述信息,如入参有特别要求,可在此注释。
    @return 描述 对函数返回值的注释
    @deprecated 过期文本 标识随着程序版本的提升,当前API已经过期,仅为了保证兼容性依然存在,以此告之开发者不应再用这个API。
    @throws异常类名 构造函数或方法所会抛出的异常。

  • 使用控制台生产javadoc

    • 打开cmd
    • javadoc +文件名.java。
  • 使用idea生成javadoc

    • 工具 > 生成javadoc
posted @ 2021-06-28 20:52  DouGuiTuKo  阅读(69)  评论(0)    收藏  举报