Java程序开发运行流程
Java程序的开发需要三个步骤:编写程序、编译程序、操作程序
1.编写程序:编写Java源程序
2.编译程序:使用编译器编译
3.操作程序:通过编译器生成字节码文件
常量
应注意的问题:NULL(空字符)不能直接输出
变量
应注意的问题:
1.在定义long变量时,防止出现“整数过大”的问题
longl = 10000000000L; 后面加上“//”L“long类型可以解决问题
2.在定义float类型的变量时,防止出现“不兼容类型”问题
float f = 13.14F; 后面加上“//”L表示float类型可以解决问题
3.名称不能重复
4.变量未赋值不能使用
标识符
标识符的定义规则:
1.由数字、字母、下划线(_)和美元符($)组成。
2.不能从数字开始
3.不能是关键词
4.区分大小写
小驼峰命名法:方法、变量
约定1:当标识符是一个单词时,首字母小写
范例1:name
约定2:当标识符由多个单词组成时,第一个单词的首字母小写和其他单词的首字母大写
范例2:firstName
大驼峰命名法:类
约定1:当标识符是一个单词时,首字母大写
范例1:Student
约定2:当标识符由多个单词组成时,每个单词的首字母大写
范例2:GoodStudent
类型转换
算数运算符
除法获得的是商业,取余获得的是余数
整数相除只能得到整数,要得到小数,必须有浮点数的参与
当算术表达式中包含多种基本数据类型时,整个算术表达式的类型将自动升级。
提升规则:
byte类型,short类型和char类型将被提升到int类型,
整个表达式类型自动提升到表达式中最高级别操作数相同类型
等级顺序:byte,short,char→int→long→float→double
“+”字符操作
计算机底部对应的字符值
'A'→65 A-Z是连续的
'a'→97 a-z是连续的
'0'→48 0-9是连续的
字符串的“+”操作
字符串出现在“+”操作中时,这个“+”是字符串连接符,而不是算术操作,
“zwb”+568
在“+”操作中,如果出现字符串,则为连接操作符,否则为算数操作符。连续“+”操作时,从左到右逐一执行。
1+9+"我"
扩展的赋值运算符隐含强制类型转换
自增自减运算符
++和-可以放在变量后面,也可以放在变量前面
单独使用时,++和-无论是放在变量的前后,结果都是一样的。
参与操作时,如果放在变量后面,先用变量参与操作,再用变量做++或--
参与操作时,如果放在变量前面,先拿变量做++或-,再拿变量参与操作。
逻辑运算符
&逻辑与 a&b,a和b都是true,结果是true,否则是false(false是false)
|逻辑或 a|b, a和b都是false,结果是false,否则是true(truetrue)
^ 逻辑异或 a^b,a和b的结果不同于true,相同的false(相同的false,不同的true)
!逻辑非 !a,与a的结果正好相反
短路逻辑操作符
逻辑与&,无论左边是真是假,右边都要执行
短路与&&,如果左边是真的,则执行在右边;如果左边是假的,则不执行在右边
逻辑或|,无论左边是真是假,右边都要执行
短路或||,如果左边是假的,则在右边执行;如果左边是真的,则不在右边执行
三元运算符
执行流程:
首先,计算关系表达式的值
如果值为true,表达式1的值为计算结果
如果值为false,表达式2的值为计算结果
int max = a > b ? a : b;///在两个数据中获得最大值
流程控制
流程控制语句分类:
顺序结构:
分支结构:(if,switch)
循环结构:(for,while,do...while)
应注意测试中选择的测试数据:
正确的数据、边界数据、错误的数据
if语句
switch语句
格式:
switch(表达式){
case值1:
语句体1;
break;
...
default:
语句体n+1;
[break;]
}
格式说明:
表达式:取值为byte、short、int、char、JDK5后可以是枚举,JDK7后可以是String。
case:后者是与表达式进行比较的值
break:用来结束switch语句的表示中断和结束。
default:当所有情况都不匹配时,就执行这个地方的内容,类似于if语句的else。
执行流程:
1.首先计算表示值。
2.依次与case背后的值进行比较。如果有相应的值,则执行相应的句子。在执行过程中,break将结束
3.如果case背后的所有值与表达值不匹配,则在default中执行语句体,然后程序结束。
case穿透现象:
在switch语句中,如果break不写在case控制的语句体后面,就会出现穿透现象,在不判断下一个和case值的情况下向下运行,直到break或整个switch语句结束。
