任何复杂的程序逻辑都可以通过三种结构来实现
顺序结构:从上往下逐行执行,每句必走
分支结构:有条件的执行某语句
循环结构:有条件执行某语句多次,并非每句逼走
字符串连接运算符:
1)+;
1.1)若两边都是数字,则做加法运算
1.2)若两边出现了字符串,则做字符串连接
给变量赋值
1)赋一个固定的值:
2)接受用户输入的值: Scanner
3)系统随机生成的值
1)Scanner接受用户输入的数据:共三步
Scanner使用
import java.util.Scanner;
Scanner scan =new Scanner(System.in);
-
%:取模/取余,余数为零即为整除
-
++/–:自增1/自减1,在变量前后;
2.1 单独使用其前后都一样
2.2 被使用时,
a++的值为a (a---的值为a)
++a的值为a+1 (---a的值为a-1)
(1) a++; 相当于 a=a+1 ++b;相当于b=b+1
int c=a++ (保存a++的值为5) a自增为6) a++的值赋值给c
int d=++b (保存++b的值为6) b自增为6) ++b的值赋值给d
(2) a–;相当于 a=a-1 --b;相当于 b=b-1
int c=a-- 保存a--的值为5) a自减为4) a--的值赋值给c
int d=--b (保存--b的值为4) b自增为4) --888b的值赋值给d
逻辑运算符
1)&&:逻辑与(并且),两边都为真则为真,见false则false
||:逻辑或(或者),有真则为真,见true则为true
!:逻辑非(取反),非真则假 ,非假则真
赋值运算符:
1)简单赋值运算符:=
2) 扩展赋值运算符"+=,-=,/=.%=
----扩展复制自带强转功能
字符串
char:字符型,单引号中,只能有一个
String:字符串型,双引号中,0个到多个
字符串连接运算符:
1)+:
1.1)若两边都是数字,则做加法运算
1.2)若两边出现了字符串
任何类型与字符串相连,结果都会变为字符串类型----同化类型
条件/三目运算符:
1)语法: Boolean?数1:数2
2)执行过程:整个表达式是有值的,
计酸Boolean的值:
若为true,则整个表达式的值为?号后的数1
若为true,则整个表达式的值为:号后的数2
分支结构:基于条件执行的语句
if结构: 1条路
if.....else结构:2条路 执行过程:
if (Boolean) 判断Boolean的值:
{ 语句块1} 若为true,则执行语句块1(整个结束)
else{ 语句块2} 若为false,则执行语句块2(整个结束)
if…else if结构:多条路
语法:
if(boolean-1){ 语句块1
}else if(boolean-2){ 语句块2
}else if(boolean-3){ 语句块3
}else{ 语句块4 }
执行过程:
判断boolean-1,若为true则执行语句块1(结束),若为false则
再判断boolean-2,若为true则执行语句块2(结束),若为false则
再判断boolean-3,若为true则执行语句块3(结束),若为false则 执行语句块4(结束)
说明:
语句块1/2/3/4,只能执行其中之一------------多选1
do…while结构:先执行后判断,至少执行一次
要素1与要素3相同时,首选do…while
语法:
do{ 语句块
} while ( boolean ) { } ;
执行过程:
先执行语句块,再判断boolean的值,若为true则
再执行语句块,再判断boolean的值,若为true则
再执行语句块,再判断boolean的值,若为true则
再执行语句块,如此反复,直到boolean的值为false,则 do…while结束
循环:反复多次执行一段相同或相似的代码
循环三要素:
循环变量的初始化
循环的条件(以循环变量为基础)
循环变量的改变(向着循环的结束变)
循环变量:在整个循环过程中所反复改变的那个数
补充:
变量的作用域/范围:
从变量的声明开始,到包含它最近的大括号结束
循环结构:
while结构:先判断后执行,有可能一次都不执行
do…while结构:先执行后判断,至少执行一次
要素1与要素3相同时,首选do…while
分支结构:
if…else if结构:多条路
switch…case结构:多条路
(byte short int char String 枚举类型)
优点:效率高、结构清晰
缺点:只能对整数判断相等
break:跳出switch
循环:反复多次执行一段相同或相似的代码
循环结构:
while结构:先判断后执行,有可能一次都不执行
do…while结构:先执行后判断,至少执行一次
要素1与要素3相同时,首选do…while
嵌套循环:
循环中套循环,常常多行多列时使用,一般外层控制行,内层控制列
执行过程:外层循环走一次,内层循环走所有次
建议:嵌套层数越少越好,能用一层就不用两层,能用两层就不用三层
break只能跳出当前一层循环
循环结构:
for结构:应用率高、与次数相关的循环
语法:
// 1 2 3
for(要素1;要素2;要素3){
语句块/循环体----------------反复执行的代码 4
}
import Java.until.Scanner;
{导入一个扫瞄仪 Scanner scanner =new Scanner(System.in)}
object object=scanner.nextobject();
break:跳出switch 跳出循环
continue:跳过循环体中剩余语句而进入下一次循环