选择语句
选择语句:if、switch
三目运算符
System.out.println(xx==y ? "vv" : "vv");
简单的if语法
if(条件){
//代码块
}
//不建议新手使用下列用法
if(条件)
//代码块
if else语法
if(条件){
//代码块1
}else{
//代码块2
}
多重if语法 (从大到小判断)
if(条件){
//代码块1
}else if(条件2){
//代码块2
}else{
//代码块3
}
嵌套if选择结构
//时间要小于10秒
if(time < 10){
//进入决赛
if(sex.equals("男")){
//进入男子组
}else{
//进入女子组
}
}
//字符串比较
//sex.equals("")
抽奖规则:会员号的百位数字等于产生的随机数字即为幸运会员
Scanner sc = new Scanner(System.in);
int number1 = sc.nextInt(); //会员号 1234 把2给取出来
int b = number1 / 100 % 10;
int number2 = (int) (Math.random()*10);
韩妹子获得奖励
int score = 1; //第一名
if(score == 1){
System.out.println("麻省理工一个月度假");
}else if(score == 2){
System.out.println("送电脑一台");
}else if(score == 3){
System.out.println("送硬盘一个");
}else{
System.out.println("送一个巴掌");
}
Switch
将以上代码换成Switch选择结构↓↓↓
int score = 1; //第一名
switch(score){
case 1:
System.out.println("麻省理工一个月度假");
break;
case 2:
System.out.println("送电脑一台");
break;
case 3:
System.out.println("送硬盘一个");
break;
default:
System.out.println("送一个巴掌");
break;
}
循环语句
循环语句:for、while、do while
上面选择结构中,我们始终无法让程序一直跑着,我们每次运行就停止了。这在真实环境中肯定是不行的嘛,比如网站服务器,肯定需要24小时全年无消息的跑着,我们需要规定一个程序运行多少次,运行多久,等等。所以按照我们编程是为了解决人的问题的思想,我们是不是得需要有一个结构来搞定这个事情!于是循环结构自然的诞生了!
顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,,就需要使用循环结构。
只要布尔表达式为 true,循环就会一直执行下去。
while 循环
在Java5中引入了一种主要用于数组的增强型for循环。
while是最基本的循环
语法:
while( 布尔表达式 ) {
//循环内容
}
例如:
int i = 0;
//i小于100就会一直循环
while (i<100){
i++;
System.out.println(i);
}
do while
对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。
语法:
do {
//代码语句
}while(布尔表达式);
While和do-While的区别:
while先判断后执行。dowhile是先执行后判断!
Do…while总是保证循环体会被至少执行一次!这是他们的主要差别。
public static void main(String[] args) {
int a = 0;
while(a<0){
System.out.println(a); a++;
}
System.out.println("-----");
do{
System.out.println(a); a++;
} while (a<0);
}
For循环
虽然所有循环结构都可以用 while 或者 do…while表示,但 Java 提供了另一种语句 —— for 循环,使一些循环结构变得更加简单。
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
for循环执行的次数是在执行前就确定的。
语法:
for(初始化; 布尔表达式; 更新) {
//代码语句
}
练习:计算0到100之间的奇数和偶数的和
public static void main(String[] args) {
int oddSum = 0; //用来保存奇数的和
int evenSum = 0; //用来存放偶数的和
for(int i=0;i<=100;i++){
if(i%2!=0){
oddSum += i;
}else{
evenSum += i;
}
}
练习:打印九九乘法表
for (int i = 1; i <= 9 ; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + (i * j)+ "\t"); }
System.out.println();
}
ForEach
Java5 引入了一种主要用于数组或集合的增强型 for 循环。
语法:
for(声明语句 : 表达式){
//代码句子
}
- 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
- 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
演示:增强for循环遍历输出数组元素
public static void main(String[] args) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ){
System.out.print( x );
System.out.print(",");
}
System.out.print("\n");
String [] names ={"James", "Larry", "Tom", "Lacy"};
for( String name : names ) {
System.out.print( name );
System.out.print(",");
}
}
for、while、do while三者之间的区别
continue、break、return三者之间区别
continue:结束当前当次循环,继续下一次循环
-
break:跳出循环
-
return:结束方法
-
continue
continue,结束当前当次循环,进行下一次内循环
for (int i = 0; i < 4; i++ ){
System.out.println("i==>"+i);
for (int j = 0; j < 3; j++ ){
if( j==1){
continue;
}
System.out.println(j);
}
}
输出如下:
i==>0
0
2
i==>1
0
2
i==>2
0
2
i==>3
0
2
通过如上输出信息发现,当i==1的时候,循环跳过了,不往下执行,继续下一次内循环,所以可以理解为结束当前当次循环,继续下一次循环。
- break
break,跳出循环
for (int i = 0; i < 4; i++ ){
System.out.println("i==>"+i);
for (int j = 0; j < 3; j++ ){
if( j==1){
break;
}
System.out.println(j);
}
}
输出如下:
i==>0
0
i==>1
0
i==>2
0
i==>3
0
通过如上输出信息发现,当i==1的时候,内层循环就结束了,j变量会从新赋值,所以可以称为跳出循环;
- return
一般用在方法上
return,跳出循环,并结束方法;
for (int i = 0; i < 4; i++ ){
System.out.println("i==>"+i);
for (int j = 0; j < 3; j++ ){
if( j==1){
return;
}
System.out.println(j);
}
}
输出如下:
i==>0
0
通过如上输出信息发现,当i==1的时候,内层循环就结束了,外层循环也结束了,该方法也结束了;