Java程序开发运行流程
开发Java程序,需要三个步骤:编写程序,编译程序,运行程序
1.编写程序:编写Java源程序
2.编译程序:使用编译器编译
3.运行程序:通过编译器生成字节码文件
常量
需要注意的问题:NULL(空字符)不能直接输出
变量
需要注意的问题:
1.在定义long变量的时候防止“整数太大”这个问题的出现
long l = 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(有true则true)
^ 逻辑异或 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语句中,如果case控制的语句体后面不写break,将出现穿透现象,在不判断下一个,case值的情况下,向下运行,直到遇到break,或者整体switch语句结束。