Java基础之基本数据类型/变量/常量/运算符/包机制/javaDoc

基本数据类型

整型:byte,int,short,long

​ 拓展,进制:二进制 0b,八进制0(010=8),十进制,十六进制0x(0x10=16)

int a = 10;//十进制
int a1 = 010;//八进制
int a2 = 0b10;//二进制
int a3 = 0x10;//十六进制
System.out.println("a="+a+",a1="+a1+",a2="+a2+",a3="+a3);
//输出:a=10,a1=8,a2=2,a3=16
浮点型:double,float

​ 拓展,float和double存在舍入误差,避免使用浮点数进行比较,使用BigDecimal类进行比较

字符型:char

​ 字符可以强制转换成数字,所有字符本质还是数字

​ 编码 Unicode,占用2个字节,Unicode转义字符:"\u0000"~"\uFFFF"

​ 转义字符:制表符:"\t",换行符"\n"

char ch = '我';
System.out.println((int)ch);//强制转换
//输出25105
布尔型:boolean

类型转换:运算中,不同类型的数据先转化为同一类型再进行计算

​ 低------------------------------------------->高

​ byte,short,char-->int-->long-->floar-->double

强制类型转换,转换时要避免内存溢出
自动类型转换
int a = 10;
byte b = (byte)a;//强制转换
doUble d = a;//自动转换
注意点:
  • 不能对布尔值进行转换
  • 不能把对象类型转换为不相干的类型
  • 在把高容量转换到低容量的时候,强制转换
  • 转换的时候可能存在内存溢出或精度问题
  • 数字进行计算时,如果结果存在内存溢出时要先转换后计算
System.out.println((int)23.7);//输出23
//JDK7新特性,数字之间可以用下划线分割
int money = 1_000_000_000;
int year = 2;
long a = money*((int)year);//先转换后计算

变量

注意点:
  • 每个变量都有类型,可以是基本类型,也可以是引用类型
  • 变量名必须是合法标识符
  • 变量声明是一条完整的语句,必须以分号结尾
  • 命名规则,首字母小写,驼峰原则

类变量:static,从属于类

实例变量:写在方法外,类里面,从属于类,不初始化值则赋值为默认值

局部变量:写在方法里的,必须声明和初始化值,生命周期在声明的方法中

public class Hello {
    int b;//实例变量
    static int a = 1;//类变量
    public static void main(String[] args){
		//变量定义
        int a = 1;
        String str = "TTK";
    }
}

常量:final,命名规则:定义为大写+下划线

final static double DB = 3.14;

运算符:

​ Java支持的运算符

  • 算数运算符:+,-,*,/,%,++,--
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!= ,instanceof(返回结果为boolean值)
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>
  • 条件运算符:?:
  • 扩展赋值运算符:+=,-=,*=,/=
public static void operAtor(){
    int a = 10;
    long b = 10;
    short c = 10;
    byte d = 10;
    int e = 10;
    int f = 23;
    // int long short byte 运算,若存在long类型则结果为long类型,否则为int类型
    System.out.println(a+a);//20,int类型
    System.out.println(a-b);//0,long类型
    System.out.println(a*c);//100,int类型
    System.out.println(a/d);//1,int类型
    System.out.println(a>e);//false
    System.out.println(a<e);//false
    System.out.println(a==e);//true
    System.out.println(a!=e);//false
    //取余,模运算
    System.out.println(f%a);//3

    /*=======================================*/
    //++,——,自增,自减,一元运算符
    int i = 1;
    int j = i++;//先赋值,在自增
    /*int j = i;
    i = i+1;*/

    int k = ++i;//先自增,后赋值
   /* i = i+1;
    int k = i;*/
    System.out.println("i="+i+",j="+j+",k="+k);//i=3,j=1,k=3

    //幂运算 2^3 2*2*2,使用工具类Math运算
    double ma = Math.pow(2,3);
    System.out.println(ma);//8.0
    
}
/*逻辑运算符*/
//&&(与) ||(或) !(非)

boolean flag = true;
boolean flag1 = false;
System.out.println("flag && flag1 =" +(flag&&flag1));//false 逻辑与运算,全为true时才为true
System.out.println("flag || flag1 =" +(flag || flag1));//true 逻辑或运算,全为false时为false
System.out.println("!(flag && flag1) =" +(!(flag && flag1)));//true 逻辑非运算,如果为true时为false
//短路运算,逻辑与运算,第一个为false时,后面的不会继续比较
int g = 5;
boolean flag3 = (g<4)&&(g++==5);
System.out.println("g = "+g+",flag4 = "+flag4);//g = 5,flag3 = false
boolean flag4 = (g>4)&&(g++==5);
System.out.println("g = "+g+",flag4 = "+flag4);//g = 6,flag4 = true

/*
位运算
A =   0011 1100
B =   0000 1111
A&B = 0000 1100 //全为1时为1
A|B = 0011 1111 //全为0时为0
A^B = 0011 0011 //相同为0,不同为1
~B  = 1111 0000 //和原来相反
<< 相当于*2
>> 相当于/2
 */

//三元运算符
//x ? y : z ,如果X为真,则结果为y,反之为z

包机制

​ 命名规则,一般用公司域名倒置命名

​ 使用"import"可导入包

JavaDoc

​ 参数信息

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

命令:javadoc -encoding UTF-8 -charset UTF-8 Doc.java

IDEA生成javadoc文档

本篇为学习记录,源自https://www.kuangstudy.com/course,跳转

posted @ 2022-07-01 16:58  曦雨琉  阅读(54)  评论(0)    收藏  举报