强类型语言可以在编译过程中发现源代码的错误,保证程序的健壮性。
注释
1保留思路
2增加可读性
3代码即文档
单行注释 //
多行注释 /* */
文档注释 /** */ 中间部分全部都是文档注释,会被提取到API文档中。使用javadoc工具提取文档注释来生成API文档,javadoc基本用法: javadoc 选项 java 源文件|包
标识符和关键字
; 分号 分隔语句
{} 花括号 定义代码块。条件执行体和循环语句循环体通常也在代码块
[] 方括号 主要作用是用于访问数组元素,方括号通常紧跟数组变量名,而方括号里指定希望访问的数组元素的索引
. 圆点 通常作用类/对象和它的成员之间的分隔符,表明调用某个类或某个实例的指定成员。
标识符:用于给程序中变量、类、方法命名的符号。必须以字母,下划线,美元符开头,后面可以跟任意数目的字母、数字、下划线和美元符。Java区分大小写,所以abc和ABC是两个不同的标识符。
使用标识符,注意:
不能用数字打头
不能用Java关键字和保留字
不能包含空格
只能包含美元符$,不能有别的字符
关键字
Java中一些具有特殊用途的单词被称为关键字,Java所有关键字都是小写的。
数据类型分类
变量:相当于一个有名称的容器,用于装各种不同类型的数据。
用来访问或修改内存中数据的机制就是变量。
Java语言支持两种类型:基本类型 和 引用类型
基本类型 包括 boolean类型 和 数值类型。
数值类型:整数类型 和 浮点类型。
整数类型:byte、short、int、long、char
浮点类型:float、double
引用类型 包括类、接口和数组类型,还有一种特殊的null类型。引用类型就是对一个对象的引用,对象包括实例和数组两种。实际上引用类型变量就是一个指针。
基本数据类型
基本类型 包括 boolean类型 和 数值类型。
数值类型:整数类型 和 浮点类型。字符类型也可被单独对待。
一般把Java的基本数据类型分为4类:整数类型,字符类型,浮点类型,布尔类型
整型
byte:8位,最大存储数据量是256,存放的数据范围是-128~127之间。
short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。
int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
字符型
通常用于表示单个的字符,字符型必须使用单引号括起来
Java没有提供字符串的基本数据类型,而是通过String类来表示字符串,由于字符串由多个字符组成,因此字符串要使用双引号括起来。
浮点型
Java的浮点型有两种:float 和 double
float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
可以在数值中使用下划线,不管是整型数值,还是浮点型数值,都可以自由的使用下划线。为了便于区分多少位。
布尔型
布尔型只有一个boolean类型,用于表示逻辑上的 真 或 假,在Java中boolean类型的数值只能是true或false,其他数据类型的值也不能转换成boolean类型。
主要用于流程控制:if 条件、while循环、do循环、for循环
基本类型的类型转换
自动类型转换
系统支持把某种基本类型的值直接赋给另一种基本类型的变量
当把一个表数范围小的数值或变量直接赋给另一个表数范围大的变量
强制类型转换
Java为把种基本类型都提供了包装类,8个包装类都提供了一个parseXxx(String str)静态方法用于将字符串转换成基本类型。
表达式类型的自动提升
Java定义了如下的自动提升规则
所有的byte类型,short类型和char类型将被提升到int类型
整个算数表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型。
直接量
并不是所有的数据类型都可以指定直接量,能指定直接量的通常只有三种类型:基本类型、字符串类型和null类型
eg:int long char float double boolean String null
运算符
算数运算符
+加 -减 *乘 /除 %取余
++自加
++在左边 先把操作数加1,然后再放入表达式运算
++在右边 先把操作数放入表达式中运算,然后再把操作数加1
--自减,与自加类似
更复杂的运算用 java.lang.Math类
赋值运算符
=为变量指定变量值
位运算符
按照2进制码级那进行计算
&与 同时1,返回1
|或 有1返回1
~非 全部按位取反
^异或 两位相同返回0,不同返回1
<<左移 >>右移 >>>无符号右移
扩展后的赋值运算符
比较运算符
逻辑运算符
一、&与&&的异同点。
相同点:二者都表示与操作,当且仅当运算符两边的操作数都为true时,其结果才为true,否则为false。
不同点:在使用&进行运算时,不论左边为true或者false,右边的表达式都会进行运算。如果使用&&进行运算时,当左边为false时,右边的表达式不会进行运算,因此&&被称作短路与。
二、|与||的异同点。
相同点:二者都表示或操作,当运算符两边的操作数任何一边的值为true时,其结果为true,当两边的值都为false时,其结果才为false。
不同点:同与操作类似,||表示短路或,当运算符左边的值为true时,右边的表达式不会进行运算。
!非
^ 异或相同时返回true 不同时返回 false
三目运算符
条件?是。。。:否、、、
与if else 精简写法 但是不能接多种else