基础篇目录
- 注释
- 标识符和关键字
- 标识符
- 关键字
- 数据类型及拓展
- 数据类型
- 拓展
- 整数拓展
- 浮点数拓展
- 字符拓展
- 布尔值拓展
- 类型转换
- 变量、常量、作用域
- 变量及作用域
- 常量
- 基本运算符
- 自增自减运算符
- 逻辑运算符
- 位运算符
- 三元运算符
- 包机制
注释
- Java中的注释有三种:单行注释、多行注释、文档注释,如下:
//这是单行注释
/*
这是多行注释
*/
/**
这是文档注释
*/
注:养成书写注释的好习惯
标识符和关键字
标识符
- Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
- 标识符注意点:
- 所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始
- 首字符之后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数字的任何字符组合
- 不能使用关键字作为变量名或方法名
- 标识符是大小写敏感的
- 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音
关键字
- 关键字是电脑语言里事先定义的,有特别意义的标识符,常用关键字如下:
数据类型及拓展
数据类型
- 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
- 弱类型语言:只要不出问题,变量的使用可以不符合规定
- Java是一种强类型语言
- Java的数据类型分为两大类:基本类型,引用类型
- 八大基本数据类型:
- 整型:byte,short,int(最常用),long(long类型要在数字后面加个L)
- 浮点型:float,double
- 字符型:char
- 布尔型:boolean
拓展
整数拓展
- 二进制 0b + 数字
- 十进制 数字
- 八进制 0 + 数字
- 十六进制 0x + 数字
int num1 = 0b10; //2
int num2 = 1; //1
int num3 = 010; //8
int num4 = 0x10; //16
浮点数拓展
- 最好完全避免使用浮点数进行比较
float num1 = 0.1f;
double num2 = 1.0/10;
System.out.println(num1==num2); //false
System.out.println(num1); //0.1
System.out.println(num2); //0.1
System.out.println("=========================");
float num3 = 1212121212121211212122212f;
float num4 = num3 + 1;
System.out.println(num3==num4); //true
字符拓展
- 所有的字符本质还是数字
- 转义字符:
布尔值拓展
boolean flag = true;
if (flag == true){}
if (flag){}
- Less is more!
- 代码要精简易读
类型转换
- 由于Java是强类型语言,所以在进行某些运算的时候,需要用到类型转换
- 强制类型转换:(类型) 变量名
自动类型转换:低—>高
低--------------------------------------------------->高
byte,short,char->int->long->float->double - 运算中,不同类型的数据先转化为同一类型,然后进行运算
- 注意点:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,进行强制转换
- 转换的时候可能存在内存溢出,或者精度问题
- 另:JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
System.out.println(money); //1000000000
变量、常量、作用域
变量及作用域
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
- 变量声明及初始化:
数据类型 变量名 = 值;
可以使用逗号隔开来声明多个同类型变量,但不建议这么做 - 变量的命名规范:
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:GoodMan
- 方法名:首字母小写和驼峰原则
- 变量作用域:类变量(static),实例变量(从属于对象,如果不自行初始化,值为这个类型的默认值),局部变量(必须声明和初始化值)
常量
一般使用大写单词(final)
注:修饰符static,final不存在先后顺序
基本运算符
- 算术运算符:+,-,*,/,%,++,–
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!=
- 逻辑运算符:&&,||,!
自增自减运算符
int a = 10;
System.out.println(a); //10
int b = a++;
System.out.println(a); //11
System.out.println(b); //10
int c = ++a;
System.out.println(a); //12
System.out.println(c); //12
逻辑运算符
- &&逻辑与运算:两个变量都为真,结果才为true
||逻辑或运算:两个变量有一个为真,则结果才为true
!逻辑非运算:如果是真,则变为假,如果是假,则变为真
boolean a = true;
boolean b = false;
System.out.println(a&&b); //false
System.out.println(a||b); //true
System.out.println(!(a&&b));//true
- 短路运算(短路与|短路或)
位运算符
- &,/,^,~
- 例:a = 1010 0011,b = 0011 0101
a & b = 0010 0001
a / b = 1011 0111
a ^ b = 1001 0110
~ a = 0101 1100
三元运算符
- x?y:z
如果x==true,则结果为y,否则结果为z
包机制
- 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间
- 一般利用公司域名倒置作为包名