Java语法
- 注释、标识符、关键字
- 数据类型
- 类型转换
- 变量、常量
- 运算符
- 包机制、JavaDoc
注释
注释是不会被执行的。
Java中的注释有三种:
- 单行注释 (推荐)
//
- 多行注释
/*
多行注释
*/
- 文档注释 (推荐)
/**
*
*/
标识符
- Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
注意点:- 所有的标识符都应以字母(A-Z或a-z),美元符($),或者下划线(_)开始。
- 首字母之后可以是字母(A-Z或a-z),美元符($),下划线(_)或者数字的任何组合
- 不能使用关键字作为标识符
- 标识符是大小写敏感的。(区分大小写)
- 所有标识符最好做到见名知意
- 关键字 有特殊作用的词
有如下一些关键字
![]()
数据类型
- 强类型语言
- 如Java,要求变量的使用要严格符合规定,所有变量都应该先定义,才能使用
- 弱类型语言
- 如JS,与强类型语言相反
- Java的数据类型分为两大类
- 基本类型(primitive type)
char(2字节),byte(1字节),short(2字节),int(4字节),long(8字节),float(4字节),double(8字节),boolean(true,false) - 引用类型(reference type)
类,接口,数组
- 基本类型(primitive type)
补充:什么是字节
-
位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数
-
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
-
1B (byte,字节) = 8bit (位)
-
字符:是指计算机中使用的字母、数字、字和符号
- 1bit表示1位
- 1Byte表示一个字节 1B=8b
- 1024B=1KB
- 1024KB=1M
- 1024M=1G
补充:
类型扩展和面试题讲解
整数扩展:
int i1 = 10; // 十进制
int i2 = 010; // 八进制0
int i3 = 0x10;// 十六进制0x
System.out.print(i1,i2,i3);
// 输出10,8,16
浮点数扩展:
float,double——有限 离散 舍入误差 大约 接近但不等于
float f1 = 1231231231233123f;
float f2 = f1+1;
System.out.print(f1 == f2);
//输出true
//最好完全避免使用浮点数进行比较
//BigDecimal 数学工具类——表示银行的钱
字符扩展:
所有的字符本质是数字
编码 Unicode表:(97 = a,65 = A) 2字节 0-65536 .xls文件只有65536行
U0000 UFFFF
char c3 = '/U0061';// 是十六进制表示,6*16+1*1=97
System.out.print(c3);
//输出 a
// 转义字符 \t空格 \n换行
布尔值的扩展:
boolean flag = true;
if(flag==true){};//新手
if(flag){};//老手
// 代码要精简易读
类型转换
-
由于Java是强类型语言,所以要进行有些运算时,需要用到类型转换。
低 —————————————————— 高(优先级)
char,byte,short -> int -> long -> float -> double -
运算中不同类型的数据先转化为同一类型,然后进行运算。
-
强制类型转换
- 高到低
- (类型)变量名
-
自由类型转换
- 低到高
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量时,需要强制转换
- 转换的时候可能存在内存溢出,或者精度问题!
- (int)23.7 ---- 23
- (int)-45.43f -- -45
补充:
// 操作较大的数时,要注意溢出问题
// JDK7新特性,数字之间可以用下划线分隔
int money = 10_0000_0000;
int year = 20;
int total = money*year;// 输出-xxxxxx,计算时溢出了
long total2 = money*year;// 默认是int,转换之前已经存在问题了
long total3 = money((long)year) ;// 先把一个数转换为Long
变量
- 变量是什么?就是可以变化的量!
- Java是一种强类型语言,每个变量都必须声明其类型。
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=value][{,varName[=value]}];
// 数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量。
- 注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个申明都必须以分号结束。
变量作用域
- 类变量
- 实例变量
- 局部变量
public class Variable{
static int allClicks=0;// 类变量
String str = "hello world"; // 实例变量
public void method(){
int i = 0; // 局部变量,使用之前必须声明和初始化。
}
}
//实例变量:从属于对象;如果不自行初始化,这个类型的默认值(0,0.0,false,null);使用前必须要有一个对象。
常量
- 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
- 所谓的常量可以理解成一种特殊的变量,他的值被设定后,再程序运行中不允许被改变。
final 常量名=值;
final double PI = 3.14;
- 常量名一般使用大写字符。
变量的命名规范
- 所有变量、方法、类名:见名知意
- 变量:首字母小写和驼峰原则
- 常量:大写字母和下划线
- 类名:首字母大写和驼峰原则
- 方法名:首字母小写和驼峰原则。
运算符
- Java语言支持如下运算符
- 算术运算符:+,-,*,/,%,++,--
- 赋值运算符:==
- 关系运算符:>,<,>=,<=,==,!=
- 逻辑运算符:&&,||,!
- 位运算符:&,|,^,~,<<,>>,>>>(了解)
- 条件运算符: ?
- 扩展赋值运算符:+=,-=,*=,/=

浙公网安备 33010602011771号