Java-3.基础知识

Java-3.基础知识

1 注释、标识符、关键字


注释:

​ 单行“//”、多行"/* */"、文档JavaDoc

标识符:

  1. 首字母:“字母、$、_”
  2. 不能用关键字作为变量名或方法名
  3. 标识符是大小写敏感的
    1. 大小写可区分

2 数据类型


强类型语言

​ 要求变量的使用要严格符合规定,需先定义后使用

弱类型语言

​ 要求变量的使用要符合规定,需先定义后使用

Java分类
基本类型

\

字节
// Java数据类型-基本类型
public class Demo2 {
    public static void main(String[] args) {
        String a="10";
        System.out.println(a);
        // 整数(注意范围)
        int num=10;
        System.out.println(num);
        byte num1=10;
        System.out.println(num1);
        short num2=10;
        System.out.println(num2);
        long num3=10L;
        System.out.println(num3);
        // 小数:浮点数
        float num4=40.222F;
        System.out.println(num4);
        double num5=3.1314;
        System.out.println(num5);
        // 字符
        char name='A';
        System.out.println(name);
        // 字符串,String不是关键字\类
        String name1="AAA";
        System.out.println(name1);
        // 布尔值
        boolean flag=true;
        System.out.println(flag);
    }
}
拓展
public class Demo03 {
    public static void main(String[] args) {
        // 整数拓展:进制[二0b/八0/十/十六0x]
        System.out.println(0b10);
        System.out.println(010);
        System.out.println(11);
        System.out.println(0x11);
        System.out.println("------------------------");

        // 浮点数拓展
        // float:有限,离散,舍入误差,接近但不等于
        // 最好完全使用浮点数进行比较->BigDecimal
        float f1=0.1f;
        double d1=1.0/10;
        System.out.println(f1==d1);
        float f2=11111f;
        float f3=f2+1;
        System.out.println(f2==f3);
        System.out.println("------------------------");

        // 字符拓展
        char c1='a';
        char c2='中';
        System.out.println(c1);
        System.out.println((int)c1);
        System.out.println(c2);
        System.out.println((int)c2);
        // 编码Unicode:2字节,范围:0~65536[U0000-UFFFF]
        System.out.println('\u0061');
        System.out.println("------------------------");

        // 转移字符
        System.out.println("Hello World");
        System.out.println("Hello\tWorld");
        System.out.println("Hello\nWorld");

        // 布尔值拓展
        boolean flag = true;
        if(flag==true){
            System.out.println(flag);
        }
        // 同样形式->√
        if(flag){
            System.out.println(flag);
        }
    }
}
引用类型


3 类型转换


public class Demo04 {
    public static void main(String[] args) {
        // 强制转换:(类型)变量名
        // 要求:高->低
        // 自动转换:
        // 要求:低->高
        // byte,short,char-int-long-float-double
        int i =127;
        // byte最大值为127->超过:内存溢出
        byte b = (byte)i;
        System.out.println(i);
        System.out.println(b);
        System.out.println((double)i);
        /*
        注意点:
        1. 不能把布尔值进行转换
        2.不能把对象类型转换为不相干的类型
        3.在把高容量转换到低容量的时候,强制转换
        4.转换的时候可能存在内存溢出,或者精度问题
        */
        System.out.println((int)2.34);
        System.out.println((int)-34.2f);
        System.out.println("------------------------");

        char c='a';
        int d=c+1;
        System.out.println(d);
        System.out.println((char)d);
        System.out.println("------------------------");

        // 溢出问题
        // 数字之间可以用下划线分割
        int money=10_0000_0000;
        int years=20;
        int total=money*years;
        System.out.println(total);
        long total1=money*years; // 默认int,后转换为long,转换之前已经存在类型
        System.out.println(total1);
        long total2=money*((long)years); // 先把一个数转换为long
        System.out.println(total2);
    }
}

4 变量、常量


变量

​ 程序中最基本的存储单元,包括变量名、变量类型、作用域

