001
1、java环境变量:
PATH:用于指定操作系统可执行命令的路径
也就是让系统无论在哪个路径下都能执行java和javac命令
2、一个源文件中最多只能有一个public的class类
3、main方法是Java程序的入口方法
4、源文件名称必须与其定义的public的class名称相同
5、Javac—Java编译器:用于将源文件编译成字节码(.class)文件
Java—Java运行时的解释器:用于加载并运行字节码文件中含main()方法的类
Java api—Java应用程序编程接口
--------------------------------------------------------------
002
1、三种注释方法://单行注释
/*多行注释*/
/**文档化注释*/
2、标识符:用于给变量、类和方法命名,以字母、下划线_、或者美元符$开头
3、基本数据类型:
整型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)
Java中整型变量默认为int型,声明long类型常量可以在后面加“l”或“L”
浮点型:float(4字节)、double(8字节)
Java中浮点型常量默认为double型,声明float类型常量可以在后面加“f”或“F”
字符型:char(2字节)
布尔型:boolean(1字节)只允许取值true或false
引用数据类型:接口、数组、类、枚举
4、定义一个常量时,常量的名称大写,前面要加final修饰
5、全局变量默认初始化,局部变量必须初始化之后才能使用
--------------------------------------------------------------
003
1、类型转换的两种方式:隐式转换和强制转换
2、不同数据类型的运算对象进行运算,结果的数据类型由高精度的运算对象决定。
精度的高低:double>float>long>int。
整个表达式结果的数据类型与表达式中出现的精度最高的数据相同。
浮点型数据加整型数据符合自动转换规范。
自动转换规则是“低类型”数据向“向类型”数据看齐。
3、double型转float型会损失精度,float型转double型精度会增加
4、float f3=1.23f;
long l1=123;
long l2=30000001;
double xxx=1.0;
float f=l1+l2+f3; 此处正确写法为double f = l1+l2+f3;
l1+l2+f3默认为double型,之所以可以赋值给float型是因为此处运算中没有涉及到double类型
默认可以转换为double类型,但并非一定会转为double类型。
这是类型转换问题,与默认类型没有关系。
5、算术运算符:+加 -减 *乘 /除 ++自增 --自减 %取余
i++:++在后表示先赋值再自增
++i:++在前表示先自增再赋值
i--:--在后表示先赋值再自减
--i:--在前表示先自减再赋值
--------------------------------------------------------------
004
1、关系运算符:>大于 <小于 >=大于等于 <=小于等于 ==等于 !=不等于
2、&&短路与和&逻辑与
&:从左到右依次判断,直到结尾(逻辑全程运算)
&&:从左到右依次判断,直到出现false为止将不再判断,直接得到结果为false(短路遇false就停)
||短路或和|逻辑或
|:从左到右依次判断,直到结尾
||:从左到右依次判断,直到出现true为止将不再判断,直接得到结果为true
3、位运算符:~按位取反
&按位与,同为1则为1,否则为0
|按位或,同为0则为0,否则为1
^按位异或,相同为0,否则为1
>>右移运算
<<左移运算
位移运算符是将数据看作二进制数,对其进行向左或向右移动若干位的运算
4、三目运算符: x?y:z
x为boolean类型的表达式,若x为true则三目运算的结果为y,否则为z
5、(重要题目)求闰年三种方法
--------------------------------------------------------------
005
1、byte b2 = (byte)360;//b2=104
将360转换为二进制,截去超过127的部分之后为104
2、两大分支语句:if-else语句、switch语句
switch语句中可以放byte、short、int、char、string和枚举类类型
三大循环语句:for、do...while、while
for循环和while循环第一次都需要先判断表达式值,而do...while循环第一次不需要判断表达式的值
--------------------------------------------------------------
006
1、(重要题目)判断一个数是否为素数
打印*
--------------------------------------------------------------
007
1、break语句:用于终止switch语句或者循环语句的执行
当break语句执行之后,不但结束了循环,本次循环中break之后的语句也不再执行
break语句只是结束了其所在的循环体
可以在循环语句之前加上标签(格式为:标识符:)来跳出多层嵌套循环中的指定循环
2、continue语句:用在for、while、do...while语句中的子语句块中
用于终止本次循环,并开始下一次循环(与break语句完全跳出循环不同)
3、return:用于结束一个方法或者结束当前方法的同时返回一个具体的数据
一旦在循环体内执行到一个return语句,return语句将会结束该方法,循环自然也随之结束
与continue和break不同的是,return直接结束整个方法,不管这个return处于多少层循环之内
4、(重要题目)输出一个数的二进制表示中1的个数 //利用循环语句、位移运算符、按位与运算符
--------------------------------------------------------------
008
1、方法的定义:
public static 返回类型 方法名称([参数类型 变量, ......]) {
方法体代码;
[return [返回值];]
}
其中方法的返回值有两类:void:无返回值,可以不使用return返回内容,但是可以使用return结束方法调用。
数据类型(数据类型、引用类型),如果方法设置了返回值,必须使用return语句返回与之数据类型对应的数据
2、Java10新特性:var类型推断 如var javastack = "abc";可自动推断出javastack为sring类型