注释
解释自己写的东西,需要有好习惯。
//表示单行注释
/+*(内容)星+/ :多行注释,快捷键ctrl+shift+/
/**
标识符
编码习惯很重要!
标识符中class表示类
main 即方法 表示变量的方法(8月8更新:public表示该类的类名于该类所在的文件名必须相一致,public static void main (String args[]);其中,程序执行是从main方法开始,所以main方法也叫JAVA程序的入口,String args[]是传递函数给main()方法的参数,是一个字符串数组。他接收命令行作为参数。)
所有标识符都应该以字母,$或_ 开始
后面可以跟字母,$或_
标识符是大小写敏感的 大小写是不一样的
保留字
保留字是java内部定义的术语名称,具有专门的意义和用途,不能当一般的标识符使用,保留字如下:
分隔符
分隔符好于分开两个不同的语法成分
- 空格:用于保留字,标识符之间的分隔。
- 英文分号:用于语句之间的分隔。
- 英文逗号:用于数据之间的分隔。
- 其他分隔符:(),{},[]等
变量
就是对一个变量下定义,java是强类型语言,对每一个变量都必须声明其类型
JAVA变量是程序中最基本的储存单元,主要由变量名,变量类型和作用域构成
如 int a=10
- 变量类型:
- 局部变量:只能在main方法下使用在这个{}内使用 在局部变量中定义的东西,可以拿来直接用
- 实例变量:从属于对象;String name;
- 在实例变量中,定义了一个东西,需要别的东西来定义,如果没有对 实例变量进行定义,则会为系统默认值
- 数值型变量则为0或0.0;
- 字符传变量为u0000(十六位的000)
- 布尔值默认是false
- 除了基本类型其他的类型都是null
常量
常量(contant)一般初始化定义过后则不再改变了
final 常量名(一般大写)= 10
数据类型——基本类型 这些都是关键字
-
byte(1个字节)-128-127
-
short(2个字节)-32768-32767(+2进制15位=+32767)3万多整数
-
char(定义字符的 占2个字节) 3万多整数 注:char 定义只能定义一个字,或者单词多一位都不可以
-
int到(4个字节) 21亿的整数
-
long(后置L表示)(8个字节) 如LONG b=30L
-
float(浮点类型4个字节后要加F) float c=3.14F
-
double(浮点类型8个字节)
-
int a=0b10 (二进制的10) 输出为10
-
int a=010(八进制的10) 输出为8
-
int a=0x10(16进制的10) 输出为16
-
浮点数 float double 是大约数 不能准确
浮点数不能去比较
引用类型
除了基本类型都是引用类型,sting——定义字符串(就是可以定义几个字)这种就是类,不是关键字
有类,接口,数组
关于字节:
1bit(位)=8byte 即1B=8b
1024B=1KB
1024KB=1M
1024M=1G
1024G=1T
强制转换和自动转换
- 强制转换:(类型)变量名 由高位到低位 例如把int b=100, byte c=(byte) b 强制将四个字节的int转换到1个字节的byte
- (一个字节byte=8bit位)1位是按2进制算的 所以1 1111111(二进制七位=+127到 -(127+1)=-128)
- 自动转换:由低到高,java自动转换
- 注意,不能对布尔进行转换(1位,不能转换)只有true和false 表示真假
- 转换的时候可能出现内存溢出或者精度问题
byte short (char) int long float double小数优先级>整数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ifPaxOok-1659944795314)(G:\编程截图\7IU5FQ]`6KQ@}I1ELKYO52I.png)]
注: long c = a×b 时候 是先处理了 a×b 然后在将int 型转为long 型
所以 a×b的时候 已经超过21亿了 所以 转long型后结果也是错的 正确应该是 在ahuob 相乘之前 把A或B转为long 型 然后java 自动由低转高 就输出成功
书写规范问题
- 类名:首字母大写+驼峰原则(每个单词字母大写) :HelloWorld
- 所有成员变量和局部变量:首字母小写+驼峰原则:lastName
- 常量:大写字母和下划线分割:MAN_SIZE
- 方法名:首字母小写+驼峰原则:mainRun
- 注:以上所有变量 方法名 类名 要做到 见名知意
对于加减乘除
- +,-,*,/,
- ++(自增)int b=a++ 是指先把a赋值给b,再a+1;int b=++a,先a+1在赋值给b (JAVA符号位置都有逻辑顺序的)
- –(减减),同理
- (java里面是等于,!=(不等于),%(取模,a%b就是 a/b…c取余数c)
- 幂运算 Math. 找到pow类 2^3即 Math.pwo.(2,3)
- java运算后会默认输出值为int类型,如果有比int类型高的关键字比如long,double则用高字型
位运算符
- 是对于A=0010 0011 B=0010 0101 这种以位为基础的运算
- A&B :同位都1得1,反之为0(与)
- A|B:同位有1得1,反之为0(或)
- ~B : 把所有位取反(取反)
- A^B:同为相同为1,不同为0(异或 )
- 《:左移 把右边一位的数向左移一位(相当于*2)
- 》:右移 把左边一位的数向右移一位(相当于/2) 位运算相比于普通的乘除运算效率要高很多(主要用于计算机底层计算)
字符串连接符
对于有string类字符串的连接符来说, 当输出时候含有字符串类型时,输出则自动转换成字符串类型。注:要注意JAVA符号的逻辑顺序,字符串类型放前面则输出字符串类型,放后面则输出数字型。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V0YaXuBp-1659944795314)(G:\编程截图\7U@MR%THV8D`0$MTO0XQ72Y.png)]
三元运算符
public class J1 {
public static void main(String[] args) {
int sore = 80;
String type = sore >60? "不及格":"及格";
System.out.println(type);
}
}
G:\JDK\bin\java.exe "-javaagent:G:\IDEA\IntelliJ IDEA Community Edition 2022.2\lib\idea_rt.jar=50315:G:\IDEA\IntelliJ IDEA Community Edition 2022.2\bin" -Dfile.encoding=UTF-8 -classpath G:\IDEA\untitled\out\production\untitled Base.J1
不及格
Process finished with exit code 0
注:注意字符串类String为首字母大写,注意规范,要不然找不到字符串类。
JAVA的优先级:java优先运算()内的
包机制
类似于文件夹的作用,一般将公司域名倒置作为包名字:com.jie.www
定义包:package
引用包:import
补充(8月8日更新):在翻看《JAVA面向对象程序设计基础教程里面》有更详细的解释,包可以有字包,语法格式如下:
package包1[.包2];表示包2是包1的子包。
JAVADOC
生成自己的文档
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0uFiNCHO-1659944795315)(G:\编程截图\1659856814910.jpg)]
用于生成自己的API文档
作业:学会用IDEA 生成JAVADoc
完成情况:
- 找到IDEA中tool 然后找到 generate DOC
- JAVADOC scope指的是 生成DOC的范围 是project 还是 class 或者也可以自定义范围
- locale:语言 zh_CN
- Command line arguments :命令行参数 -encoding UTF -8 chareset UTF-8
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n0j7X6rM-1659944795315)(G:\编程截图\a646819c63db8ae9c262804b62f6829.jpg)]
找到.html格式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qFWCtgyn-1659944795315)(G:\编程截图\1659857320991.jpg)]
是 class 或者也可以自定义范围
3. locale:语言 zh_CN
4. Command line arguments :命令行参数 -encoding UTF -8 chareset UTF-8
[外链图片转存中…(img-n0j7X6rM-1659944795315)]
找到.html格式
[外链图片转存中…(img-qFWCtgyn-1659944795315)]