基础篇目录

  • 注释
  • 标识符和关键字
  • 标识符
  • 关键字
  • 数据类型及拓展
  • 数据类型
  • 拓展
  • 整数拓展
  • 浮点数拓展
  • 字符拓展
  • 布尔值拓展
  • 类型转换
  • 变量、常量、作用域
  • 变量及作用域
  • 常量
  • 基本运算符
  • 自增自减运算符
  • 逻辑运算符
  • 位运算符
  • 三元运算符
  • 包机制


注释

  • Java中的注释有三种:单行注释、多行注释、文档注释,如下:
//这是单行注释
/*
	这是多行注释
*/
/**
	这是文档注释
*/

注:养成书写注释的好习惯

标识符和关键字

标识符

  • Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
  • 标识符注意点:
  1. 所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始
  2. 首字符之后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数字的任何字符组合
  3. 不能使用关键字作为变量名或方法名
  4. 标识符是大小写敏感
  5. 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音

关键字

  • 关键字是电脑语言里事先定义的,有特别意义的标识符,常用关键字如下:

数据类型及拓展

数据类型

  • 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
  • 弱类型语言:只要不出问题,变量的使用可以不符合规定
  • Java是一种强类型语言
  • Java的数据类型分为两大类:基本类型,引用类型
  • 八大基本数据类型:
  1. 整型:byte,short,int(最常用),long(long类型要在数字后面加个L)
  2. 浮点型:float,double
  3. 字符型:char
  4. 布尔型: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
  • 运算中,不同类型的数据先转化为同一类型,然后进行运算
  • 注意点:
  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 在把高容量转换到低容量的时候,进行强制转换
  4. 转换的时候可能存在内存溢出,或者精度问题
  • 另:JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
System.out.println(money);	//1000000000

变量、常量、作用域

变量及作用域

  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
  • 变量声明及初始化:
    数据类型 变量名 = 值;
    可以使用逗号隔开来声明多个同类型变量,但不建议这么做
  • 变量的命名规范:
  1. 所有变量、方法、类名:见名知意
  2. 类成员变量:首字母小写和驼峰原则:monthSalary
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线:MAX_VALUE
  5. 类名:首字母大写和驼峰原则:GoodMan
  6. 方法名:首字母小写和驼峰原则
  • 变量作用域:类变量(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提供了包机制,用于区别类名的命名空间
  • 一般利用公司域名倒置作为包名