一、关键字和保留字
关键字(keyword)的定义和特点
定义:被Java语言赋予特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都为小写
保留字(reserved word)
java保留字:现有Java版本中尚未使用,但以后的版本可能会作为关键只使用。
自己命名标识符时要避免使用这些保留字
goto 、 const
二、标识符(Identifier)
1.标识符的定义
>Java对各种变量、方法和类等要素命名时使用的字符序列成为标识符
>技巧:凡是自己可以起名字的地方都叫标识符
2.定义合法标识符规则:(如果不遵守如下规范,编译不可以通过!建议严格遵守)
>由26个英文大小写0-9、_或$组成
>数字不可以开头
>不可以使用关键之和保留字,但能包含关键字和保留字
>Java中严格区分大小写,长度无限制
>标识符中不能包含空格
3.java中的名称命名规范:(如果不遵守如下规范,编译可以通过!建议遵守)
包名:多单词组成时所以字母都小写:xxxyyyzzz
类名、接口:多单词组成时,所有单词首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个字母首字母小写,第二个单词开始每个单词开始首字母大写:xxxYyyZzz
常量名:所有字母都大写,多单词时每个单词用下划线链接xxx_yyy_zzz
4.注意
4.1 在命名的时候,为了提高阅读性,要尽量有意义,“见名知意”
4.2 Java采用Unicode字符集,因此标识符也可以使用汉字申明,但不建议使用
三、变量
1.变量的概念:
内存中的一个存储区域
该区域数据可以在同一类型范围不断变化
变量时程序中最基本额存储单元,包含变量类型、
2.变量的作用
用于内存中保存数据
3.变量的使用
3.1Java定义变量的格式:数据类型 变量名 = 变量值
3.2说明:
①变量必须先声明后使用
②变量都定义在作用域内。在作用域内,他是有效的。
③同一个作用域内不可以同时声明两个变量
使用变量注意:
Java中每个变量必须先声明,后使用
使用变量名来访问这块区域的数据
变量的作用域:其定义所在的一对{}内
变量只有在其作用域内才有效
同一作用域内,不能定义重名的变量
变量按照数据类型来分
四、基本数据类型
1.整型:byte / short / int /long
Java中的整型常量默认为int型,声明long型常量后需加"l"或"L"
Java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long
2.浮点型:float / double
浮点型常量有两种表示形式:
①十进制数形式 如:5.12 512.0f .512(必须有小数点)
②科学计数法形式 如;5.12e2 512E2 100E-2
float:单精度,位数可以精确到7位有效数字。很得意情况下精度很难满足需求
double:双精度,精度是float 的;两倍。通常采用此类型。
Java中浮点型常量默认位double型,声明float型常量,需加"f"或"F"
3.字符型: char
char型数据用来表示通常意义上“字符”(2字节)
Java中的所有字符都是用Unicode编码,故一个自封可以存储一个字母,一个汉字或者其他书面鱼的一个字符
字符型变量的三种表现形式;
字符常量是用单引号(‘’)括起来的单个字符,例如char c1='a' char c2='中' char c3='9'
Java中还允许使用转义字符‘\’来将其后的字符转变位特殊字符常量,例如:char c4=‘\n’ //‘\n’表示换行符
直接使用Unicode值来表示字符型常量:‘\uxxxx’。其中,xxxx代表一个十六进制整数,如‘\u000a’表示\n
char类型是可以进行运算的。因为它都对应有Unicode码。
4.布尔型:bollean
①只能取两个值之一:true、false
②常常在判断、循环结构中使用
2.引用数据类型:
类(class)
接口(interface)
数组(arrary)
五、基本数据类型之间的转换
基本数据类型之间的运算规则:
前提:这里只讨论七种基本类型变量间的运算,不包含Boolean类型的。
1、自动类型提升
结论:当容量小的数据类型的变量与容量达到数据类型变量做运算时,结果自动提升位容量大的数据类型。
byte、char、short - - > int - - > lang - - > float - - > double
特别的:当byte、char、short三种类型的变量运算时,结果位int型
2、强制类型转换
①需要使用强转符
②注意点:强制类型转换,可能导致精度损失
>基本数据类型与String间转换
String不是基本的数据类型,属于引用数据类型
使用方式与基本数据类型一致。例如String str="abcd"
一个字符可以串接另一字符串,也可以直接串接其他类型的数据。例如:
str=str"syz";
int n=100:
str=str+n;
六、进制与进制之间的转换(了解)
对于整数,有四种表示方式:
➢二进制(binary): 0,1 ,满2进1.以0b或0B开头。
➢二进制(binary): 0,1 ,满2进1.以0b或0B开头。
➢八进制(octal): 0-7 ,满8进1.以数字0开头表示。
➢十六进制(hex): 0-9及A-F, 满16进1.以0x或0X开头表示。此处的A-F不区分大小写。
如: 0x21AF +1= 0X21B0
●Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;
当是long类型时,二进制默认占64位,第64位是符号位
●二进制的整数有如下三种形式:
➢原码:直接将一一个数值换成二进制数。最高位是符号位
➢负数的反码:是对原码按位取反,只是最高位(符号位)确定为1。
➢负数的补码:其反码加1。
●计算机以二进制补码的形式保存所有的整数。
➢正数的原码、反码、补码都相同
➢负数的补码是其反码+1
七、运算符
运算符是种特殊的符 号,用以表示数据的运算、 赋值和比较等。
1.算术运算符
%:取余运算
结果的符号与被模数的符号相同
开发中,经常使用%来判断能否被除尽的情况。
(前)++:先自增1,后运算
(后)++:先运算,后自增1
(前) --: 先自减1,后运算
(后) --:先运算,后自减1 自增自减1不会改变变量的数据类型
●赋值运算符
= += -= *= %= s +=2; 不会改变变量本身的数据类型
●比较运算符(关系运算符)
2.逻辑运算符
&——逻辑与 |——逻辑或 !——逻辑非
&&——短路与 ||——短路或 ^——逻辑异或
3.位运算符
4.三元运算符
4.1.结构(条件表达式)?表达式1:表达式2
4.2.说明:
①条件表达式的结果为boolean类型
②根据条件表达式真假,决定执行表达式1,还是表达式2。
如果表达式为true,则执行表达式1。
如果表达式为false,则执行表达式2。
八、程序流程控制
1.顺序结构
程序从上到下的逐行地执行,没有任何判断和跳转
2.分支结构
根据条件,选择性的执行某段代码
2.1.分支结构之一:if - else
三种结构:
第一种:
if(条件表达式){
执行表达式1
}
第二种:二选一
if(条见表达式){
执行表达式1
}
else{
执行表达式2
}
第三种:多选一
if(条件表达式1){
执行表达式1
}
if(条件表达式2){
执行表达式2
}
if(条件表达式3){
执行表达式3
}
else{
执行表达式n
}
2.2.分支结构之二:switch - case
2.2.1格式:
switch(表达式){
case 常量1:
执行语句1;
//break;
case 常量2:
执行语句2;
//break;
...
default:
执行语句n;
//break;
}
2.2.2注意:
①据switch 表达式的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应的case结构中,调用其执行语句。当调用完其执行语句以后,则仍继续向下执行其他case结构中的执行语句,知道遇到break关键字或者次switch - case结构末尾结束为止。
②break可以使用在switch - case 结构中,一执行到此关键字,就跳出switch - case结构 。
③switch - case 结构中的表达式只能是如下的六种数据类型之一:byte、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
④case后只能声明常量,不能声明范围。
⑤break关键字是可选的,根据实际情况来定。
⑥default:相当于if - else 中的 else 。-
default结构是可选的,而且位置是灵活的。·
2.3循环结构
根据循环条件,重复性的使用某段代码
有while、do...while、for 三种循环语句 //JDK提供了forearch循环,方便便利集合、数组元素。