Java的基础语法
- Java大小写敏感。比如HelloJava和 Hellojava是不一样的。
- 包名Package:公司、组织、个人的域名的反向,一般是小写的英文字母。
- 类名ClassName:类名采用大驼峰命名法,StudentName。Java源文件的·文件名必须和文件中的公共类(public)类名称一样。
- 方法名:小驼峰命名法,studentName
- 主方法:public static void main(String[] args){}
Java中的注释
- // 单行注释 IDEA 快捷键 Ctrl+/
- /* 注释内容 */ 多行注释 IDEA 快捷键 Ctrl+Shift+/
- /**
*JavaDoc注释:类、方法、成员变量注释 为了帮助,规范开发 */
解决IEDA中项目的字符编码问题(中文乱码)
- 文件编码:file->settins->Editor->File Encodings 把GBK改为UTF-8 并勾选Transparent native-to-ascii conversion 每次新建项目都需要设置!!!
- 控制台编码:file->settins->Editor->General->Console 选择 UTF-8
标识符
标识符:就是给类,方法,变量等起名字的符号。
标识符定义规则
- 由数字、字母、下划线(_)和美元符($)组成。
- 不能以数字开头。
- 不能是关键字。
- 区分大小写。
关键字:
类别 | 关键字 | 说明 |
访问控制(3个) | private | 访问控制修饰符,在同一内可见 |
protected | 访问控制修饰符,对民一包内的类和所有子可见 | |
public | 访问控制修饰符,对所有类可见 | |
类、方法和变量修饰符(14个) | abstract | 表明类或成员方法具有抽象性 |
class | 声明一个类 | |
enum | 枚举(在 J2SE 5.0 中添加) | |
extends | 表明一个类型是另一个类型的子类型 | |
final | 用来说明最终性 | |
implements | 表明一个实现接口 | |
interface | 接口 | |
native | 原生方法(非ava实现) | |
new | 用来创建新实例对象 | |
static | 表明具有静态属性 | |
strictfp | 用于跟制浮点计算的精度和舍入(在 J2SE 1.2中添加) | |
synchronized | 表明一段代码需同步执行 | |
volatile | 表明两个或者多个变量必须同步地发生变化 | |
程序控制语句(12个) | break | 用于结束当前循环体中的执行。 |
case | 用在swtch语句之中,表示其中的一个分支 | |
continue | 用于在当前语环体结束时恢复程序执行。 | |
default | 1、用在 switch语句中,表明一个默认的分支 2、用于指定接口中的方法提供方法的默认实现(Java 8添加) | |
do | 用在 do...while环构中 | |
else | 用在条件语句中,表明当条件不成立时的分支 | |
if | 条件语句的引导词 | |
instanceof | 用来试一个对象是否是推定型的实例象 | |
return | 用于完成方法的执行,返回给调用者方法的返回 | |
switch | 分支语句结构的引导词 | |
while | 用于创建一个while循环 | |
错误处理(6个) | assert | 断言,用来进行程序调试(在 J2SE 1.4中添加) |
catch | 用在异常处理中,用来捕捉异常 | |
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 | |
throw | 抛出一个异常 | |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 | |
try | 定义具有异常处理的代码块 | |
包相关(2个) | import | 引入要访问指定的类或包 |
package | 定义所在的包 | |
基本数据类型(8个) | boolean | 基本数据类型之一,布尔类型 |
byte | 基本数据类型之一,字节类型 | |
char | 基本数据类型之一,字符类型 | |
double | 基本数据类型之一,双精度浮点数类型 | |
float | 基本数据类型之一,单精度浮点数类型 | |
int | 基本数据类型之一,整数类型 | |
long | 基本数据类型之一,长整数类型 | |
short | 基本数据类型之一, 短整数类型b,m | |
变量引用(3个) | supper | 表明当前对象的父类型的引用或者父类型的构造方法 |
this | 指向当前实例对象的引用 | |
void | 声明当前成员方法没有返回值 | |
保留关键字(2个) | goto | 保留关键字,没有具体含义 |
const | 保留关键字,没有具体含义 |
true、false和null看起来像关键字,但它们实际上是文字;也不能在程序中将它们用作标识符。
数据类型
Java语言提供了八种基本数据类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
byte:
- byte 数据类型是8位(bit)、有符号的,以二进制补码表示的整数;
- 最小值是 -128(-2^7);
- 最大值是 127(2^7-1);
- 默认值是 0;
- 例子:byte a = 100,byte b = -50。
short:
- short 数据类型是 16 位、有符号的以二进制补码表示的整数
- 最小值是 -32768(-2^15);
- 最大值是 32767(2^15 - 1);
- Short 数据类型可以节省空间。一个short变量是int型变量所占空间的二分之一;
- 默认值是 0;
- 例子:short s = 100,short r = -200。
int:
- int 数据类型是32位、有符号的以二进制补码表示的整数;
- 最小值是 -2,147,483,648(-2^31);
- 最大值是 2,147,483,647(2^31 - 1);
- 一般地整型变量默认为 int 类型;
- 默认值是 0 ;
- 例子:int a = 1000, int b = -2000。
long:
- long 数据类型是 64 位、有符号的以二进制补码表示的整数;
- 最小值是 -9,223,372,036,854,775,808(-2^63);
- 最大值是 9,223,372,036,854,775,807(2^63 -1);
- 这种类型主要使用在需要比较大整数的系统上;
- 默认值是 0L;
- 例子: long a = 100000L,Long b = -200000L。 注意:"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
float:
- float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
- float 在储存大型浮点数组的时候可节省内存空间;
- 默认值是 0.0f;
- 浮点数不能用来表示精确的值,如货币;
- 例子:float f1 = 234.5f。
double:
- double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
- 浮点数的默认类型为double类型;
- double类型同样不能表示精确的值,如货币;
- 默认值是 0.0d;
- 例子:double d1 = 123.4。
boolean:
- boolean数据类型表示一位的信息;
- 只有两个取值:true 和 false;
- 这种类型只作为一种标志来记录 true/false 情况;
- 默认值是 false;
- 例子:boolean one = true。
char:
- char类型是一个单一的 16 位 Unicode 字符;
- 最小值是 \u0000(即为0);
- 最大值是 \uffff(即为65,535);
- char 数据类型可以储存任何字符;
- 例子:char letter = 'A';。
- Java的浮点数(float和double)不精确,在需要精确计算的时候避免使用float和double。
- float和double在内存中的存储方式 float类型(32位):1bit(符号位) 8bits(指数位) 23bits(尾数位) double类型(64位):1bit(符号位) 11bits(指数位) 52bits(尾数位)
- 浮点数 使用的是科学计数法表示
10000 = 1*10^4 --> 1E4
0.001=1*10^-3 --> 1E-3
- 二进制很难精确表示浮点数。用近似值表示