Java基础语法
注释
注释不会执行,是给写代码的人看的。
-
单行注释
// 单行注释
-
多行注释
/* 可以注释一段文本 */
-
JavaDoc:文档注释
/** * */
标识符
- 所有的标识符都应带以字母(A-Z或者a-z),美元符$,下划线(-)开始
- 首字符以后可以是字母,美元符,下划线或数字的任何字符组合
- 不能使用关键字作为变量名或方法名
- 标识符是区分大小写的
- 可以使用中文命名,也可以使用拼音,但一般不建议使用
数据类型
-
Java强数型语言
- 要求变量的使用要严格符合规定,所用变量都必须先定义后才能使用
- 特点:安全性高,速度慢
-
java的数据类型分类
- 基本类型(primitive type)
- 应用类型(reference type)
long后面的整数要加上 l或L
float后面的浮点数要加上 f或F
数字之间可以用下划线分割
字符串char类型实际是数字,对应Unicode表
long num1=100l; float num2=10.1f; int num3=10_000_000;
-
整数拓展
二进制前面加0b,八进制前面加0,十六进制前面加0x
public class Demo01{ public static void main(String[] arge){ int i1=10;//十进制 int i2=0b10;//二进制 0b int i3=010;//八进制 0 int i4=0x10;//十六进制 0x } }
-
浮点数拓展
float和double是有限的,离散的,舍入误差,大约,接近不等于
-
转义字符
转义字符 | 含义 |
---|---|
\a | 响铃(BEL) |
\b | 退格(BS) ,将当前位置移到前一列 |
\f | 换页(FF),将当前位置移到下页开头 |
\n | 换行(LF) ,将当前位置移到下一行开头 |
\r | 回车(CR) ,将当前位置移到本行开头 |
\t | 水平制表(HT) (跳到下一个TAB位置) |
\v | 垂直制表(VT) |
\\ | 代表一个反斜线字符"" |
\’ | 代表一个单引号(撇号)字符 |
\" | 代表一个双引号字符 |
\? | 代表一个问号 |
\0 | 空字符(NUL) |
\ddd | 1到3位八进制数所代表的任意字符 |
\xhh | 十六进制所代表的任意字符 |
类型转换
-
由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。
低------------------------------------>高 byte,short,char->int->long->float->double
-
强制转换(类型)变量名 高–低
-
自动转换 低–高
-
注意点:
1.不能对布尔值进行转换
2.不能把对象类型进行转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题
变量
变量
-
Java是一种强数据类型的语言,每个变量都必须声明其类型。
-
Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型喝作用域。
-
注意事项
- 每一个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
变量作用域
-
局部变量
- 必须声明和初始化(放在方法中的变量)
-
实例变量
-
从属于对象
-
如果不自行初始化,输出为这个类型的默认值
-
数值型默认为 0 0.0
-
布尔型默认为false
-
除基本类型,其余的默认值都是null
-
-
-
类变量
- static 从属于这个类
- 可以直接在方法中引用类变量
常量
变量
- 常量初始化后不能再改变!不会变动的值
- 所谓常量可以理解成一种特殊的变量,他的值被设定后,在程序运行过中不允许被改变
- 常量名一般使用大写字符
变量的命名规范
- 所有变量,方法,类名:见名知意
- 类成员变量:首字母小写和驼峰原则:除了第一个单词以外,后面的单词首字母大写
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线
- 类名:首字母大写和驼峰原则
- 方法名:首字母小写和驼峰原则
运算符
- 算术运算符:+,-,*,/,%(求余),++,- -
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!=,instanceof
- 逻辑运算符:&&,||,!
- 位运算符:&,|,^,>>,<<,>>>
- 条件运算符:?,:
- 扩展赋值运算符:+=,-=,*=,/=
//
i++为i=i,i=i+1; ++i为i=i+1,i=i;(只简单理解)
//逻辑运算
A=0011 1100;
B=0000 1101;
A&B=0000 1100;//与运算
A|b=0011 1101;//或运算
A^B=0011 0001;//异或运算
~B=1111 0010;//非运算
2<<3=16//左移运算(移动一位相当于*2)
8>>2=2//右移运算(移动一位相当于/2)
//
a+=b;//a=a+b
//字符串连接符 +
a=10;
b=20;
System.out.pritln(a+b);
System.out.pritln(""+a+b);
System.out.pritln(a+b+"");
30
1020
30
//三元运算符
X?y:z//如果x==ture,则结果为y,否则结果为z。
-
运算符的优先级
优先级 描述 运算符 1 括号 () [] 2 正负号 + - 3 自增自减,非 ++ - - ! 4 乘除,取余 * / % 5 加减 + - 6 移位运算 << >> >>> 7 大小关系 > >= < <= 8 相等关系 == != 9 按位与 & 10 按位异或 ^ 11 按位或 | 12 逻辑与 && 13 逻辑或 || 14 条件运算 ?: 15 赋值运算 = += -= *= /= %= 16 位赋值运算 &= |= <<= >>= >>>=
包机制
-
为了更好地组织类。Java提供了包机制,用于区别类名的命名空间
-
包语句的语法格式为:
package pkg1[.pkg2[.pkg3]];
-
一般利用公司域名倒置作为包名
-
为了能使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可以完成此功能
import package1[.package2].(classname|*);
JavaDoc
-
Java命令是用来生成自己API文档的
-
参考信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出处理
/** *@author xiaoduan *@version 15 *@since 8 */
-
用IDEA生成JavaDoc文档