Java语法
Java语法
- 注释、标识符、关键字
- 数据类型
- 类型转换
- 变量、常量
- 运算符
- 包机制、JavaDoc
注释
注释并不会执行
- 单行注释
//输出一个HelloWorld
-
多行注释
/* 注释 123 321 */
-
文档注释
/** *@Description HelloWorld *@Author */
标识符
所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_) 中文 开始
首字符之后可以有数字
标识符是大小写敏感的
可以使用中文命名,但是不建议
数据类型
变量的使用要严格符合规定,所有变量都必须先定义后才能使用
基本类型
-
byte 占1个字节范围:-128~127
-
short 占2个字节范围:-32768~32767
-
int 占4个字节范围:-2147483648~2147483647
-
long 占8个字节范围:-9223372036854775808~9223372036854775807
long num = 30L; //Long类型要在数字后面加个L以作区分
-
float 占4个字节 有限 离散 舍入误差 大约 接近但不等于
float num = 50.1F; //float类型要在数字后面加个F以作区分
-
double 占8个字节
-
char 占2个字节
char name = '嗨'; //字符不是字符串,只能存储一个字符
-
boolean 占1个字节 只有true和false两个取值
引用类型
- 类
- 接口
- 数组
不同进制的表示方式
- 二进制 0b
int i=10b;
-
十进制 正常表示
int i=10;
-
八进制 在数字前加0
int i=010;
-
十六进制 0x 0~9 A~F
int i=0x10;
字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1); //输出a
System.out.println((int)c1); //强制转换 输出a的ASCII码 97
System.out.println(c2); //输出中
System.out.println((int)c2); //强制转换 输出中的ASCII码20013
转义字符
\t //制表符
\n //换行
类型转换
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
运算中,不同类型的数据先转化为同一类型,然后进行运算。
优先级从低到高分别为
byte,short,char -> int -> long -> float-> double
int i = 128;
byte b = (byte)i;
//强制类型转换 (类型)变量名 高级->低级
int j = 127;
double k = j;
//自动转换 低级->高级
char c = 'a';
int d = c+1;
System.out.println(d); //输出98
System.out.println((char)d); //输出b
注意:
- 不能对布尔值进行转换。
- 不能把对象类型转换为不相干的类型(不能将int类型转换成String类型)。
- 在把高容量转换成低容量的时候,要强制转换。
- 转换的时候要考虑内存溢出或者精度问题。
- 在操作比较大的数的时候,注意溢出问题。
变量
注意:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
int a=1,b=2,c=3; //不推荐这样定义,最好是一行定义一个变量。
String name = "ctrl";
char x = "X";
double pi = 3.14;
变量作用域
- 类变量(static)
- 实例变量
- 局部变量
public class Variable{
static double salary=3000; //类变量,全局有效
String str; //实例变量,从属于对象,如没有初始化,则自动初始化这个类型的默认值
public void method(){
int i=0; //局部变量,只在这个方法内有效
Variable variable=new Variable();
System.out.println(salary); //输出3000.0
System.out.println(variable.str); //输出null
}
}
变量的命名规范
- 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man, GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()
常量
初始化后不能再改变值
常量名一般使用大写字符
//final 常量名=值;
final double PI = 3.14;
final static MAX_VALUE = 100;
运算符
Java语言支持如下运算符:
- 算术运算符
+ - * / % ++ --
如果两个相运算的常量或变量优先级比int小,一般+ - *的返回类型为int,如果大,则为最大的那个类型
byte a=10;
short b=10;
System.out.println(a+b); //结果为int型
double c=100;
int d=100;
System.out.println(c+d); //结果为double型
++ 自增 -- 自减 一元运算符
int a=3;
int b=a++; //相当于a = a + 1 加号在后就是先赋值再加1
int c=++a; //加号在前就是先加1再赋值
System.out.println(a); //输出5
System.out.println(b); //输出3
System.out.println(c); //输出5
System.out.println(a); //输出5
- 赋值运算符
=
- 关系运算符
> < == != >= <=
结果返回布尔值
- 逻辑运算符
&& || !
有短路运算,b&&a
,若b为假,则不再判断a的真假,直接出结果false
- 位运算符
& | ^ ~ >> << >>>
与 或 异或 取反 右移(相当于/2) 左移 (相当于*2)
- 条件运算符
? :
x ? y :z //如果x==true,则结果为y,否则结果为z
- 扩展赋值运算符
+= -= *= /=
a+=b; //相当于a=a+b
a-=b; //相当于a=a-b
a*=b; //相当于a=a*b
a/=b; //相当于a=a/b
- 字符串连接符
+
只要两边有一边是String类型,则进行连接运算(但是是从左到右运算的,所以说"A"+1+2结果就会是 A12,1+2+"A"结果是3A)
包机制
包的本质就是一个文件夹,一般利用公司域名倒置作为包名。
包语句的语法格式为:
package pkg1[.pkg2[.pkg3…]];
package com.grammar.operator;
package语句必须放到代码的最上方
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包,使用import语句可完成此功能
import package1[.package2…].(classname|*);
import com.grammar.*; // *表示导入这个包下的所有类
JavaDoc
JavaDoc命令是用来生成自己API文档的
参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param参数名
- @return 返回值情况
- @throws 异常抛出情况
举个例子
/**
* @author 86195
* @version 1.0
* @since 1.8
*/
public class Doc {
String name;
/**
*
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
}
}
拓展:如何在IDEA中生成javadoc文件
-
创建一个存放javadoc的文件夹。
-
打开IDEA菜单栏的Tools,选择Generate JavaDoc...,来到如下界面
-
在output directory中选择我们刚才建立的存放JavaDoc的文件路径
-
在Locale和其它命令行参数输入如下代码,以防中文带来的乱码
Locale:zh_CN
Other commad line arguments:-encoding UTF-8 -charset UTF-8
-
点击Generate
-
查看javadoc时查看index.html文件