Java基础语法
Java基础语法
注释
书写注释是一个非常好的习惯
平时写代码一定要注意规范
-
单行注释 //
-
多行注释 /* 注释 */
-
文档注释 /** 注释 */
标识符
-
关键字:
1、abstract - 表明类或者成员方法具有抽象属性
2、assert - 断言,用来进行程序调试
3、boolean - 基本数据类型之一,声明布尔类型的关键字
4、break - 提前跳出一个块
5、byte - 基本数据类型之一,字节类型
6、case - 用在switch语句之中,表示其中的一个分支
7、catch - 用在异常处理中,用来捕捉异常
8、char - 基本数据类型之一,字符类型
9、class - 声明一个类
10、const - 保留关键字,没有具体含义
11、continue - 回到一个块的开始处
12、default - 默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现
13、do - 用在do-while循环结构中
14、double - 基本数据类型之一,双精度浮点数类型
15、else - 用在条件语句中,表明当条件不成立时的分支
16、enum - 枚举
17、extends - 表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口
18、final - 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,
用来定义常量
19、finally - 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
20、float - 基本数据类型之一,单精度浮点数类型
21、for - 一种循环结构的引导词
22、goto - 保留关键字,没有具体含义
23、if - 条件语句的引导词
24、implements - 表明一个类实现了给定的接口
25、import - 表明要访问指定的类或包
26、instanceof - 用来测试一个对象是否是指定类型的实例对象
27、int - 基本数据类型之一,整数类型
28、interface - 接口
29、long - 基本数据类型之一,长整数类型
30、native - 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
31、new - 用来创建新实例对象
32、package - 包
33、private - 一种访问控制方式:私用模式
34、protected - 一种访问控制方式:保护模式
35、public - 一种访问控制方式:共用模式
36、return - 从成员方法中返回数据
37、short - 基本数据类型之一,短整数类型
38、static - 表明具有静态属性
39、strictfp - 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范
40、super - 表明当前对象的父类型的引用或者父类型的构造方法
41、switch - 分支语句结构的引导词
42、synchronized - 表明一段代码需要同步执行
43、this - 指向当前实例对象的引用
44、throw - 抛出一个异常
45、throws - 声明在当前定义的成员方法中所有需要抛出的异常
46、transient - 声明不用序列化的成员域
47、try - 尝试一个可能抛出异常的程序块
48、void - 声明当前成员方法没有返回值
49、volatile - 表明两个或者多个变量必须同步地发生变化
50、while - 用在循环结构中
-
标识符:
-
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
-
所有的标识符都应该以字母(A - Z 或者 a - z),美元符 ($) 、下划线 ( _ ) 开始
-
首字符之后可以是字母(A - Z 或者 a - z),美元符 ($) 、下划线 ( _ ) 或数字的任何字符组合
-
不能使用关键字作为变量名或方法名
-
标识符是大小写敏感的
-
合法标识符举例:age、getAge、$salary、_value、__1_value
-
非法标识符举例:123abc、-salary、#abc
-
可以使用中文命名,但不建议使用!
-
数据类型
-
强类型语言
-
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
-
安全性高
-
速度慢
-
-
弱类型语言
-
Java的数据类型分为两大类
-
基本类型(primitive type)
-
引用类型(reference type)

-
字节
-
位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数。
-
字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写 B 来表示
-
1B = 8 bit
-
字符:是指计算机中使用的字母、数字、字和符号,一个汉字占两个字节
-
1024B = 1KB
-
1024KB = 1M
-
1024M = 1G
-
public class Demo01 { public static void main(String[] args) { // 整数拓展: 进制 二进制0b 十进制 八进制0 十六进制 int i1 = 10; int i2 = 0b10; int i3 = 010; int i4 = 0x10; System.out.println(i1); System.out.println(i2); System.out.println(i3); System.out.println(i4); System.out.println("================"); // 浮点数拓展? 银行业务怎么表示?钱 // BigDecimal 数学工具类 // float 有限 离散 舍入误差 大约 接近但不等于 // double // 最好完全使用浮点数进行比较 float f = 0.1f; double d = 1.0/10; System.out.println(f==d); //false float d1 = 23153212132132f; float d2 = d1 + 1; System.out.println(d1==d2); //true double dd = 0.1 + 0.2; System.out.println(dd); //0.30000000000000004 System.out.println("=================="); //字符拓展 char c1 = 'a'; char c2 = '中'; System.out.println(c1); System.out.println((int)c1); //强制转换 System.out.println(c2); System.out.println((int)c2); //所有的字符本质还是数字 //编码 Unicode 表:(97 = a, 65 = A) 2字节 0 - 65536 //Excel 2的16次方 = 65536 //U0000 UFFFF char c3 = '\u0061'; System.out.println(c3); //转义字符 // \t 制表符 // \n 换行 // \" " //布尔值拓展 boolean flag = false; if (flag){ // Less is More! 代码要精简易读 } } }
类型转换
-
运算中,不同类型的数据线转化为同一类型,然后进行运算
-
自动类型转换(隐式转换)
-
强制类型转换
注意点:
-
注意内存溢出问题和精度问题
-
不能把布尔值进行转换
-
不能把对象类型转换为不相干的类型
变量
-
变量就是可以变化的量!
-
Java是一种强类型语言,每个变量都必须声明其类型。
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
注意:
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
-
变量名必须是合法的标识符。
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
变量作用域
-
类变量:static 修饰,从属于类
-
实例变量:写在类里面、方法外面,从属于对象
如果不自行初始化,则赋值这个类型的默认值 0 0.0
布尔值:默认是false
除了基本类型,其他的默认值都是null
-
局部变量:必须声明和初始化,写在方法内或代码块内
常量
-
常量(Constant):初始化(initialize)后不能再改变值!不会变动的值,用 final 修饰。
-
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
-
常量名一般使用大写字符
final MIN_VALUE = 10;
final static MAX = 9999; // 静态常量
变量的命名规范
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰原则:monthSalary
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则:People, GoodMan
-
方法名:首字母小写和驼峰原则:run(), getAge()
运算符
-
算数运算符:+,-,*,/,%,++,--
-
赋值运算符:==
-
关系运算符:>,<,>=,<=,!=
-
逻辑运算符:&&,||,!
-
位运算符:&,|,^,~,>>,<<,>>>
A = 0011 1100
B = 0000 1101
--------------------
A & B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001 //异或相等为0,不同为1
~ B = 1111 0010 //取反
问题:咋样最快计算2*8 2*2*2*2
2<<3
<< *2
>> /2
-
条件运算符:? :
c = x ? a : b;
如果x==true, 则c = a; 否则c = b
-
扩展赋值运算符:+=,-=,*=,/=
包机制
-
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
-
一般利用公司域名倒置作为包名
-
为了能够使用某一个包的成员,外面需要在Java程序中明确导入该包。使用import语句导入包。
JavaDoc
-
javadoc命令是用来生成自己的API文档的
-
参数信息
-
@author 作者名
-
@version版本号
-
@since 指明需要最早使用的jdk版本
-
@param 参数名
-
@return 返回值情况
-
@throws 异常抛出情况
-


浙公网安备 33010602011771号