Java之最基础知识点记录

1.Java程序即便有垃圾回收机制还是会出现内存泄漏和内存溢出问题

2.JDK、JRE、JVM

JDK(java Development Kit,包含了JRE)、JRE(Java Runtime Environment,包含java虚拟机和java核心类库)、JVM
在这里插入图片描述
3.单行注释、多行注释、文档注释(javadoc)
单行注释和多行注释的作用
①对所写的语句进行解释说明,增强可读性。
②调试所写的代码
注:多行注释不能嵌套使用
文档注释(java特有):可以被JDK提供的javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。
javadoc解析的类,都要加上public。在cmd中输入:javadoc -d 想要生成的文件名 -author -version HelloWorld.java
4.利用cmd编译运行,后面跟随的名字对应关系在这里插入图片描述
编译报错:一般是语法错误,如漏掉了分号
运行错误:
5.标识符和命名规则
标识符规则(必须遵守)
字母数字下划线和$,不能以数字开头。
不可以使用关键字和保留字,但可以包含关键字和保留字,如staticpublic这个就没问题。
关键字保留字等严格区分大小写 static是关键字,Static就可以了。
标识符规范(一种规范)
包:小写
类和接口:大驼峰
变量和方法:小驼峰
常量名:所有字母大写,用下划线连接XXX_YYY_ZZZ
(变量名啥的可用汉字,不报错。但是不建议啊!!)
6.数据类型
基本数据类型:byte(一字节八位,-128-127).short(两字节16位).int(四字节).long(八字结,).float.double,char(一字符,两字节),boolean
引用数据类型:类、接口、数组
几点说明:
long类型:定义的时候后面要添加l或者L,long l = 123456789L或者123456789l
对于byte.short.int.long 使用最多的是int
在这里插入图片描述
这个不会报错,因为数据范围没有超过int范围,所以此时是按照int来计算的,long比int大不会出错。如果数据超过了int的范围,就必须加l或者L,否则编译出错。
float类型:定义的时候后面要添加f或者F,float f = 12.3f或者12.3F,如果不添加报错。
对于float double 使用最多的是double 。
在这里插入图片描述
默认是double类型的,不加L或者l,就是将double赋值给float,大的给小的,不可以!
char类型:通过’‘标识,只能含有一个字符。中文,日文都可以,只要是一个,一下都OK。
在这里插入图片描述
也可以存储‘/n’这种转义字符
char c=’’;编译不通过,单引号里面不能为空
7.变量分类
在这里插入图片描述
8.中文输出乱码问题
存储时按照UTF-8存储,但是cmd的解析器按照GBK方法进行解析。所以存储和显示方式不同,导致输出的是乱码。用cmd进行编译输出中文时,可以存储为ANSI,那么其实就是存储为GBK了。此时输入输出就不会出现乱码了。
9.printf和转义字符
想要输出/n,转义字符输入//n
想要输出“”,要输入 /“/”
在这里插入图片描述
10.基本数据类型之间的运算规则:
①自动类型提升
byte–short–int–long–float–double
容量小的数据类型的变量与容量大(数据的取值范围大小)的数据类型的变量做运算时,自动提升为容量大的数据类型。
byte,short,char三种变量之间做运算时,或者自身根自身做运算,结果为int型。
short s1 = 10,s2 = 20;
short s3 = s1+s2;//编译不通过,用int接受
在这里插入图片描述
②强制类型转换(自动类型的逆运算)
需要使用强制转换符(),强制转换可能导致精度损失。
11.String
String 为引用类型,声明使用“”,可以与巴中数据类型进行运算,最终结果为String
连接运算+
在这里插入图片描述
在这里插入图片描述
char类型要想清楚是要做运算,还是要连接。
12.运算符
(一)算术运算符
%:取余运算,计算结果的符号与被余数相关。
在这里插入图片描述
short s1 = 10;
s1=s1+1;//编译不通过,转换为int了
s1++;//自增1 不会改变变量的数据类型
不能写成(s++)++;//编译不通过
byte b = 127;
b++;
输出b变为-128
+= -+ = /= %= 都不会改变原来数据类型
赋值运算符练习题:
在这里插入图片描述
思考1:①中2为int类型,short和int相加变为int,不能布置给short了。导致编译出错。②不会改变数据类型,所以不出错。
思考2:i=i
0=0 输出0 1
思考3:n = nm++; m取2先运算,然后m变为3
n=2
3=6.输出 3 6
思考4:n = n+(n++)+(++n);
n=10 先取值n=10,然后变为11,在计算后取值变为12. 计算结果为:10+10+12=32

(二)比较运算符
在这里插入图片描述
(三)逻辑运算符
在这里插入图片描述
练习题:
在这里插入图片描述
x=2,y=2
x=2,y=1
x=7,y=2
x=7,y=1
在这里插入图片描述
(四)位运算符
在这里插入图片描述
1.位运算符操作的都是整型数据
2.在一定范围内,左移一位相当于2,右移一位相当于/2
3.左移补0,右移原来为0补0,原来为1补1
4.无符号右移,无论最高位是0还是1,右移都填0
面试题:最高效的计算2
8 2<<3或者8<<1
5.这个地方的&|^都是位运算
在这里插入图片描述
对于异或运算: (m^n) ^ n---->m
(五)三元运算符
表达式一和表达式二,类型相同。
可以用三元运算符一定可以使用ifelse,反之不成立。如果都可以用,用三元,运算效率高。
(六)运算符的优先级
在这里插入图片描述

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值