Day05
如何在API字典中寻找自己想要的Scanner类型
1.点击搜索 输入Scanner
2.字典中回显示各种类型的获取方式:
nextByte()、nextShort()、nextInt()、nextLong()、nextdouble()、nextFloat()、next()多种引用使用。
3.调用Scanner类的相关方法,来获取指定类型的变量
//1.导包:improt java.util.Scanner;
import java.util.Scanner;
class ScannerTest{
public static void main(String[] args){
//2.Scanner的实例化
Scanner scan = new Scanner(System.in);
//调用Scanner类的相关方法
System.out.println("请输入你的姓名:");
String name = scan.next();//字符串类型
Syste.out.println(name);
Syste.out.println("请输入你的芳龄: ");
int age = scan.nextInt();
Syste.out.println(age);
Syste.out.println("请输入你的体重: ");
double weight = scan.nextDouble();
Syste.out.println(weight);
Syste.out.println("你是否相中我了呢?(true/false)");
boolean isLove = scan.nextBoolean();
Syste.out.println(isLove);
//对于char型的获取, Scanner没有提供相关的方法。只能获取一个字符串
Syste.out.println("请输入你的性别: (男/女)");
String gender = scan.next()//"男"
char genderChar = gender.charAt(0);//在API字典中找:String class,点击找char的方法,然后索引index(0)为零。
}
}
以上内容:展示API调用和使用char类型索引使用。
注意:
需要根据相应的方法,来输入指定类型的值。如果输入不同类型会报错。
练习题:
1.
import java.util.Scanner;
class IfTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入岳小鹏期末成绩: (0-100)");
int score = scan.nextInt();
if(score == 100){
System.out.println("奖励一辆BMW");
}else if(score > 80 && score <= 99){
System.out.println("奖励一台iphone xs max");
}else if(score >= 60 && score <= 80){
System.out.println("奖励一个 iPad");
}
}
}
分支结构的练习中发现的问题和特点;
1.代码中else 结构是可选的。
2.条件语句是代码的核心,定义条件需求一定要精确。
(1.如果多个条件之间是"互斥"关系(或没有交集的关系),哪个判断和执行语句声明在上面就执行哪个。
2.如果多个条件之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面
3.如果多个条件式之间有包含的关系,通常情况下,需要将范围小的声明在范围大的上面,否则,范围小的就没有机会执行了。)
3.if-else可以一层多嵌套使用。
import java.util.Scanner;
class IfTest2{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("请输入第一个整数:");
int num1 = scanner.nextInt();
System.out.println("请输入第二个整数:");
int num2 = scanner.nextInt();
System.out.println("请输入第三个整数:");
int num3 = scanner.nextInt();
if(num1 >= num2){
if(num3 >= num1){
System.out.println(num2 + "," + num1 + "," + num3);
}else if(num3 <= num1){
System.out.println(num3 + "," + num2 + "," + num1);
}else{
System.out.println(num2 + "," + num3 + "," + num1);
}else{
if(num3 >= num2){
System.out.println(num1 + "," + num2 + "," + num3);
}else if(num <= num1){
System.out.println(num3 + "," + num1 + "," + num2);
}else {
System.out.println(num1 + "," + num3 + "," + num2);
}
}
}
}
这道题:排列三个数的大小,利用分支语句来对Scanner提供的数据来进行从大到小的排序。
目的:将Scanner打印和分支语句融合使用。
class IfExer {
public static void main(String[] args){
int x = 4;
int y = 1;
if(x > 2)
if(y > 2)
System.out.println(x + y);
//System.out.println("atguigu");
} else
System.out.println("s is" + x);
}
}
是对大括号的使用。
boolean b = ture;
//如果写成if(b=false)能编译通过吗?如果能,结果是?
if(b == false)
System.out.println("a");
else if(b)
System.out.println("b");
else if(!b)
System.out.println("c");
else
System.out.println("d");
是对于分支语句的条件判断的理解。
3.获取狗的年龄
class IfExer {
public static void main(String[] args){
int dogAge = 6;
if(dogAge >=0 && dogAge <= 2){
System.out.println("相当于人的年龄: " + dogAge * 10.5);
} else if(dogAge > 2){
System.out.println("相当于人的年龄: " + (2 * 10.5 + (dogAge - 2) * 4));
} else {
System.out.println("狗还没有出生");
}
}
}
是对分支语句和打印的使用。
int value = (int)(Math.random() * 90 + 10);// [0.0,1.0) --> [0.0,100.0]]
//公式:[a,b] : (int)(Math.random() * (b - a + 1) + a)
如何使用Math.random();
然后利用强制类型转换来完成随机数使用。
class IfExer{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入你的身高:(cm)");
int height = scan.nextInt();
System.out.println("请输入你的财富: (千万)");
double wealth = scan.nextDouble();
/*
方式一:
System.out.println("请输入你是否帅: (true/false)");
boolean isHandsome = scan.nextBoolean();
if(height >= 180 && wealth >= 1 && isHandsome){
System.out.println("我一定要嫁给他!!!");
}else if(hegiht >= 180 || wealth >= 1 || isHandsome){
System.out.println("嫁吧,比上不足,比下有余。");
}else{
System.out.println("不嫁!");
}
*/
//方式二
System.out.println("请输入你是否帅: (是/否)");
String isHandsome = scan.next();
if(height >= 180 && wealth >= 1 && isHandsome.equals("是")){
System.out.println("我一定要嫁给他!!!");
}else if(hegiht >= 180 || wealth >= 1 || isHandsom.equals("是")){
System.out.println("嫁吧,比上不足,比下有余。");
}else{
System.out.println("不嫁!");
}
}
}
逻辑和Scanner的使用
如何用汉字输入是否:先答应字符串、然后将equals==号放入选择中使用。
switch-case
switch(表达式){
case 常量1:
执行语句1;
//break;
case 常量2:
执行语句2;
//break;
...
default:
执行语句n;
//break;
}
int age = 10;
switch(age){
case age > 18:
System.out.println("成年了");
break;
default:
System.out.println("未成年");
}
switch case的使用规则: 1.switch结构中的表达式,只能是如下的6种数据类型之一: byte、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增) 2.如果switch case的多条件相同,我们可以合并使用。 3.break在switch case当中是可选的。 4.可以在switch case代码中加入if else语句使用。 5.如何选择swith case和if-else使用 说明: 1.凡是可以使用Switch-case的结构,都可以转换为if-else.反之,不成立。 2.当我们写分支结构时,当发现既可以使用switch-case,(同时,switch中表达式的取值情况不太多),又可以使用if-else时,我们优先选择使用switch-case。原因:switch-case执行效率稍高。
循环结构:
在某些条件满足的情况下,反复执行特定代码的功能
循环语句分类:
for 循环
初始化部分:①
循环条件部分:②
循环体部分:③
迭代部分:④
for(①;②;④;){③}
如何使用for:
1.需要自己先创建一个变量出来,我就不写了。"class for1{public staitc void
main(String[] args){}}"
练习1:多条同样语句输出
for(int i = 0; i <= 10;i++){
System.out.println("多复习知识,多敲代码,多总结笔记日志、运算符、分支语句、switch-case、循环结构就能从青铜打到王者的~~");
}
练习2:多数字运算
for(int i = 1; i <= 100;i++){
System.out.println(i);
}
了解声明使用的顺序
练习3:循环结构嵌套分支语句使用
int mun = = 0;
for (int i = 1; i <= 100;i++) {
if(i % 2 != 0){
System.out.println("1-100的奇数:" + i);
mun += i
}
System.out.println("1-100奇数之和: " + mun);
}
`根据总结:发现的问题是,for循环结构的核心解决问题是如何设置条件语句,这是核心难点所在。`
总结时才发现倍感压力,大多的压力还是在switch-case的使用和for循环结构使用上的问题,希望明天总结的时候压力会小一点。以上都是自己的总结,有不足或不对的地方希望各位园中大神给出评价
浙公网安备 33010602011771号