标识符命名规则:
- 由大小写字母,数字,_ ,$,组成。
- 数字不能作为标识符的开头。
- Java中的关键字和保留字 不能使用。
- java严格区分大小写。
常量:在程序运行中,有些值是不能改变的,此时可以使用常量来表示,常量的命名规则遵循标识符规则。
- 常量名通常大写。
- 不同字符使用下划线分隔。
- 只能被赋值一次,通常定义时即对其初始化。
Java中的数据类型可以分为基本数据类型,引用数据类型
基本数据类型有八个:
整数4个:byte,short,int,long
小数2个:double,float
字符:char,用单引号--' '
boolean类型:boolean
引用数据类型:字符串--String(" "),数组,集合,类,对象
键盘录入第一步:导入Scanner类
import java.util.*;
第二步:创建Scanner对象
Scanner input = new Scanner(System.in);
第三步:获得键盘输入的数据:
int now = input.nextlnt();
类型转换一种数据类型转换为另一种数据类型称作为数据的类型转化;类型转换分为自动类型转换和强制类型转换。
自动类型转换:
只要double参与的运算,都会自动转换为double类型
两种数据类型要兼容(整数和小数)
目标类型大于源类型,如double和int
强制类型转换:
需要手动转换,可能会丢失精度(精准度)
目标类型 变量名=(目标类型)源类型
运算符:1.赋值运算符
变量名 = 变量值;
变量值是一个表达式的结果:如两个数的和
2.算术运算符
基本的算术运算符:+,-,*,/,%,++,--
// ++ 自增1。 可以跟在变量的前面也可以跟踪后面, // 如果仅仅是单纯的自增的话,前面和后面是一样的,除了自增以外没有其他的操作, // 如果还有其他的操作,++在前的话则先加在做其他操作,++在后则是先做其他的操作,完成之后在自增 // i++; 12 // ++i; 12 // System.out.println(i++); 11 // System.out.println(i); 12 // System.out.println(++i); //12 // System.out.println(i); //12
复合算术运算符:+=,-=,*=,/=,%=
3.关系运算符
== 比较2个值是不是相等的, != > < >= <=
一定会有一个结果,这个结果是一个boolean类型的值
4.逻辑运算符
&,|,!
会有一个结果,结果是一个Boolean类型的值
&&,||
具有短路的功能, // 短路 : 如果第一个表达式已经确定了整个表达式的结果了,那么第二个表达式则不会进行操作
! 表达式,! true - false ! falsse -- true
5.三元运算符/三目运算符/条件运算符
结果 = 表达式? 结果1:结果2,
表达式是一个布尔类型的值,为true的时候结果1作为整个表达式的结果,为false的时候,结果2为整个表达式的结果
程序流程说明程序流程可以分为以下三种:
顺序结构:程序从上向下逐行执行,只能向下;
分支结构:选择结构,判断语句
循环结构:重复执行一段或一条语句
if语句
if语句主要用于分支结构,表示判断的意思,主要分为3种表现方式:
1:if语句:
if一般用于单个判断,表示如果的意思;条件成立则会执行相应的代码。
if(表达式){
//当表达式为true时,才会执行这里的代码
}
//表达式的结果必须是一个布尔值,如果条件有多个可以使用逻辑运算符&&-并且, || - 或者, !-非,取反
if——else
if else 结构一般用于二选一的情况,如果if成立执行if的代码块,否则执行else中的代码块。
if(表达式){
//代码块,当表达式为true时,才会执行这里的代码
}else{
//表达式为false时,执行这里的代码
}
if - else if - else
多重if结构主要用于多重判断的情况
if(表达式1){
//表达式1为true时,执行这里的代码
}else if(表达式2){
//表达式2为true时,执行这里的代码
}else if(表达式3){
//表达式3为true时,执行这里的代码
}else{
//所有条件都不满足的时候,会执行这里的代码
}
if小结:
一次判断用if语句
两次判断(一个真一个假)用if - else语句
两次以上判断使用if - else if - else
嵌套if
嵌套if就是在if判断语句中还有if判断的语句,嵌套if控制语句可以通过外层语句和内层语句的协作,增强程序的灵活性。
if(条件1) {
if(条件2) {
代码块1
} else {
代码块2
}
} else {
代码块3
}
switch语句
switch语句是一种选择语句,可以通过匹配某个条件,来执行某块代码。
switch (表达式) {
case 常量 1:
语句;
break; // 跳出switch语句
case 常量 2:
语句;
break;
…
default:
语句;
}
表达式可以接受的类型有:int ,short,byte,char,枚举类型,String
Switch语句的特点:
- switch用于多重分支且条件判断是等值判断的情况
- switch结束有两种情况:遇到break;或执行到switch语句结束;
- case和default是没有先后顺序的,但执行时先执行case语句,如果没有符合的会执行default语句:Default语句一般是放在最后。
switch语句和if语句比较
- 相同点: 都可以用来处理多分支结构
- 区别:if多用区间判断,switch用于等值条件的判断
- 用switch能做的,用if都能做,但反过来则不行
循环是学习java常用的语句之一。for循环语句是最灵活也是最常用的循环结构。
常用的循环结构有三大类: While循环, do-while循环,for循环。
while循环
while(循环条件){
//循环操作/循环体
}
- While是先判断在执行, 编写循环时,明确循环条件和循环操作。
- 只有当循环条件为true时,才会执行循环操作
- 注意在循环体中更新循环条件,否则容易造成死循环(条件永远成立)
do - while循环
do{
//循环操作(先执行一次)
}while(循环条件);
while 和 do - while的区别
- 语法不同,注意do - while 后面的分号不能丢;
- 执行次序不同
- while是先判断在执行,如果不满足条件,一次都不会执行
- do - while 是先执行一次,再做判断,如果不满足,至少执行了一次
- 当初始情况不满足循环条件时
- while循环一次都不会执行
- do - while 循环不管任何情况都至少执行一次
for循环
for(参数初始化;循环条件;更新循环变量){
//循环体
}
For 循环中必须要参数初始化,否则报错
For循环中必须要有循环条件,且必须更新循环条件,否则就是死循环
补充break,continue break 主要是在循环或 switch 语句中,用来跳出整个语句块的. break用于完全结束一个循环,跳出循环体,执行循环后面的语句 continue是跳过本次循环中剩下的语句,执行下一次循环。 简单点说就是break是结束本次循环,continue终止本次循环。
双层循环
所谓双层(双层)循环,就是在循环内部嵌套循环。
for(变量 i; 循环条件;跟新变量){ // 外层循环
//循环操作1
for(变量 j; 循环条件;跟新变量){ // 内层循环
//循环操作2
}
}
1:外层循环控制行,内层循环控制列 2:外层循环更新一次,内层循环更新一轮 闹钟- 外层循环可以理解为分针,秒针转一圈
简单点说就是break完全结束循环,continue终止本次循环。 break和continue的比较: 1:使用场合: break常用于switch结构和循环结构中 continue只能用于循环结构中 2:在循环中的作用 break用于完全结束一个循环 continue是跳过本次循环,执行下一次循环
3:常用的调试说明 可以在程序中打断点进行调试:说明如下 在程序中双击,做个断点,budeg启动程序进入调试模式
说明: 1表示当前继续执行代码(放行),直到遇到下一个断点,快捷键F8(resume), 2表示停止调试(terminate), 3表示进入当前方法内部,一步一步执行,快捷键F5(step into), 4表示运行下一行代码(下一步),执行当前行,但不进入执行细节,快捷键F6(step over), 5表示退出当前方法,返回到调用层,快捷键为F7(step return)
另外调试中鼠标移到代码编辑窗口,放在变量上时会显示当前变量的值。
注意:必须debug模式下的启动才会进入debug调试视图,否则断点无效 取消断点方式: 1:直接双击断点,可以取消 2:在debug视图可以取消所有的断点



