一、注释
Java中注释有三种:
- 单行注释://
- 多行注释:/* 注释 */
- 文档注释:/** */ javadoc命令是用来生成自己的API文档
- 相关参数:
@author 作者名
@version 版本号
@since 需要的jdk版本
@param 参数名
@throws 异常抛出情况
@return 返回值情况
二、标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
- 所有的标识符都应该以字母(大小写)、$或者下划线开始
- 首字符之后可以是字母(大小写)、$、下划线或数字的任何字符组合
- 不能使用关键字作为变量名和方法名(应该不会有人会这样做吧)
- 标识符的大小写是敏感的。
三、数据类型
首先应该简单理解何为强类型语言和弱类型语言
1.强类型语言
一种强类型定义的语言,它要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
2.弱类型语言
一种弱类型定义的语言,变量可以根据环境变化自行转换类型,不需要经过显式转换。它与强类型语言相反
3.强类型语言的安全性上升了,代价就是速度下降了;弱类型语言与之相反
然后是两大类型
- 基本类型
- 数值类型
- 整数类型:byte、short、int、long
- 浮点类型:float、double
- 字符类型:char
- boolean类型:占1位,值只有ture和false两个
- 数值类型
- 引用类型
- 类
- 接口
- 数组
最后是一点点小拓展
-
关于整数的拓展:
进制在java中的表示:二进制0b ; 八进制0 ; 十六进制0x -
关于浮点数的拓展:
浮点数是有限的,离散的,它一般会舍入误差,接近但不等于浮点数是不可以直接比较大小的,因为是非精确存储,只能设置一个精度,然后在允许误差内的就认为是相等的;对浮点型数比较的时候用==是不对的
public class Demo01 {
public static void main(String[] args) {
float f=0.1f;
double d=1.0/10;
System.out.println(f==d);//false
float a=12121212122f;
double b=a+1;
System.out.println(a==b);//true
}
}
所以最好完全避免使用浮点数进行比较
-
关于字符的拓展:
字符的本质还是数字,可以通过Ascll和Unicode找到与之相对应的数字,也可以通过数字得到想要的字母或者其他文字下面的代码为什么前两个位false后两个为ture?
String sa = new String( original:"hello world");
String sb = new String( original:"hello world");
System.out.println(sa==sb);
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);
四、类型转换
- 强制转换: (类型)变量名 高–低
byte,short,char -> int -> long -> float -> double
其中会遇到的问题
public class change {
public static void main(String[] args){
int i = 128;
byte b = (byte)i;//内存溢出
}
}
内存溢出后得到的结果为-128,因为byte的值在-128~127之间,溢出后将进行循环
- 自动转换 低–高
ps:需要特别注意的是:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题
五、变量与常量
-
变量:可以变化的量
(1)类变量 (如static):随类的出现而出现,随类的消失而消失,可以直接访问
(2)实例变量:从属于对象;如果不自行初始化,输出这个类型的默认值。1
(3)局部变量:只能在局部使用(括号内),必须进行生声明和初始化 -
常量:初始化后不能再改变值!不会变动的值。它是一种特殊的变量
final 常量名 = 值 ;
final double PI = 3.14 ;
常量名一般使用大写字符
//其中final属于修饰符,放置位置不分前后
static final double salary = 500;
==============================================
final static double salary = 500;
- 变量的命名规范
- 类成员变量:首字母小写和驼峰原则 -----monthSalary
- 局部变量:首字母小写和驼峰原则 -----monthSalary
- 常量:大写字母和下划线 -----MONTH_SALARY
- 类名:首字母大写和驼峰原则 -----MonthSalaty
- 方法名:首字母小写和驼峰原则 -----monthSalary()
六、包机制
为了更好的组织类,Java提供了包机制,用于区别类名的命名空间
包语句的语法格式为:
package pkg1 [ .pkg2 [ .pkg3…] ] ;
一般利用公司域名倒置作为包名(如com.baidu.www);
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用 " import " 语句可完成此功能:
import package1 [ .package2…] . ( classname | * ) ;
ps:学会查找使用idea生产javadoc文档
https://www.cnblogs.com/wuxxxlgiteeio/p/15784705.html
七、另
自己记的各种小小小小技巧:
- 在数字中加入下划线进行分割可以一眼看出数字大小和位数并且下划线不会被输出,例如:
public class Demo01 {
public static void main(String[] args) {
//JDK7新特性 ,数字之间可以用下划线分割
int money = 10_0000_0000;
System.out.println(money);
}
}
- Ctrl + D :复制当前行到下一行
- psvm、sout
- 切换盘符-----‘盘’+‘:’ (例如)
切换到C盘------C:
切换到D盘------D:
切换到E盘------E: - 查看当前目录下的所有文件------dir
- 进入同目录下的文件------‘cd’ + ’ ’ + ‘文件名’
返回上一级------‘cd’ + ‘…’
布尔值:默认是false
除了基本类型,其余的默认值都是null; ↩︎