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,反之不成立。如果都可以用,用三元,运算效率高。
(六)运算符的优先级
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值