变量作用域
public class Demo05 {
    // 类变量 static
    static double salary=2300;
    // 属性:变量
    // 实例变量:从属于对象,默认值为0/0.1/u0000/布尔值false//其他null
    String name;
    int age;

    // main方法
    public static void main(String[] args) {
        // 局部变量:必须声明和初始化值
        int a=1,b=2,c=3;
        String name="nihao";
        char x='x';
        double pi=3.14;

        // 变量类型 变量名字=new Demo08();
        Demo05 demo05 = new Demo05();
        System.out.println(demo05.age);
        System.out.println(demo05.name);

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

​ 初始化后不能改变其值

​ 格式:final 常量名(一般用大写字符)=值;

变量的命名规范
  1. 所有变量、方法、类名:可读性高
  2. 类成员变量:首字母小写&驼峰原则(第一个单词小写,后面单词首字母大写)
  3. 局部变量:首字母小写&驼峰原则
  4. 常量:大写字母&下划线
  5. 类名:首字母大写&驼峰原则
  6. 方法名:首字母小写&驼峰原则

5 运算符


算法运算符

​ +,-,*,/,%,++,–

package operator;

public class Demo01 {
    public static void main(String[] args) {
        // 二元运算符
        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;

public class Demo04 {
    public static void main(String[] args) {
        // 一元运算符:自增++,自减--
        int a = 3;
        int b = a++; // 先b=a,后a=a+1
        System.out.println(b);
        System.out.println(a);
        int c = ++a; // 先a=a+1,后c=a
        System.out.println(a);
        System.out.println(c);

        // 幂运算
        double pow = Math.pow(2,3);
        System.out.println(pow);
    }
}
赋值运算符

​ =

package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a = 111123123L;
        int b = 123;
        short c = 10;
        byte d = 4;

        // 类型转换:byte\short\char使用运算符后自动转型为int
        System.out.println(a+b+c+d); // long
        System.out.println(b+c+d); // int
        System.out.println(c+d); // int
    }
}
关系运算符

​ >,<,>=,<=,==,!=instanceof

package operator;

public class Demo03 {
    public static void main(String[] args) {
        // 关系运算符返回结果:true/false
        int a = 10;
        int b = 20;
        int c = 11;
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
        // 取余,模运算
        System.out.println(c%a);
    }
}
逻辑运算符

​ &&,||,!

package operator;

public class Demo05 {
    public static void main(String[] args) {
        // 与&&,或||,非!
        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;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);
        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
        A|B = 0011 1101
        异或A^B = 0011 0001
        ~B = 1111 0010
        -----------------------------
        位运算:左移>> 右移<<
        0000 0000   0
        0000 0001   1
        0000 0010   2
        0000 0011   3
        0000 0100   4
        0000 1000   8
        0001 0000   16
        2*8最快算法->2*2*2
        */
        System.out.println(2<<3);
        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 ? "false" : "true";
        System.out.println(type);
    }
}
拓展赋值运算符

​ +=,-=,*=,/=

package operator;

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);
        a*=b;
        System.out.println(a);
        a/=b;
        System.out.println(a);

        // 字符串连接符+,String->将另一方转换成String进行连接
        System.out.println(a+b);
        // 注意先后顺序:计算or连接
        System.out.println(""+a+b);
        System.out.println(a+b+"");
    }
}

6 包机制、JavaDoc


包机制

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

​ 一般利用公司域名倒置作为包名

​ 格式:(必须放置最顶部)

package pkg1[. pkg2[. pkg3...]];

​ 使用包:

import package1[.package2..].(calssname|*)

​ 通配符:* 导入包下所有的类

import com.kuang.base.*

阿里巴巴规范手册

JavaDoc

​ 用来生成API文档

​ [API帮助文档](Overview (Java Platform SE 8 ) (oracle.com))

参数
  • @author 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • @throws 异常抛出情况
package com.kuang.base;
/**
* @author Kuang
* @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 -encoding UTF-8 -charset UTF-8 Doc.java
查找使用IDEA生成JavaDoc

使用IDEA生成JavaDoc文档(IDEA2020.3.2)_Miyonesqn的博客-CSDN博客)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值