java02 语言基础

常用的java标点符号

java02 语言基础

 

八大基本数据类型

java02 语言基础

其中,byte,short, int, long, float, double表示数值,其位数和数值范围如表所示。

以byte为例做出解释:

占用8位,也就是2^8 = 256个数值,前128个数值为-128——-1,0占一个,剩余127个为正数。所以它的范围是-128——127

在选择数据类型的时候,要尽可能的,因为大范围的数值类型分配的空间更大,会造成内存的浪费

byte, short, int, long用于存储整数,float和double用于存储小数。

char 类型允许存储一个Unicode字符

Boolean用于存储两种结果:true 或者 false

变量

在Java中存在两种变量:

  1. 引用变量:存储的是对象的引用

  2. 基本变量:存储的基本数据类型

变量除了具有指定的数据类型外,还具有名称(标识符),其命名规则必须遵循以下几种要求:

  1. 变量名称可以是有限长度的字母、数字、下划线、美元符号组成,需要以字母或下划线开头。

  2. 变量名称不得与关键字重复

  3. 变量名符合作用域要求。

以下是Java的关键字列表:

java02 语言基础

变量的定义格式

类型 + 变量名称 + “;”

java02 语言基础

分别定义了byte类型的x、int类型的rowCount、char类型的c

也可以在一行中定义多个相同类型的变量:

java02 语言基础

 

在变量声明的同时,也可以完成赋值:

java02 语言基础

常量

常量指的是一旦赋值不再更改的变量。常常用final修饰定义,全部使用大写,使用下划线分隔:

java02 语言基础

Integer字面值

分为十进制,八进制,十六进制,二进制字面值,默认是十进制,八进制以0开头,十六进制以0X开头,二进制以0B开头。

int a = 100;
int b = 0100;
int c = 0X100;
int d = 0B100;

对于合适的数据类型,不要超过其数值范围。

在定义long类型的数据时,需要在数值末尾使用L作为备注标记。

java02 语言基础

对于较大的数值,可以使用下划线分隔表示,不影响数值大小,且放置位置任意。(从Java 7开始)

java02 语言基础

浮点类型字面值

包括float和double两种,分别为32位和64位。分为整数部分 、小数部分、E指数部分。默认是double类型,float类型需要以F作为标记。

以下均为有效的float浮点型字面值表示:

java02 语言基础

以下均为有效的double浮点型字面值表示:

java02 语言基础

布尔类型字面值

只有true和false两种:

java02 语言基础

字符类型字面值

字符类型的字面值包含单个引号表示的单个Unicode字符:

java02 语言基础

或者某些转义字符:

java02 语言基础

 

对于键盘无法输入的特殊ASCII字符,可以使用\uxxxx方式表示:

例如,\u2299表示

java02 语言基础

基本数据类型转换

自动转型:

以下几种数据类型的转换是自动的,

java02 语言基础

无需在代码中做任何额外的工作:

java02 语言基础

强制转型:

以下数据类型的转换容易出现精度损失:

java02 语言基础

没有精度损失:

java02 语言基础

 

损失精度:

java02 语言基础

操作符

java常见的操作符:

java02 语言基础

一元操作符

  1. “-” 表示相反数。

java02 语言基础

  1. “+”表示正数

java02 语言基础

  1. “++”表示自增1

java02 语言基础 java02 语言基础 java02 语言基础

++在前先做自增,后参与表达式运算。++在后,先参与表达式运算,后自增。

  1. “–”自减1

java02 语言基础 java02 语言基础

区别同自增运算符。

  1. “!”非运算

java02 语言基础

  1. “~”按位取反

java02 语言基础

算术操作符

  1. “+”求和

java02 语言基础

  1. “-”求差

java02 语言基础

  1. “*”求积

java02 语言基础

  1. “/”求商

java02 语言基础 java02 语言基础

  1. “%”取余

java02 语言基础

  1. “==” 、“!=”相等判断

java02 语言基础 

java02 语言基础

关系运算符

< <= > >= 所得结果均是Boolean类型

逻辑运算符

“&&”表示并且

java02 语言基础

“||”表示或者

java02 语言基础

“?:”表示三元运算

java02 语言基础

“&”与、“|”或、”^”异或

java02 语言基础

位运算符

“<<”左移

java02 语言基础

“>>”右移

有符号右移,补符号位

java02 语言基础

“>>>”无符号右移

无符号右移,最左侧补0

“&”位与、”|”位或、”^”异或

java02 语言基础

赋值运算符

java02 语言基础

上述赋值运算符属于复合型赋值运算符,例如:

java02 语言基础

类型提升问题

一元运算符,在byte、short、char操作的时候,操作结果是int类型,有类型提升。

java02 语言基础

应手动做强转:

java02 语言基础

对于二元操作符:

1.如有任一操作数是byte或short类型,类型自动提升为int,操作结果也为int

2.如有任一操作数是double类型,类型自动提升为double,操作结果也为double

  1. 如有任一操作数是float类型,类型自动提升为float,操作结果也为float

4.如有任一操作数是long类型,类型自动提升为long,操作结果也为long

注释

两种注释方式:

  1. // code

  2. /* code */

文档注释

对类进行注释:

java02 语言基础

对方法进行注释:

java02 语言基础

常用注解:

java02 语言基础

 

生成文档:

javadoc -d directory xxx.java

地标注释

// TODO 需要完善

// FIXME 需要补充

// XXX 建议备忘