Java 基础语法
注释
单行注释 //
多行注释 /* */
文档注释 /** */
标识符和关键字
[外链图片转存中…(img-AOiV7Tin-1619954003713)]
所有的标识符都应该以字母(A-Z或者a-z),美元符号($),下划线(_)开始
不能使用关键字作为变量名或者方法名
标识符大小写敏感
数据类型
基本数据类型(primitive type)
- 数值类型
- 整数类型
- byte 1个字节(-128~127)
- short 2个字节(-32768~32767)
- int 4个字节(-2147483648~2147483647)
- long 8个字节(-9223372036854775808~9223372036854775807)
- 浮点类型
- float 4个字节
- double 8个字节
- 字符类型
- char 2个字节
- 整数类型
- boolean类型:1个字节,其值仅有true和false
引用数据类型(reference type)
- **类**
- **接口**
- **数组**
拓展
- 整数拓展
int i=10;
int i2=010;//八进制
int i3=0x10; //十六进制
- 浮点数拓展
float f=0.1f;//0.1
double d= 1.0/10;//0.1
System.out.println(f==d);//false
float d1=212424313231423f;
float d2=d1+1;
System.out.println(d1==d2);//true
浮点数是有限个数的、离散的、有误差的。
最好完全避免使用浮点数进行比较
- 字符拓展
char c1 = 'A';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);
//所有的字符本质上还是数字
char c3='\u0061';//使用Unicode编码表
System.out.println(c3);//a
类型转换
Java是强类型语言
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量时需进行强制转换:(类型)变量名,而从低到高时会自动转换
- 转换时可能存在内存溢出,或者精度问题
变量、常量、作用域
变量
Java是一种强类型语言,每个变量都必须声明其类型
Java变量是程序中的最基本的存储单位,其要素包括变量名,变量类型和作用域
变量分为:类变量、实例变量、局部变量
public class Variable{
static int a=0;//类变量
String str = "hello world";//实例变量:从属于对象,如果不自行初始化,这个类型将为默认值
//布尔值的默认值为false
//除了基本类型,其余的默认值都为null
public void method(){
int i = 0;//局部变量:使用时必须声明和初始化值
}
}
常量
常量(Constant): 初始化(initialize)后不能再改变值
一种特殊的变量,它被设定后,在程序运行过程中不允许被改变
final 常量名=值;
final double PI=3.1415926;
常量一般使用大写字符
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man
- 方法名:首字母小写和驼峰原则:run()
运算符
- 算术运算符:+、-、*、/、%、++、–
- 赋值运算符:=
- 关系运算符:>、<、>=、<=、==、!= instanceof
- 逻辑运算符:&&、||、!
- 位运算符:&、|、^、~、>>、<<、>>>
- 条件运算符:? :
- 扩展复制运算符:+=、-=、*=、/=
注意
int a=3;
int b=a++;//执行完这行代码后,先给b赋值,再自增
//a = a + 1;
System.out.println(a);//4
//a = a + 1;
int c=++a;//执行完这行代码前,先自增,再给b赋值
System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5
//短路运算
int c =5;
boolean d = (c<4)&&(C++<4);
System.out.println(d);//false
System.out.println(c);//5
//字符串连接符 +
int a=10;
int b=20;
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
包机制
-
为了更好的组织类,java提供了包机制,用于区分雷鸣的命名空间。
-
语法格式为
package pkg1[. pkg2[. pkg3...]];
-
一般利用公司的域名倒置作为包名
-
导入其他包
import package1[.package2...].(classname|*);
JavaDoc
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
需要详细了解的可以去搜索**狂神说Java**观看视频学习