Java基础知识

1Java基础知识

一、注释

  1. 单行注释
  2. 多行注释
  3. 文档注释
    /** */
    也能注释多行内容,一般用在类、方法、变量上,用来描述其作用,注释后,鼠标放在类和变量上会自动显示注释的内容
    也可以识别标签,标签通常以@开头

二、标识符

变量名、方法名、类名都称为标识符
标识符以数字、下划线、字母、美元符组成(首字母不能是数字)
标识符有区分大小写(尽量不用中文和拼音)
标识符不能用关键字
关键字

三、数据类型

1、基本类型

  1. boolean类型:只有true和false两种类型,占一个字节
  2. 数值类型:
    • byte:占一个字节范围
    • short:2个字节
    • long:8个字节
    • int:4个字节
    • float:4个字节
    • double:8个字节
    • char:字符类型 2个字节

扩展1

1 Byte(字节)=8 bit(位)
1024B=1KB
1024KB=1M
1024M=1G

整数扩展

二进制:ob
八进制:o
十六进制:ox

浮点数扩展

浮点数是大约的,接近但不等于
最好避免完全使用浮点数进行比较
银行业务不用浮点数去比较,可以用BigDecieml数学工具类比较(由运行所得的true和false可得)
银行面试

字符类型扩展

可以强制转换成数字
char s='a';
system.out.println((int)a);
a:97 A:65

转义字符

\t:制表符 \n:换行 \b:退格

布尔值扩展

if(flag==true){}和if(flag){}这两个是一样的

2、引用类型

类、接口、数组
例如:类String String a="上岸";
字符串连接符有‘String’和 ‘+’以及‘,’

3、类型强制转换

byte short char int long float double
没有达到int类型的,默认转换为int类型计算
级别低的可以自动转换成级别高的,高转低要强制转换 system.out.println((int)23.1),得到的结果是23(存在精度问题)

不能对布尔值进行转换

转换过程可能会遇到内存溢出或者精度问题

char c='a';
int d=c+1;
system.out.println(d);

扩展

JDK7新特性,数字之间可以用下划线,且输出时下划线不会输出:10_0000_0000
考虑内存可能溢出的情况
内存溢出

注意只修改前面那个内存还是溢出了
内存溢出2
同时也要将years强制转换
内存溢出3

四、变量

包含变量名、变量类型、作用域

数据类型 变量名=值

变量声明是一条完整的语句

五、变量作用域

参考文章
全局变量就是成员变量,包含了类变量(等同于静态变量)和实例变量;还有一个局部变量

  1. 类变量:前面要加static

  2. 实例变量:前面不加static;
    在方法外面,类的里面,不初始化的话会变成这个类型的默认值,布尔值默认false,string是null(除了基本类型其余都是null);
    从属于对象,也就是说必须借用类来使用

  3. 局部变量:是在方法里面,只在方法内有用,且必须声明和初始化值(图中的age是实例变量,写错了~)
    三个变量代码

六、常量

常量必须要用到Final,常量名必须大写,是修饰符(不存在先后顺序)
static final double PI=3.14 (static 静态的 哪里都可以调用)

扩展

类成员变量和局部变量和方法名:首字母小写和驼峰原则
类名:首字母大写和驼峰原则
常量:大写字母和下划线

七、运算符

  • 算术运算符:+ - * / % ++ --
  • 赋值运算符:=
  • 关系运算符:> < >= <= == != instanceof(左边的对象是右边的类或子类创建的,其结果为true)
  • 逻辑运算符:&& || !
  • 位运算符:& | ~
  • 条件运算符:?:(是三元运算符)
  • 扩展赋值运算符:+= -= *= /=

扩展:自增 自减

int a=3
int b=a++(a=a+1在这行之后执行)
把a先赋值给b,然后a=a+1=4
int b=++a(a=a+1在这行之前执行)
a已经提前+1,等于4,然后再将4赋值给b

扩展:幂运算

double pow=math.pow(2,3)//2的三次方
system.out.println(pow);

逻辑运算符

短路运算:a&&b 当a是假的时候,b不会执行

位运算符

">>"表示右移 /2
“<<”表示左移 *2
面试题:2 * 8=16 怎么用简便方法计算
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16

system.out.println(2<<3)
该式子表示2再往左移3位,也就是2*2^3

扩展赋值运算符

a+=b 等同于 a=a+b

int a=3;
int b=4;
system.out.println("字符串"+a+b);//最后输出结果为34字符串

system.out.println(a+b+"字符串");//最后输出结果为7字符串

即字符串在前面起到连接符的作用,如果字符串在后面会先计算再连接

三元运算符

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

int score=100;
String type="如果成绩>60"?"及格":"不及格";
system.out.println(type);

八、包机制

包的本质就是文件夹

一般用公司域名倒置作为包名
如www.baidu.com的包名为com.baidu.www

要用某些变量,需要导入包,用import
如 import Java.util.Date

九、JavaDoc

JavaDoc命令是用来生成java的API文档也就是帮助文档
网址:API帮助文档

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

public String test(String name) throws Exception{
return name;
}

扩展

使用命令行生成JavaDoc文档
在命令行窗口运行刚写的Java文件
9

回到刚刚Java文件所在的文件,发现多了个index(网页)的文件,点击进入网页
10

11

使用IDEA生成JavaDoc文档

posted @   XiaoChen要努力!!!  阅读(75)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
点击右上角即可分享
微信分享提示