基础语法
1. 注释、标识符、关键字
注释
书写注释是一个好的习惯
// 这是一个单行注释 可以注释一行的文字
/*
* 这是一个多行注释
* 可以直接写多个行
*/
标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
注意:
所有的标识符都应该以字母(A-Z或a-z), 美元符($),或者下划线(_)开始
首字符之后可以是任意字母(A-Z或a-z), 美元符($),下划线(_)或者数字的任意组合
不能使用关键字作为变量名或方法名
标识符是大小写敏感的
标识符可以是中文,但是一般不建议这样去使用,也不建议使用拼音
可以学习 《阿里巴巴Java开发手册》 中的规定
// 推荐使用
String alibaba;
String Alibaba;
// 可以使用但不推荐
String $alibaba;
String _Alibaba;
String 阿里巴巴;
// 不可以使用
//String 2088;
//String *alibaba;
//String class;
2. 数据类型
**强类型语言: ** 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 Java是强类型使用语言
Java的数据类型分为两大类
什么是字节
位(bit): 是计算机中最小的数据存储单位, 11001100是一个八位二进制数
字节(byte): 是计算机中 数据处理的基本单位,习惯上用大写字母 B 表示
1B(byte,字节) = 8bit(位)
字符: 是指计算机中使用的字母,数字,符号等
8bit = 1B
1024B = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
数据类型扩展
// 整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 0b10; // 二进制
System.out.println("i = " + i);
int i1 = 10; // 十进制
System.out.println("i1 = " + i1);
int i2 = 010; // 八进制
System.out.println("i2 = " + i2);
int i3 = 0x10; // 十六进制
System.out.println("i3 = " + i3);
System.out.println("==========================================");
// =================================================
// 浮点数拓展? 银行业务怎么表示? 钱
// BigDecimal 数学工具类
// =================================================
// float
// double
// 最好完全避免使用浮点数进行比较
// 最好完全避免使用浮点数进行比较
// 最好完全避免使用浮点数进行比较
float f = 0.1f; // 0.1
double d = 1.0/10; // 0.1
System.out.println(f==d); // false
float f1 = 23232323232232322323232f;
float f2 = f1 + 1;
System.out.println(f1 == f2); //true
System.out.println("==========================================");
// =================================================
// 字符拓展?
// =================================================
char c1 = 'a';
char c2 = '中';
System.out.println("c1 = " + c1);
System.out.println("(int)c2 = " + (int)c2); // 强制转换
System.out.println("c2 = " + c2);
System.out.println("(int)c2 = " + (int)c2); // 强制转换
// 所有字符本质还是数字
// 编码 Unicode 表: (97 = a 65 = A)2字节 65536 Excel 2 16 = 65536
char c3 = '\u0061';
System.out.println("c3 = " + c3); //a
// 转移字符
// \t 指标符
// \n 换行
// .....
System.out.println("Hello\tWorld!");
System.out.println("==========================================");
String sa = new String("Hello World!");
String sb = new String("Hello World!");
System.out.println(sa == sb);
String sc = "Hello World!";
String sd = "Hello World!";
System.out.println(sc == sd);
// 对象 从内存分析
System.out.println("==========================================");
// =================================================
// 布尔值拓展?
// =================================================
boolean flag = true;
if (flag==true) {} // 新手
if (flag) {} // 老手
// Less is More! 代码要精简
3. 类型转换
由于Java是强类型语言,所有要进行有些运算的时候,需要用到类型转换.
低 ------------------------------------------> 高
byte
,short
,char
--> int
--> long
--> float
--> double
运算时要把不同类型数据转为同一类型,然后进行运算
int i = 128;
byte b = (byte)i; // 内存溢出 强制转换
double c = i; // 自动转换
// 强制转换 (类型)值 高-->低
// 自动转换 低-->高
System.out.println("i = " + i);
System.out.println("b = " + b);
/*
注意点:
1. 不能对布尔值进行转换
2. 不能把对象类型转换为不相干的类型
3. 在把高容量转到低容量时,强制转换
4. 转换的时候可能存在内存溢出或精度问题
*/
System.out.println("====================================");
System.out.println((int)27.7);
System.out.println((int)-45.89f);
System.out.println("====================================");
char d = 'a';
int e = d + 1;
System.out.println("e = " + e);
System.out.println((char)e);
4. 变量、常量、作用域
变量
变量: 值可以变化的量!
Java是强类型语言,每个变量都要声明其类型
Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域
Type varName [=value] [{,varName[=value]}]
// 数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型的变量
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
变量名必须是合法的标识符。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
变量作用域
类变量
实例变量
局部变量
public class Variable {
static int allChlicks = 0; // 类变量
String str = "Hello World"; // 实例变量
public void method() {
int i = 0; // 局部变量
}
}
常量
常量: 不能改变值的量
常量名要全部大写并用下划线分割每个单词并要完整表达该常量的意义
final 常量类型 常量名 = 值;
final double PI = 3.1415926;
变量的命名规范
所有变量、方法、类名: 见名知意
类成员变量: 首字母小写和驼峰原则: monthSalary
局部变量: 首字母小写和驼峰原则
常量: 大写字母和下划线: MAX_VALUE
类名: 首字母大写和驼峰原则: Man, GoodMan
方法名: 首字母小写和驼峰原则: run(), run Run0
5.基本运算符
Java支持如下运算符:
- 算术运算符: +、-、×、/、%、++、--
- 赋值运算符:=
- 关系运算符:>、<、>=、<=、==、!=、instanceof
- 逻辑运算符: &&、||、!
- 位运算符:&、|、^、~、>>、<<、>>>(了解!!!)
- 条件运算符: ? :
- 扩展赋值运算符: +=、-=、*=、/=
6.三元运算符及小结
x ? y : z
7.包机制
为了更好的组织类,Java提供了包机制,用于区别类名的命名空间.
包语句的语法规则为:
package pkg1[.pkg2[.pkg3...]];
一般利用公司域名倒置作为包名;
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包.使用"import"语句可完成此功能
import package1[.package2...].(classname|*);
8.JavaDoc
JavaDoc命令是用来生成自己的API文档
参数信息
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况