例:
public class Demo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入");
String s =scanner.nextLine();
if (s.equals("hello")){
System.out.println(s);
}
System.out.println("end");
scanner.close();
}
}
例:
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩");
if(scanner.hasNextDouble()){
Double score = scanner.nextDouble();
if(score>60) {
System.out.println("及格");
}
else{
System.out.println("不及格");
}
}
scanner.close();
}
}
可以有多个else if,必须在if之后。当其中一个else if为true时,其他的else if直接跳过。最多只有一个else语句,只能出现在最后。
例:
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩");
if(scanner.hasNextDouble()){
Double score = scanner.nextDouble();
if(score==100){
System.out.println("恭喜满分!");
}
if(score<100&&score>=90) {
System.out.println("A");
}
if(score<90&&score>=80) {
System.out.println("B");
}
if(score<80&&score>=70) {
System.out.println("C");
}
if(score<70&&score>=60) {
System.out.println("D");
}
if(score<60&&score>=50) {
System.out.println("E");
}
else{
System.out.println("成绩不合法!");
}
}
scanner.close();
}
}
其中字面量(literal)和变量/常量的区别是,变量/常量常常出现在等式左边,字面量只能出现在等式右边。
如 n=“hello world!”,n就是变量,hello world就是字面量。
public class Demo04 {
public static void main(String[] args) {
//case穿透 switch 匹配一个具体的值
char grade ='C';
switch (grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("再接再厉");
break;
case 'E':
System.out.println("挂科");
break;
default:
System.out.println("非法等级");
break;
}
例:
public class Demo06 {
public static void main(String[] args) {
int i=1;
int sum=0;
while (i<=100){
sum+=i;
i++;
}
System.out.println(sum);//输出5050
}
}
有的时候需要使用死循环,即永远不会结束的循环,如监听。
while(true){
\\方法体
}
for循环与while循环实现同一个功能的对比,for循环更简洁
public class forDemo01 {
public static void main(String[] args) {
int a = 1;//初始化条件
while (a<100){
System.out.println(a);
a+=2;//迭代
}
System.out.println("while循环结束!");
//for(初始化;布尔值判断;更新迭代)
for(int i=1;i<100;i+=2){
System.out.println(i);
}
System.out.println("for循环结束!");
}
}
for循环注意点:
for(; ;)//死循环
打印一个九九乘法表
参考答案:
public class forDemo03 {
public static void main(String[] args) {
for (int i = 1; i <=9; i++) {
for (int j = 1; j<=i; j++) {
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.println();
}
}
}
打印一个三角形
参考答案:
public class forDemo05 {
public static void main(String[] args) {
for (int i = 0; i <=5; i++) {
for (int j = 5; j >= i; j--) {
System.out.print(" ");
}
for (int j = 0; j <=i; j++) {
System.out.print("*");
}
for (int j = 1; j <=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}