java基础
java三大版本
-
JavaSE:标准版(桌面程序,控制台开发…)
-
JavaME:嵌入式开发(手机,小家电…)
-
JavaEE:企业级开发(web端,服务器开发…)
JDK、JRE、JVM
JDK:java development kit
JRE:Java Runtime Environment(java运行环境)
JVM:Java Virtual Machine
注释
-
单行注释
-
多行注释
-
文档注释
/** * 文档注释 * */
标识符
所有标识符都应该以字母(A-Z或a-z),美元符$、下划线_开始。
数据类型
强类型语言:要求变量的使用要严格符合规定,所有变量必须先定义才能使用。
基本类型:
- byte:占1个字节,范围:-128~127
- short:占2个字节,范围:-32768~32767
- int:占4个字节,范围:-2147483648~2147483647
- long:占8个字节,范围:-9223372036854775808~9223372036854775807
- float:占4个字节
- double:占8个字节
- char:占2个字节
- boolean:占1个位
ASCII、Unicode和UTF-8编码的区别:
编码 | 大小 | 支持语言 |
---|---|---|
ASCII | 1个字节 | 英文 |
Unicode | 2个字节(生僻字4个) | 所有语言 |
UTF-8 | 1-6个字节,英文字母1个字节,汉字3个字节,生僻字4-6个字节 | 所有语言 |
public class Demo {
public static void main(String[] args) {
//数值:整数
byte num = 10;
long num1 = 30L; //long类型要在数字后面加个L
//数值:小数,浮点数
float num3 = 3.4F;//float类型要在数字后面加个F
double num4 = 3.4534534546563;
}
}
1B(字节,byte) = 8bit(位)
拓展:
public class Demo {
public static void main(String[] args) {
//整数拓展:进制
int i=10;
int i1 = 0b10;//二进制0b
int i2 = 010; //八进制0
int i3 = 0x10; //十六进制0x
//浮点数拓展: 银行业务怎么表示?钱
// 使用BigDecimal 数学工具类
//float 有限 离散 有舍入误差 表示大约,接近但不等于
//double
//最好不要用浮点数进行比较
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d); //输出false ?
//字符拓展
// 所有字符本质上还是数字
// 编码 Unicode 占2字节 区间范围 U0000~UFFFF
char c = 'a';
System.out.println((int)c); //强制转换
char c1 = '\u0061'; //a 转义
// 转义字符
// \t 制表符
// \n 换行
//...
String s1 = new String("HHHH");
String s2 = new String("HHHH");
System.out.println(s1==s2);//false 引用类型比较地址值
String s3 = "HHHH";
String s4 = "HHHH";
System.out.println(s3==s4);//true 基本类型比较值是否一样
//布尔值扩展
boolean flag = true;
if(flag==true){}
if(flag){} //和上句意思一样
}
}
类型转换
顺序:byte,short,char–>int–>long—>float–>double
强制转换:(类型)变量名 高–>低
自动转换:低–>高
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在高容量转换为低容量的时候,强制转换
- 转换的时候可能会存在内存溢出(高–>低)、或精度问题(浮点数强制转换为int会将小数点后的数字丢弃)
操作比较大的数字的时候,注意溢出问题
低于int的类型进行计算,结果自动转换为int类型
变量
- 类变量 :放在类中,前面要加
static
- 实例变量:放在类中,不用加其他东西
- 局部变量:放在方法中
常量:final 常量名=值,被设定值后,不允许改变,常量名一般使用大写字符
public class Demo {
//类变量
static double d = 2.1;
//类似static的修饰符,不存在先后顺序
static final double PI = 3.14;//常量
//实例变量:从属于对象;
// 如果不自行初始化,类型默认值 0, 0.0 ,false
// 除了基本类型,其余默认值皆为null
String name;
public static void main(String[] args) {
Demo demo = new Demo();
System.out.println(demo.name); //需要先new,才可以使用,输出null
System.out.println(d);//可直接使用
}
}
驼峰原则:除第一个单词首字母小写外,后面的单词首字母大写,例如:lastName
命名规则:见名知意
- 常量命名有大写字母和下划线组成
- 类名首字母大写和驼峰原则
- 其他都要遵循首字母小写和驼峰原则
Ctrl+D:复制当前行代码到下一行
public class Demo {
public static void main(String[] args) {
//出现string类型,后面就会按照string类型进行连接
int a = 10;
int b = 20;
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
}
}
JavaDoc生成文档
/**
* @author GuanPing
* @creat 2021/7/23 15:56
* @version 1.0
* @since 1.8 (指明的最低jdk版本号)
*
*/
public class Demo {
/**
*
* @param name
* @return
* @throws Exception
*/
public String test (String name) throws Exception{
return name;
}
}
DOS命令生成帮助文档:在该路径下的cmd上输入javadoc -encoding UTF-8 -charset UTF-8 XXX.java
idea生成Javadoc文档: