day 02
*内容辅助键:
* A.main方法:
* 先输入main 然后alt + / 然后回车
* B.输出语句:
* 先输入syso 然后alt + / 然后回车
*
*往下复制 :
* 选中一行 然后ctrl + alt +下键
*往上复制同理
*
*往下移动
* 选中一行 然后alt + 下键
*往上移动同理
*
*光标在某一行的随便一个位置时 用shift + 回车 可以直接打开新的一行
*
*添加多行注释:
* 选中需要添加的部分 ctrl + alt + /
*
*删除一行:
* 光标在某一行 然后ctrl + d
*
*一次性修改全部的一个单词:
* 选中这个单词 然后alt + shift +r
* 运算符:就是用于对常量和变量进行操作的符号
*
* 表达式:用运算符连接起来的符合java语法的式子.不同的运算符链接的表达式是不同类型的表达式.
* 举例: a,b
* a + b 算数表达式 其中+是运算符
*
* 运算符分类:
* 算数运算符
* 赋值运算符
* 关系运算符
* 逻辑运算符
* 三元运算符
*
* 算数运算符:
* +,-,*,/,%,++,--
*
* +,-,*,/ 的基本使用
*
* int a = 3;
* int b = 4;
* System.out.println(a + b);
* System.out.println(a - b);
* System.out.println(a * b);
* System.out.println(a / b);
*
// 整数相除只能得到整数,想要得到小数,就必须有浮点数参加运算
*
* %:用于获取两个数据相处的时候的余数
* /:用于获取两个数据相处的时候的商
*
* %:当左边的绝对值小于右边的绝对值时,结果是左边
* 当左边的绝对值等于右边的绝对值时,结果是0
* %运算符结果的符号只跟左边有关系,与右边无关
*
*
* + :
* 做加法运算
*
*
* 字符参与加法运算,其实是拿字符在计算机中存储的数据值来参与运算的
* 'A' = 65
* 'a' = 97
* '0' = 48
*
* 字符串参与加法运算,其实做的不是加法运算,而是字符串的拼接
* 字符串与任何数据做加法运算,都会产生一个新的字符串
* "abc" + 10 + 20 ===> "abc10" + 20 ===> "abc1020"
* 10 + 20 + "abc" ===>30 + "abc" ===> "30abc"
*
*
*
* ++,--:自增自减,用于对变量加1或者减1,隐含了强制类型转换
*
* ++,--既可以用在变量的后面,也可以用在变量的前面
*
*
* 参与其他操作的时候:
* ++在后面,先拿变量做赋值操作,然后变量再++
* ++在前面,先变量++,然后再拿变量做赋值操作
*
* 赋值运算符
* 基本的赋值运算符: =(赋值号)
* 扩展的赋值运算符:+= , -= ,*= ,/= ...
*
* +=的操作:
* 拿+=的左边和右边的数据做加法运算,然后把结果赋值给左边
****注意:扩展的赋值运算符,隐含了强制类型转换
* 有一个变量a,a = 10;
* a+=20 ===>a =(a的数据类型) (a + 20)
*
*
* 关系运算符:
* ==, !=, >,>=, <,<=
* 等于 不等于 大于,大于等于 小于,小于等于
*******关系运算符的结果是boolean类型
* 关系表达式,条件表达式,布尔表达式之间有什么关系?
* 都是一种表达式,只是换了一种说法而已,其结果都是boolean类型的
*
* 注意事项:
* 千万不要把两个等于号写成一个等于号
day03
/*流程控制语句
A.顺序结构:从上往下,依次执行
B.选择结构:
1.if语句有三种格式:
(1)格式一:if(关系表达式) {
语句体;
}
执行流程: a.首先计算关系表达式的值,看结果是true还是false
b.如果是true,就执行语句体
c.如果是false,就不执行语句体
(2)格式二:if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程: a.首先计算关系表达式的值,看结果是true还是false
b.如果是true,就执行语句体1
c.如果是false,就执行语句体2
(3)格式三:if(关系表达式1) {
语句体1;
}else if(关系表达式2) {
语句体2;
}
...
else { //else可以省略不写,但是建议书写,因为在实际开发中,我们人为考虑的条件,可能并不全面,需要让else来表示我们考虑不到的内容,这个内容一般称之为边界内容
语句体n+1;
}
执行流程: a.计算关系表达式1的值,看是true还是false
b.如果是true,就执行语句体1,补充的是:并且结束该if语句体内容,即下边不会再进行判断了
c.如果是false,就继续计算关系表达式2的值,看是true还是false
d.如果是true,就执行语句体2,补充的是:并且结束该if语句体内容,即下边不会再进行判断了
e.如果是false,就继续计算关系表达式3....
f.当所有的关系表达式都false的时候就执行语句体n+1
2.switch语句
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
(1)格式解释:
表达式:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String字符串
case后面的值:就是用来和表达式的值进行匹配的内容
break:表示中断的意思
default:所有的值都不匹配的时候,就执行default
(2)switch语句结束条件有2种情况:
a.遇到break结束
b.遇到switch语句的右大括号结束
(3)default以定要放在switch语句中的末尾吗?
不一定,想放在哪里就放在哪里.
如果default 放在了switch中的第一部分,那么程序的执行流程还是从第一个case开始进行匹配,如果没有匹配项,那么会执行default中的内容,
如果default中没有break,程序会发生穿透,直到遇到break或者switch语句的右大括号结束
(4)执行流程:
A.首先计算表达式的值
B.拿着这个计算出来的,依次和case后面的值进行比较,一旦有匹配的,就执行队形的语句体,在执行的过程中遇到break就结束
C.如果所有的case都不匹配,就执行语句体n+1
循环流程语句
循环语句的组成:
A.初始化语句
B.判断条件语句
C.循环体语句
D.控制条件语句
for循环语句的格式:
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
1.执行流程:
(1)执行初始化语句
(2)执行判断条件语句,看其结果是true还是false
如果是false,结束循环
如果是true,就继续执行
(3)执行循环体语句
(4)执行控制条件语句
(5)回到第2步继续循环
while循环语句格式:
while(判断条件语句) {
循环体语句;
}
扩展格式:
初始化语句:
while(判断提交语句) {
循环体语句;
控制条件语句;
}
do while 循环语句格式:
do {
循环体语句;
}while(判断条件语句);
扩展格式:
初始化语句;
do {
循环体语句;
控制条件语句;//循环后操作表达式
}while(条件判断语句);
执行流程:
A.执行初始化语句
B.执行循环体语句
C.执行控制条件语句
D.执行条件判断语句,看是true还是false
如果是false,就结束循环
如果是true,回到B继续
for循环和while的循环有什么区别?--->for比较节约内存
for结束后,初始化的变量就不能被使用了,而while循环结束后,初始化的变量还可以继续使用.
continue :只用在循环中
结束一次循环,继续下一个循环;
break:应用在循环或者switch中
结束整个循环;
|
|