第二天if else语句,if if语句,switch语句的学习,if else语句是假设两种情况,当if(条件表达式成立)可以输出打印,else后面指的是除if(条件表达式)判断的情况以外的事件。例如判断整除
int a=2;
int b=5;
if (b%a==0) {
System.out.println("可以整除");
}else {
System.out.println("不能整除");
}
if if是指多个条件表达式都要判断,相比if else来说需要判断条件比较多例如:
int a=50;
int b=50;
if (a==b)
{
System.out.println("ok1");
b--;
}
if(a>b) {
System.out.println("ok2");
}
if (a>=b) {
System.out.println("ok3");
}
switch case语句:switch后()里跟的是条件表达式,case后跟的是常量表达式,用来判断switch后的变量是否满足case后的条件事件。注意case后用:加上条件语句,当条件语句为真成立时候,我们同样可以在后面添加新的算法。还要注意要在后面加上break返回语句;表示如果一个条件成立,就不继续往下执行。
char c='a';
switch(c) {
case 'a':
int a=1;
int b=2;
int d=a+b;
System.out.println("d="+d);
break;
case 'b':
System.out.println("星期二");
break;
case 'c':
System.out.println("星期三");
break;
default:
System.out.println("不知道");
break;
}
注意条件表达式数据类型要与case后的常量表达式数据类型相同,例如下面返回值不同就无法编译。
String str;
int a;
BufferedReader buf;
buf=new BufferedReader(new InputStreamReader(System.in));
str=buf.readLine();
a=Integer.parseInt(str);
switch (a)//switch可用的数据类型主要是 byte short int char enum
{
case a<=100&&a>=90:System.out.println("优");break;
case a<90&&a>=80:System.out.println("良");break;
case a<80&&a>=70:System.out.println("中");break;
case a<70&&a>=60:System.out.println("及格");break;
case a<60&&a>=0:System.out.println("不及格");break;
default:System.out.println("input error");break;//条件表达式数据类型要与case后的常量表达式数据类型相同
}
因为case返回值是Boolean类型,与a类型不同,就会报错,这其中还运用了逻辑运算符:与或非
与&&表示两边同时为真才为真
或||表示两边有一个为真则它就为真
非!与后面表达式相反,表达式为真它为假,表达式为假它为真。
#循环语句
刚接触到的循环语句有for循环,while语句,do while语句,
其中for循环书写方式for(int i=0;i<2;i++){循环内容}:可以看到第一句是定义变量和对它赋值,第二句则是判断语句,第三句是累加语句i++——>i=i+1;表示当i累加到不满足判断表达式时候停止循环。其中{}里是循环内容。
for (int i=0;i<30000;i++)
{
System.out.println("我爱你");
}
我爱你三千次。
while 语句书写方式while(表达式){循环内容}先判断后执行
int i=0;
while (i<10) {
i++;
System.out.println("我爱你");
;
}
do while书写方式do {循环内容}while(条件语句)先执行后判断
int i=0;
do {
System.out.println("我爱你");
i++;
}while(i<10);
利用for循环打印镂空金字塔
//金字塔
// int lay=10;//层数
// for (int i=0;i<=lay;i++){
// for (int k=1;k<=lay-i;k++) {
// System.out.print(" ");
// }
// for(int j=1;j<=(i-1)*2+1;j++) {
// if(i==1||i==lay) {
// System.out.print("*");//打印*
// }else
// {
// if(j==1||j==(i-1)*2+1) {
// System.out.print("*");
// }else {
// System.out.print(" ");
// }
//
// }
// }
// System.out.println();//打印换行
// }
五行五列
int a=5;
for (int i=1;i<=a;i++) {
for(int k=1;k<=i;k++) {
System.out.print("*");
}for(int j=1;j<=a-i;j++) {
System.out.print("*");
}
System.out.println();
}
镂空矩形
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 10; j++) {
if (i == 0 || i == 7 || j == 0 || j == 9)
{
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}