复习java基础随笔

wxmlsw / 2024-01-17 / 原文

java基础

标识符

char和String

char

char属于关键字

String

String是类

整数类型

进制

二进制:0b

八进制:0

十六进制:0x

int i1 = 10;//十进制 10
int i2 = 0b10;//二进制 2
int i3 = 010;//八进制 8
int i4 = 0x10;//十六进制 16

浮点数

float

有限 离散 舍入误差 大约 接近但不相等

最好完全避免使用浮点数进行比较

float f = 0.1f;
double d = 0.1;
System.out.println(f==d);//false
float d1 = 1562165152f;
float d2 = d1 + 1;
System.out.println(d1==d2);//true

字符

char c1 = 'A';
char c2 = '中';
char c3 = '\u0061';
System.out.println(c1);
System.out.println((int)c1);//强制转换 65
System.out.println(c2);
System.out.println((int)c2);//强制转换 20013
System.out.println(c3);
System.out.println((int)c3);

所有字符本质还是数字都是Unicode码

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

字符串

String sa = new String("hello,world!");
String sb = new String("hello,world!");
System.out.println(sa==sb);//false
String sc = "hello,world!";
String sd = "hello,world!";
System.out.println(sc==sd);//true

对象 从内存分析

布尔值

boolean flag = true;
if(flag==true){}
if(flag){}//两个表示条件都一样
//Less is More! 代码要精简易读

类型转换

小数的优先级大于整数

强制转换

(类型)变量名 高--低(优先级)

自动转换

低--高(优先级)

精度问题

System.out.println((int)23.7);//23
System.out.println((int)-45.89f);//-45

溢出问题

//jdk7的新特性,数字之间可以添加下划线但不会输出
int money = 10_0000_0000;
int years = 20;
int total = money * years;
System.out.println(total);//-1474836480 计算结果溢出
long total2 = money * years;
System.out.println(total2);//-1474836480 在计算时两个数还属于int类型,计算还是在int类型的范围内进行的,转换的只是溢出后的结果
long total3 = money * (long)years;//先将其中一个数转换为long类型,再计算
System.out.println(total3);//20000000000

变量

类变量

类变量(也称为静态变量或静态字段)是指在类级别上声明并用static关键字修饰的变量。这些变量属于类本身,而不是类的任何特定实例(对象)。

public class MyClass {
    public static int count = 0; // 类变量,所有MyClass对象共享此count

    // 静态初始化块
    static {
        count = 100;
    }

    // ...
}

// 访问类变量
System.out.println(MyClass.count); // 输出:100 或者初始声明时设置的值

运算符

算数运算符

自增自减运算符

//++  --   自增,自减   一元运算符
int a = 3;
int b = a++;//先给b赋值,再自增
//a = a + 1
System.out.println(a);//a = 4
//a = a + 1
int c = ++a;//先自增,再给c赋值
System.out.println(a);//a = 5
System.out.println(b);//b = 3
System.out.println(c);//c = 5

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

逻辑运算符

// 与(and)     或(or)      非(取反)
boolean a = true;
boolean b = false;

//逻辑与运算:两个变量都为真,结果才为true
System.out.println("a && b:"+(a&&b));//a && b:false
        
//逻辑或运算:两个变量有一个为真,则结果才为true
System.out.println("a || b:"+(a||b));//a || b:true
        
//如果是真,则变为假,如果是假,则变为真
System.out.println("! (a && b):"+!(a&&b));//! (a && b):true
        
//短路运算
/**常见于计算机编程语言中的逻辑与(AND)和逻辑或(OR)操作符。
* 当使用这些操作符时,如果可以通过评估部分表达式就能确定整个表达式的最终结果,
* 则没有必要继续计算剩余的部分。
*/
int c = 5;
boolean d = (c<4)&&(c++<4);
//由于c=5>4,所以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 0010 2
0001 0000 16
*/
System.out.println(2<<3);//16

扩展赋值运算符

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);//1020
System.out.println(a+b+"");//30

三元运算符

// x ? y : z
//如果x==true,则结果为y,否则结果为z

int score = 80;
String type = score <60 ?"不及格":"及格";

System.out.println(type);//及格

javaDoc

编写javaDoc帮助文档

/**
 * @author lsw
 * @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帮助文档

首先找到Doc.java所在文件夹,然后在路径前输入cmd+空格打开命令行窗口;

输入命令:javadoc -encoding UTF-8 -charset UTF-8 Doc.java(-encoding UTF-8 -charset UTF-8输入这些是为了输出中文不会乱码)

然后文件夹会多出很多东西

点击index进入:

使用idea生成JavaDoc文档

首先点击工具(Tools),再点击Generate JavaDoc...

  • 第一步:选择生成JavaDoc文档的范围,我只对一个源文件生成Doc,所以选择文件。
  • 第二步:输出目录最好新建一个文件夹,比较有条理和整洁
  • 第三步:区域设置,决定文档的语言,简体中文就是zh_CN、繁体(台湾)zh_tw、繁体(香港)zh-hk、英语(香港)en-hk、英语(美国)en-us、英语(英国)en-gb、英语(全球)en-ww
  • 第四步:其他命令行参数:如果区域设置为中国,参数一般为-encoding UTF-8 -charset UTF-8
  • 第五步:设置完成后点击确定即可生成Doc文档

最后就可以在选择的文件夹中看见生成的文档了

点击index.html就可以进入到生成的帮助文档中了

关于idea生成JavaDoc引用博客地址:使用IDEA生成JavaDoc文档(IDEA2020.3.2)_idea快捷键将所有javadoc注释转为读模式-CSDN博客

JavaDoc帮助文档官网:Java SE 文档 — API 和文档 | Oracle 中国