Java基础语法
注释
-
单行注释:
//
-
多行注释:
/* */
-
文档注释:JavaDoc
/** * @Description * @Author */
标识符和关键字
标识符
- 定义1:类名、变量名以及方法名都被称作标识符;
- 定义2:以字母(A-Z或a-z)、美元符($)或者下划线(_)开始;
- 定义3:首字符之后可以是字母、美元符、下划线或数字的任意字符组合;
- 定义4:不能使用关键字作为变量名或方法名;
- 定义5:标识符是大小写敏感的;
关键字
数据类型
基本数据类型
基本类型 | 大小 | 包装器类型 |
---|---|---|
boolean | - | Boolean |
char | 16-bits | Character |
byte | 8-bits | Byte |
short | 16-bits | Short |
int | 32-bits | Integer |
long | 64-bits | Long |
float | 32-bits | Float |
double | 64-bits | Double |
- 定义long类型数据,值后加L:
long num = 30L;
//num = 30,其数据类型为long
- 定义float类型数据,值后加F:
float num = 50.1F;
//num = 50.1,其数据类型为float
- 整数拓展:
//进制 二进制0b 十进制 八进制0 十六进制0x
int i1 = 10;//十进制
int i2 = 010;//八进制
int i3 = 0x10;//十六进制
- 浮点数拓展:
float f = 0.1f;//f=0.1;
double d = 1.0/10;//d=0.1;
System.out.println(f==d);//false
//原因:float是有限且离散的,具有舍入误差,其值是接近但不等于的
//对浮点数进行比较一般使用BigDecimal类创建浮点数对象
- 字符拓展:
char c1 = a;
System.out.println(int(c1));//强制转换,输出97,ASCII值
- 转义字符:
// \t 制表符
// \n 换行符
引用数据类型
- 定义:已定义的类、接口或数组都可被引用并创建新的数据对象,如上节中的包装器类型,常用的String类型等等,需要创建对象再使用,如:
String name = new String("朝小闇");
类型转换
强制类型转换
- 从高容量转换到低容量
int i = 128;
byte b = (byte)i;//强制转换,内存溢出
System.out.println(b)//输出-128,内存溢出
//JDK7新特性,数字之间可以用 _ 分割,且不会被输出
int money = 10_0000_0000;
System.out.println(money);//输出1000000000;
自动类型转换
- 从低容量转换到高容量
char c = 'a';
int d = c+1;
//无内存溢出现象
int money = 10_0000_0000;
int years = 20;
int total = money*years;//-1474836480,计算的时候溢出了;
long total2 = money*years;
//因为money和years都是int类型,右边表达式在计算结束时还是int,再自动类型转换成long型,但是实际上已经发生了内存溢出
//解决方式,将其中一个数据提前转换为long类型
int total3 = money*((long)years);
//short、byte类型变量运算之后默认自动转换为int型
变量、常量、作用域
变量
- 定义1:每个变量都有类型,类型可以是基本数据类型,也可以是引用数据类型;
- 定义2:变量名必须是合法的标识符;
- 定义3:变量声明是一条完整的语句,必须以分号结束;
- 注1:java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域;
局部变量
- 必须定义和初始化;
- 作用域仅在所定义类内部;
实例变量
- 从属于对象,未初始化时默认值为0、0.0、null或者false;
- 只有实例化对象之后才会创建出变量,且对每一个实例变量而言,每一个对象都有一个独立的该实例变量;
类变量(静态变量)
static double salary = 2500;
//static、final、public等修饰符不区分先后顺序
- 关键字static;
- 只要该类被定义,会直接初始化,不需要等待创建对象引用,且对于父类而言该变量唯一;
常量
- 关键字final,不可变化;
- 常量名一般使用大写字符;
- 同static;
命名规范
- 类名:首字母大写和驼峰原则;
- 方法名、变量名:首字母小些和驼峰原则;
- 常量:大写字母和下划线;
作用域
- 变量的作用范围,离开此范围不可调用;
运算符和Math数学类
运算符
- 连接符“+”:
int a =10;
int b = 20;
//下面的""是空字符串
System.out.println(""+a+b);
//遇见字符串,符号+就会变成字符串连接符,输出为1020
System.out.println(a+b+"");
//先输出a+b,再输出"",即输出为30
- 运算符“ ? :”:
// x ? y : z
//if x == true,则输出y,否则输出z
Math数学类
Math.pow(3,2)//3^2;
包机制、JavaDoc生成文档
包机制
- 命名规范:一般利用公司域名倒置为包名,package,且放在代码最上方;
- 引入另一个包中类:import
JavaDoc
-
用来生成自己的API文档
-
参数信息:
/**
*@author 作者名
*@version 版本号
*@since 指明需要最早使用的jdk版本
*@param 参数名
*@return 返回值情况
*@throws 异常抛出情况
*/
- 加在类前即为类注释,加在方法前即为方法注释
- 使用IDEA生成JavaDoc文档,请参考链接:https://blog.csdn.net/weixin_42140580/article/details/89635775
附:IDEA基础使用
创建新工程
- 新建Empty Project工程
- File->New->Module
- 新模块中创建新java文件
- File->Project Struture->Project,设置SDK并设置语言版本,1.8匹配语言8
快捷键
- 输入类名各首字母集合可直接调用类,如:
//输入psvm回车则有public static void main(){}
//输入sout回车则有System.out.println();
- 百度"IDEA优化",设置一些常用便捷属性;
- Ctrl+D,直接复制该行到下一行
创建新工程
- 新建Empty Project工程
- File->New->Module
- 新模块中创建新java文件
- File->Project Struture->Project,设置SDK并设置语言版本,1.8匹配语言8
快捷键
- 输入类名各首字母集合可直接调用类,如:
//输入psvm回车则有public static void main(){}
//输入sout回车则有System.out.println();
- 百度"IDEA优化",设置一些常用便捷属性;
- Ctrl+D,直接复制该行到下一行