2021.3.17
今天自己敲了几道简单的题,听的都会,一做就废,学习Java一定要勤动手,多敲代码.今天学校课程很满,所以今天学的内容达不到我想要的,周末一定要补回来.今天的学习内容如下:
首先是几道例题:
变量值交换:(写了比较臭的码)
String S1 = “nan”;
String S2 = “bei”;
String temp = S1 ;
S1 = S2;
S2=temp;
System.out.println(“S1=”+S1+",S2="+S2);
这道题使用了一个新知识:如何从键盘获取不同类型的变量?
解:需要使用Scanner类
/*
如何从键盘获取不同类型的变量:需要使用Scanner类
具体实施步骤:
1.导包:import java.util.Scanner;
2.Scanner的实例化:Scanner scan = new Scanner(System.in);
3.调用Scanner类的相关方法(next()/nextXxx()),来获取指定类型的变量
注意:
需要根据相应的方法,来输入指定类型的值,如果输入的数据类型与要求的数据类型不匹配时,会报异常:InputMisMatchException
导致程序终止。
*/
import java.util.Scanner;
class ScannerTest{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("请输入您的名字 :");
String name = scan.next();
System.out.println(name);
System.out.println("请输入您的年龄");
int age = scan.nextInt();
System.out.println(age);
System.out.println("请输入您的体重");
double weight = scan.nextDouble();
System.out.println(weight);
//对于char型的获取,Scanner没有提供相关的方法,只能获取一个字符串
System.out.println("请输入你的性别:(男/女)");
String gender = scan.next();//"男"
char genderChar = gender.charAt(0);//获取索引为0位置上的字符
System.out.println(genderChar);
}
if else例题1
岳小鹏参加Java考试,他和父亲岳不群达成承诺:
如果:
成绩为100分时,奖励一辆BMW;
成绩为(80,99]时,奖励一台iphone xs max;
当成绩为[60,80]时,奖励一个 iPad;
其它时,什么奖励也没有。
请从键盘输入岳小鸱的期末成绩,并加以判断
说明:
1.else结构是可选的
2.>如果多个表达式之间没有交集,哪个判断和执行语句声明在上面还是下面,无所谓
>如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚哪个在上哪个在下。
>如果多个条件表达式之间有包含关系,通常情况下,需要将范围小的声明在范围大的上面。
*/
import java.util.Scanner;
class IfTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入岳小鹏的成绩:");
int grate = scan.nextInt();
if (grate==100){
System.out.println("奖励一辆BWM");
}else if (grate>80&&grate <= 99){
System.out.println("奖励iponexs");
}else if (grate>=60&& grate <= 80){
System.out.println("奖励ipad");
}else{
System.out.println("臭狗");
}
}
}
例题2:输入三个整数,对它们进行排序(使用if-else if-else)
说明:
1.If-else结构是可以相互嵌套的;
2.如果if-else结构中的执行语句只有一行时,对应的一对{}可省略,但不建议大家省略。
*/
import java.util.Scanner;
class IfTest2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("num1:");
int num1 = scan.nextInt();
System.out.println(num1);
System.out.println("num2:");
int num2 = scan.nextInt();
System.out.println(num2);
System.out.println("num3:");
int num3 = scan.nextInt();
System.out.println(num3);
if (num1<=num2){
if (num3<=num1){
System.out.println(num3 + "," + num1 + "," + num2 );
}else if (num3>=num2){
System.out.println(num1 + "," + num2 + "," + num3);
}else{
System.out.println(num1 + "," + num3 + "," + num2);
}
} else {
if (num3<=num2){
System.out.println(num3 + "," + num2 + "," + num1 );
}else if (num1<=num3){
System.out.println(num2 + "," + num1 + "," + num3);
}else{
System.out.println(num2 + "," + num3 + "," + num1);
}
}
}
}
想法:这道题其实不难,不过在多次嵌套后,会导致混乱.
!!!然后是几道没时间做的练习,有一些知识点还没学到,一定得找时间去练习一遍.
/课后练习3:如何获取一个随机数:10-99
//random是一种方法,在API可以找到;
double value = Math.random();//[0.0,1.0)
//课后练习4:如何获取一个随机数:10-99
int value = (int)(Math.random()*90+10);//[0.0,1.0)--->[0.0,90)--->[10.0,100.0)--->[10,99]
//公式:[a,b] : (int)(Math.random()*(b - a + 1)+a)
}
给自己的寄语:
努力过后,抬头便是星光!