Java关键字
- 定义:被Java语言赋予了特殊含义的单词
- 特点:关键字中所有字母都为小写
- 用于定义数据类型的关键字
- class:类
- interface:接口
- byte:字节
- short:短整型
- int:整型integer
- long:长整型
- float:浮点型
- double:双精度浮点型
- char:字符
- boolean:
- void:空 - 用于定义数据类型值的关键字
- true:真
- false:假
- null
- 用于定义流程控制的关键字
- if
- else:否则
- switch:开关,切换
- case:案例
- default:默认,缺省
- while:当..时候
- do
- for:循环
- break:中断
- continue:继续
- return:返回
- 用于定义访问权限修饰符(modifier)的关键字
- private:私有的
- protected:受保护的
- public:公开的
- 定义类,函数,变量修饰符的关键字
- abstract:抽象的
- final:最终的
- static:静态的
- synchronized:同步的
- 用于定义类与类之间关系的关键字
- extends:扩展,继承
- implements:实现
- 用于定义建立实例及医用实例判断实例的关键字
- new:新建
- this:这个
- super:父类,超类
- instanceof:是否是..的实例
- 用于异常处理的关键字
- try:尝试
- catch:捕捉,抓取
- finally:最终
- throw:抛出
- throws:
- 用于包的关键字
- package:包
- import:导入,export导出
- 其他修饰符关键字
- native:本地
- strictfp
- transient :暂时的,临时的
- volatile
- assert:断言
Java中的标示符
- 在程序中自定义的一些名称
- 由26个英文字母大小写,数字(0-9),符号(_和$)组成
- 定义合法标示符的规则
- 1:数字不可以开头
- 2:不可以使用关键字
- Java中严格区分大小写
- 注意:在起名字的时候为了提高阅读星要尽量有意义
- Java中的命名规范
- 包名:多单词组成时所有字母都小写。xxxyyyzzz- 类名,接口名:多单词组成时,所有单词的首字母大写。XxxYxxZzz
- 变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每一个单词首字母大写。xxxYyyZzz
- 常量名:所有字母都大写,多单词时每个单词用下划线链接。XXX_YYY_ZZZ
Java中的注释
- 用于注释说明解释程序的文字就是注释
- 在程序中写注释是为了提高代码的阅读性
- Java中的注释格式:
- 单行注释格式://注释的文字
- 多行注释格式:/* 注释的文字*/
- 文档注释格式:/**注释的文字*/
- 对于单行和多行注释,被注释的文字,不会被JVM(Java虚拟机)解释执行
- 对于文档注释,是Java特有的注释,其中注释的内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档
- 注释是一个程序员必须要具有的良好的编程习惯
- 初学者编写程序可以养成习惯:先写注释再写代码
- 将自己的思想通过注释先整理出来,再用代码区实现,因为代码仅仅是思想的一种体现形式而已
Java中常量和变量
-
常量表示不能改变的数值
-
Java中常量的分类
- 1:整数常量,所有的整数
- 2:小数常量,所有的小数
- 3:布尔型常量(Boolean),较为特有,只有两个数值,true和false
- 4:字符常量,将一个数字字母或者符号用单引号(‘’)标示
- 5:字符串常量,将一个或者多个字符用双引号(“”)标示
- 6:null常量,只有一个数值就是null
- 对于整数:有四种表现形式
- 二进制:0-1,满2进1
- 八进制:0-7,满8进1,用0开头表示
- 十进制:0-9,满10进1
- 十六进制:0-9,A-F,满16进1,用0x开头表示
- 进制之间的基本转换
- 十进制和二进制互转
- 十进制转成二进制:除以2取余数
- 二进制转成十进制:乘以2的幂数
- 负数的二进制表现形式
- 对应的正数二进制取反加1
- 十进制和二进制互转
- Java语言是强类型语言对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
- 整数默认:int,小数默认:double
-
变量的概念
- 内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以在同一类型范围内不断变化
-
为什么要定义变量:
- 用来不断的存放同一类型的常量,并可以重复使用
-
使用变量要注意:
- 变量的作用范围(一对{}之间有效})
- 初始化值
-
定义变量的格式:数据类型 变量名 = 初始化值。注意:格式是固定的记住格式以不变应万变
-
变量应如何理解:变量就如同数学中的未知数
- char :16位Unicode字符,使用''引用字符,使用下列字符表示
- 'a'
- '\t'
- '\uxxxx' (xxxx表示四个十六进制数)
- 特殊字符
- '\t' : table
*'\r' : return
*'\n' : new line
- '\t' : table
- 自动类型转换:也叫隐士类型转换
- 强制类型转换:也叫显示类型转换
- 表达式的数据类型提升
- 所有的byte,short,char的值将被提升到int类型
- 表达式的计算结果的类型和操作数中最大数据类型相同
- 如果一个操作数是long,那么计算结果就是long
- 如果一个操作数是float,那么计算结果就是float
- 如果一个操作数是double,那么计算结果就是double
Java中的运算符
- Java中的运算符的分类
- 算数运算符
* 算数运算符注意的问题:
* 如果对负数取模,可以把模数负号忽略不计,例如:5%-2 = 1,但是被模数是负数就另当别论
* 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。例如:int x = 3510; x = x/1000*1000;x的结果是3000
*“+”除了字符串相加功能外,还能把非字符串转换成字符串,例如:System.out.println("5+5="+5+5);打印结果是:55
- 赋值运算符
赋值运算符
- 其中s = s+2 编译会出错,等号右边结果是int类型,左边是short类型,赋值会损失精度,如果想要编译通过那么要改成s = short(s+2),s += 2可以直接编译通过,它是直接转换的
- 比较运算符
- 逻辑运算符
- 注意:&&和||存在短路的操作,&&和||要求两边是布尔类型的表达式,&和|是按位运算所以不存在短路的情况,!后面跟的是布尔类型的表达式
- 位运算符
运算符的优先级
*注意: 位移运算的运算速率高
- 三元运算符
Java中的流程控制
- 判断结构
- if(条件语句){
执行语句
} - if(条件表达式){
执行语句
} else{
执行语句
};如果else之前成立被执行那么后面的不执行 - if(条件表达式){
执行语句
}else if(条件表达式){
执行语句
}else{
执行语句
}
- if(条件语句){
-
if语句的特点:
- 每一种格式都是单条语句
- 第二种格式和三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中
- 条件表达式无论写成什么样子, 只看最终的结构是否是true或者false
-
选择结构
- 循环结构
for(条件语句){
执行语句
}
while(条件语句){
执行语句
}
do{
执行语句
}while(条件语句)
注意:do..while循环是无论条件是否满足循环体至少执行一次
- 其他流程控制语句
- for循环练习
100块钱买100只鸡,公鸡5元1只,母鸡3元1只,小鸡1元3只,100块买100只鸡有几种情况?