目录
一、if-else语句
1、语法
if (boolean) {
代码块
} else if (boolean) {
代码块
} else if (boolean) {
代码块
} else {
代码块
}
2、举个栗子
输入成绩,输出成绩对应等级,具体等级划分如下:
/* >=90 <=100 优秀; >=80 <90 良好; >=70 <80 一般; >=60 <70 及格; <60 不及格 */
@Test
public void testIf() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = scanner.nextInt();
//判断非法数据
if (score < 0 || score > 100) {
System.out.println("这是非法输入");
//方法后面的代码不再执行
return;
}
if (score >= 90 && score <= 100) {
System.out.println("优秀");
} else if (score >= 80 && score < 90) {
System.out.println("良好");
} else if (score >= 70 && score < 80) {
System.out.println("一般");
} else if (score >= 60 && score < 70) {
System.out.println("及格");
} else {
System.out.println("不及格");
}
}
3、IDEA单元测试控制台不能输入数据
在做上面的例子的时候我发现控制台无法输入数据,但是若把代码放到main方法里面则可以输入,解决办法参考了下面这个链接的:
二、三目运算符
1、语法
boolean ? 数1 : 数2
2、执行过程
(1)计算boolean的值
(2)若为true:则整个结果为数1
(3)若为false:则整个结果为数2
3、举个栗子
取num1和num2中的最大值:(大家一定要自己试试,不试是没法发现自己不会的!!!)
@Test
public void test1() {
int num1 = 12;
int num2 = 3;
int max = 0;
if (num1 >= num2) {
max = num1;
} else {
max = num2;
}
System.out.println(max);
int max1 = 0;
max1 = num1 >= num2 ? num1 : num2; //相当于上面的if-else语句
System.out.println(max1);
}
三、for循环和while循环
任何复杂的程序逻辑都可以通过“顺序”、“分支”、“循环”这三种基本结构来实现。
1、语法
(1)for循环
(2)while循环
while (boolean) {
代码块 //可以反复执行
}
2、举个栗子
打印5遍HelloWorld(我后面加数字是为了方便看打印了几遍)。
(1)for
@Test
public void test2() {
for (int i = 1; i <= 5; i++) {
System.out.println("HelloWorld" + i);
}
}
(2)while
@Test
public void test1() {
int count = 1;
while(count <= 5){
System.out.println("HelloWorld" + count);
count++;
}
}
3、常见题型
while、for循环主要是两类题目:
(1)累加思想
例:1+2+3+... + 100
@Test
public void test3() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
System.out.println(i);
sum += i; // sum = sum + i;
}
System.out.println("sum:" + sum);
}
(2)统计思想,数一下符合条件的有多少个
例:计算1-100以内能被7整除的数的个数
@Test
public void test4() {
int count = 0;
for (int i = 1; i <= 100; i++) {
if (i % 7 == 0) {
System.out.println(i);
count++;
}
}
System.out.println("能被7整除的个数:" + count);
}