在完成对C语言的学习后,我最近开始了对C++和Java的学习,目前跟着视频学习了一些语法,也跟着敲了一些代码,有了一定的掌握程度。现在将跟着视频做的笔记进行整理。本篇博客是整理Java知识点的第三篇博客。
本篇博客介绍Java的输入,以及顺序结构和if语句。
本系列博客所有Java代码都使用IntelliJ IDEA编译运行,版本为2022.1。所用JDK版本为JDK11。
目录
数据输入
包是Java提供的确保类名唯一性的机制,是类的一种管理形式。
一个完整的类名是包名+类名,如果没有import导入,使用一个类需要给出完整类名(同个包中的类可以直接访问)。导包可以使用不同包的类,导入包的格式是import java.包名.类名,此动作必须出现在类定义的上边。
java.lang包是Java程序设计的基本类,不需要导入。
输入的类Scanner在java.util包下。
在导入包后,先在类中创建一个Scanner类的对象,然后才能接收数据。
创建Scanner类对象的格式是:Scanner sc = new Scanner(System.in)
其中sc是对象名,可以修改。System.in是标准输入。
sc.nextInt()从键盘读取一个整数,并返回此整数,可以赋给一个整型变量。nextInt是Scanner类下的一个方法。
import java.util.Scanner;
public class input {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
System.out.println("x = " + x);
}
}
此程序要求输入一个整数,并将其输出。在输入10后会输出x = 10。
下面案例输入三个人的身高,并进行比较,随后输出最大值。
import java.util.Scanner;
public class comparethree {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int height1;
System.out.print("Please enter the first height: ");
height1 = sc.nextInt();
int height2;
System.out.print("Please enter the second height: ");
height2=sc.nextInt();
int height3;
System.out.print("Please enter the third height: ");
height3=sc.nextInt();
System.out.println("The first height is : " + height1);
System.out.println("The second height is : " + height2);
System.out.println("The third height is : " + height3);
int max = (height1 > height2) ? height1 : height2;
max= (max > height3) ? max : height3;
System.out.println("max = " + max);
}
}
下面是一个运行示例
Please enter the first height: 165
Please enter the second height: 180
Please enter the third height: 145
The first height is : 165
The second height is : 180
The third height is : 145
max = 180
顺序结构
流程控制语句包括顺序结构、分支结构和循环结构。
顺序结构是最简单最基本的流程控制,按照代码的先后顺序依次执行,大多数代码是这样执行。
public class order {
public static void main(String[] args){
System.out.println("Begin");
System.out.println("First");
System.out.println("Second");
System.out.println("Third");
System.out.println("Last");
System.out.println("End");
}
}
这段代码按顺序输出以下内容
Begin
First
Second
Third
Last
End
if语句
if语句是一种分支语句。
最基本的if语句
if语句最基本的格式是
if(关系表达式){语句体}
首先计算关系表达式的值,如果为true就执行后面花括号中的结构体,为false就不执行花括号中的结构体。
public class Ifsen1 {
public static void main(String[] args){
System.out.println("Begin");
int a = 10;
int b = 15;
int c = 10;
if(a == b){
System.out.println("a equal b ");
}
if(a == c){
System.out.println("a equal c ");
}
System.out.println("End");
}
}
这段程序的输出是:
Begin
a equal c
End
if else语句
if else语句的格式是
if(关系表达式){语句体1}else{语句体2}
如果关系表达式的值为true,则执行语句体1,为false则执行语句体2。
public class Ifsen2 {
public static void main(String[] args){
System.out.println("Begin");
int a = 10;
int b = 15;
if(a > b ){
System.out.println("a is bigger than b");
}else{
System.out.println("a is smaller than b");
}
System.out.println("End");
}
}
下面程序的输出是
Begin
a is smaller than b
End
奇偶数
利用if else语句可以判断奇偶数。
import java.util.Scanner;
public class Iftest1 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int number;
System.out.print("Please enter a number: ");
number = sc.nextInt();
if(number %2 == 0){
System.out.println(number + " is even");
}else{
System.out.println(number + " is odd");
}
}
}
这段代码获取输入,并判断是奇数还是偶数。
输入15后的结果为
Please enter a number: 15
15 is odd
输入10后的结果为
Please enter a number: 10
10 is even
多个if else语句
较复杂的ifelse语句格式可以按这样表示:
if(关系表达式1){语句体1}
else if(关系表达式2){语句体2}
else if(关系表达式3){语句体3}
...
else{语句体}
如果关系表达式1的值为真,执行语句体1,否则如果关系表达式2的值为真,执行语句体2,以此类推,如果所有表达式值都为假,则执行else后的语句体,没有这个else就什么也不执行。
import java.util.Scanner;
public class Ifsen3 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("Begin");
System.out.println("Please enter the grade (from 0 to 10)");
int grade;
grade=sc.nextInt();
if(grade>=8){
System.out.println("You think it is very good");
}else if(grade >=6){
System.out.println("You think it is good");
}else if(grade >=4){
System.out.println("You think it is OK");
}else{
System.out.println("You think it is very bad");
}
System.out.println("End");
}
}
这段代码根据不同输入输出不同的结果
输入5的结果
Begin
Please enter the grade (from 0 to 10)
5
You think it is OK
End
输入9的结果
Begin
Please enter the grade (from 0 to 10)
9
You think it is very good
End
输出1的结果
Begin
Please enter the grade (from 0 to 10)
1
You think it is very bad
End
考试等级判定
可以利用多重if语句进行一些操作,下面代码获取输入成绩,并根据成绩得到不同的等级。
import java.util.Scanner;
public class Iftest2 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("Please enter a score (from 0 to 100)");
int score;
score = sc.nextInt();
if(score>100|score<0){
System.out.println("Input error");
}else if(score >= 90){
System.out.println("The grade is A");
}else if(score >=80){
System.out.println("The grade is B");
}else if(score>=70){
System.out.println("The grade is C");
}else if (score >=60){
System.out.println("The grade is D");
}else{
System.out.println("The grade is E");
}
}
}
输入75后的结果
Please enter a score (from 0 to 100)
75
The grade is C
输入55后的结果
Please enter a score (from 0 to 100)
55
The grade is E