(一)java条件语句之if
if语句,用于需要判断满足条件后,执行程序的情况(这不是废话么)。
if语法:
if(条件){
满足条件时执行的代码
}
执行过程如下:
例:
String str = "一份耕耘";
if(str .equals( "一份耕耘“)){
System.out.println("一份收获");
}
注:如何if条件语句成立时的执行语句只有一条就不需要加‘ { } ’ , 反之 ,则需要加入。
(二)java条件语句之if....else
if...else 语句用于当条件成立时,则执行if 块中的代码,反之,则执行else中的代码。
语法:
if(布尔表达式){
if的代码块
}else{
else的代码块
}
执行过程:
例:
String str = "一份耕耘";
if(str .equals("一份耕耘“)){
System.out.println("一份收获");
}else{
System.out.println("没有收获");
}
(三)java条件语句之多重 if多重if语句 ,当条件1不成立时,才会进行条件2的判断,若条件1与条件2均不成立时,则执行else块内的代码。
语法:
if(条件一){
/*if的代码块*/
}else if (条件二){
/* else if 的代码块*/
}else{
/*else的代码块*/
}
执行流程:
例:
String str = "一份耕耘";
if(str .equals("一份耕耘“)){
System.out.println("一份收获");
}else if( str .equals( "俩份耕耘“)){
System.out.println("俩份收获");
}else{
System.out.println("没有收获");
}
(四)java语句之嵌套if嵌套if语句 ,就是当外层if的条件成立时,才会判断内层if的条件。
语法:
if(条件1){
if(条件2){
/*条件2的代码块*/
}else{
/* 内层else的代码块*/
}
}else {
/*外层else的代码块*/
}
执行过程:
例:
String str1 = "开学";
String str2 = "学习“
if(str1.equals("开学“)){
if(str2str .equals("学习“)){
System.out.println("一份耕耘,一份收获");
}else{
System.out.println("注定搬砖!");
}
}else{
System.out.println("去小美家玩耍!");
}
(五)java条件语句之switch
switch语句 ,当需要对选项进行等值判断时,使用switch语句更加简洁明了。
语法:
switch(表达式){
case 值1 :
执行代码块 1
break;
case 值 2:
执行代码块 2
break;
case 值 n:
执行代码块 n
break;
default :
默认执行的代码
}
说明:当switch语句后面的值与case语句值相同时,则从该位置开始执行,知道遇到break停止或者switch语句执行完毕;若没有匹配的case语句则执行default块代码。
例:
int fruit = 1 ;
switch (fruit) {
case 1 :
System.out.println("你要的是香蕉!");
break;
case 2:
System.out.println("你要的是橘子!");
break;
case 3:
System.out.println("你要的是石榴!");
break;
default:
System.out.println("你要的是苹果!");
注:1)switch语句的小括号中必须是整型或字符型。
2)case后面的值可以是常量数值,也可以是常量表达式(比如:7+89),但不可以是变量或者带有变量的表达式,例:str * 9
3)case匹配后,执行case中的代码,如没有遇到break语句,则继续执行,直到执行完default代码块.
4)功能相同的case语句可以合并起来,
例:
case 2:
case 3:
System.out.println("你要的是石榴!");
break;
5)default可以出现在任意的位置,也可以省略。
(六)java循环语句之while
java常用的3中循环:while ,do....while , for
1)while循环的语法
while(判断语句){
循环操作
}
执行描述:(1)先判断,后执行;即先对while的条件进行判断,然后,执行循环操作,直到程序执行完毕。
例:
int n = 66;
while( n <=100){
System.out.println("一份耕耘,一份收获!");
}
2)java循环语句之do ...while
语法: do{
循环操作
}while(判断条件);
执行过程:
(1)先执行,后判断,即先执行一次循环操作,然后判断循环条件是否成立。若成立,则继续执行,直到结束。
!!!!所以,do......while 语句至少执行一次 !!!!
int n = 66;
do{
System.out.println("一份耕耘,一份收获!");
} while( n <=100);
3)java循环语句之for
语法:
for(循环变量初始化;循环条件;循环变量变化){
循环操作
}
例:
for(int i = 10 ;i<= 200 ;i++){
System.out.println("一份耕耘,一份收获!");
}
注意:
1)for后面括号中的循环变量初始化 ,循环条件,循环变量变化------必须用“ ;”(英文的)隔开,三个表达式均可以省略,但是“ ; ‘必须保留。
(1)省略-------------循环变量初始化 ,可以这样写:
int i = 0;
for( ;i<= 200 ;i++){
System.out.println("一份耕耘,一份收获!");
}
2)省略-------------循环条件 ,可以这样写:(这就是传说中的”死循环“),当然,我们可以使用break语句,强行停止。
for(int i = 0 ; ; i++){
System.out.println("一份耕耘,一份收获!");
}
3)省略-------------循环变量变化,可以在循环体中进行循环变量变化。
for(int i = 0 ; i<= 200; ; ){
System.out.println("一份耕耘,一份收获!");
i++;
}
4)for循环语句中的循环变量初始化 ,循环变量变化部分,可以使用” , “ 同时初始化或改变多个循环变量的值,如:
for( int i = 3 , j = 59 ; i <=100 ;i++ ,j - -){
System.out.println(i + ”+“ + j + ” = “ +(i + j ));
}
4)break 指定退出循环语句
break 语句可以退出指定的循环,直接执行循环后面的代码。
例:
public static void main(String[] args) {
if( int i = 1 ; i <25 ; i++){
for(( i > 2 ) && ( i % 3 == 0 )){
break ;
}
System.out.println(i );
}
System.out.println("over ");
}
运行结果:
1
2
over
5) continue跳出循环体语句,执行下一次语句
例:
for ( int i = 1 ; i <= 8; I++){
//判断i是否是偶数
if ( i % 2 !=0 ){
continue ; //通过continue结束本次循环,直接进入下一次循环。
}
}
运行结果:
2
4
6
8
(七)java循环语句之多重循环
多重循环 ,指的是循环体中包含循环语句的结构。
说明:
例:
//外层循环控制打印的行数
for ( int i = 1 ; i <= 3 ; i++ ){
//内层循环控制每行打印的 * 号数
for (int j = 1 ; j <=8 ; j++ ){
System.out.print("*");
}
//每行打印完毕换行
System.out.println("*");
}
运行结果:
* * * * * * * *
* * * * * * * *
* * * * * * * *
编程题目:打印菱形
输出结果:
打印菱形!!!!
*
***
*****
*******
*****
***
*
分析与理解:
1)程序的控制共分为3块,控制行数块,控制空格块 ,控制星号块.
public class rhombus {
public static void main(String args[]){
System.out.println("打印菱形!!!!");
/*(外层循环控制行数)首先将菱形看成上下结构,即上面5行下面4行的结构,
所以,菱形上面for循环有4次,下面for循环有3次*/
//控制输出的行号-------------------------输出的行号:1 ,2 ,3 ,4
for(int i=1;i<5;i++){
// 内层循环变量的最大值和外层循环变量的值相等
//控制每行输出的空格---------输出空格个数: 4 ,3 , 2 ,1
for(int j=1;j<5-i;j++){
System.out.print(" ");
}
// 控制每行的*号数-----------输出的星号数: 1,3 , 5 , 7
for(int k=1;k<=2*i-1;k++){
System.out.print("*");
}
// 每打印完一行后进行换行
System.out.println();
}
for(int i=3;i>0;i--){
for(int j=3-i;j>=0;j--){
System.out.print(" ");
}
for(int k=2*i-1;k>0;k--){
System.out.print("*");
}
System.out.println();
}
}
}
注:
1)分析下程序中行数,空格数,星号数可以观察到,行数 与 空格数互为倒序,星号数 与 行数的关系,则是星号数均为奇数,而行数均为偶数。