Java入门之循环与判断
1. 循环结构
1. while语句
while(布尔表达式){
//循环内容
}
//例子
while(true){
System.out.println(“无限循环”);
}
int i = 100;
while(i){
i–;
System.out.println(“还有”+i+”次循环就结束啦。”);
}
2. do…while语句(不常用)
while语句如果不满足条件,就不会执行。但是do…while语句即使不满足条件,也会执行一次。
do {
//代码语句
System.out.println(“就算是错的我也能运行鸭”);
}while(false);
3. for循环语句
/*
1. 初始值是指初始化的值,我们可以在for语句内定义,也可以在for语句外先定义好这个值。
但是我们必须在此处赋予它一个初始化的值,例如从0开始。例如:int i = 1;或i = 1;
2. 布尔表达式,当结果为false时,循环结束。
3. 更新,每次循环后,可以做一个更新的动作。比如i++,即每次循环后i加一。
*/
for(初始值;布尔表达式;更新){
//代码语句
}
/*
实例
*/
for(int x = 10; x < 20; x = x+1) {
System.out.println(“我是第” + x + “个数。”);
}
4. 增强的for循环
/*
Java5 引入了一种主要用于数组的增强型 for 循环。
Java 增强 for 循环语法格式如下:
*/
for(声明语句 : 表达式)
{
//代码句子
}
/*
那么,什么情况下可以用这样的for循环呢
当你要循环一个数组对象的时候,就可以使用了。
*/
int [] nums = {10, 20, 30, 40, 50};
for(int i:nums){
System.out.print( x );
System.out.print(“,”);
}
2. 条件语句
1. if语句
/*
我们可以使用if语句来判断条件
*/
if(布尔表达式){
//代码句子
}
/*
实例
*/
int x = 100;
if(x%2 == 0){
System.out.println(“x是偶数。”);
}
2. if…else
/*
if语句后可以跟else语句,当条件为false时,执行else语句
*/
if(布尔表达式){
//代码句子
}else{
//代码
}
/*
实例
*/
int x = 100;
if(x%2 == 0){
System.out.println(“x是偶数。”);
}else{
System.out.println(“x是奇数。”);
}
3. if…else if…else
/*
if语句可以进行多重嵌套
*/
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}
/*
实例
*/
int score = 66;
if(score >= 90){
System.out.println(“优秀”);
}else if(score >= 80){
System.out.println(“良好”);
}else if(score >= 60){
System.out.println(“合格”);
}else {
System.out.println(“奥力给”);
}
4. 嵌套的if…else
/*
我们可以使用套娃式的写if语句
*/
if(布尔表达式){
//代码
if(布尔表达式){
//代码
}
//代码
}
/*
嵌套的if语句即我们可以在if语句内再加上新的if语句,这只是一个用法,而不是新的语句。
不仅可以在if语句中加入if语句,也能在else语句中加入
不仅可以嵌套if语句,也可以嵌套if…else语句
以上是废话,无聊可以看看
实例
|
v
*/
int num = 6
if(num % 2 == 0){
if(num > 0){
System.out.println(“这是一个大于 0 的偶数”);
}else{
System.out.println(“这是一个不大于 0 的偶数”);
}
}else{
if(num > 0){
System.out.println(“这是一个大于 0 的奇数”);
}else{
System.out.println(“这是一个不大于 0 的奇数”);
}
}
3. break和continue
我们可以使用这两个语句控制循环。
大多时候,我们会和条件语句配合使用。
1. break
当出现break语句时,会跳出循环,不会再进行之后的循环。
String [] strs = {“张三”,”李四”,”王大锤”,”无名氏”}
for(String str:strs){
if(“王大锤”.equals(str)){
System.out.println(“找到王大锤”);
break;
}
System.out.println(“还没找到王大锤”);
}
/*
当找到王大锤后,之后的循环已经没有意义,使用break跳出循环。
*/
2. continue
当出现continue语句时,会中止当前循环,回到开头进行下一个循环。
int [] nums = {66,70,88,96,56};
int sum = 0;
for(int num : nums){
if(num >= 60){
sum += 1;
continue;
}
System.out.println(“检测到不合格分数”);
}
System.out.println(“有”+sum+”人及格”);
/*
如上面这样写,如果合格,就不会继续下面的代码,如果不合格,才会打印出提示。
*/
练习:
编写一个颜值判断系统
当颜值为0-60为丑比,当颜值为60-80为中等,当颜值80-90为清秀,当颜值90-100为盛世美颜,当颜值大于100为颜值爆表。
批量检测颜值,将多个颜值存入int数组,循环检测每个分数段有几个人并输出。同时,当检测到坏数据(小于0时),打印出呀, 你丑到我了,并将直接中止本次循环不计入统计。当检测到颜值爆表时,打印出糟糕,你美爆了我的小程序,并跳出循环。
拓展 switch语句
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
实际开发中,我很少用到这个语句,所以作为拓展放在这里。这个语句可以在条件很多时更有条理的写出判断。例如1-7对应周几,分数段判断等情况。
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}