java入门学习总结_03

一、键盘录入

二、分支结构

键盘录入

概述

一、键盘录入:在程序运行的过程当中,可让用户录入一些数据,存储在内存的变量中,在后续的程序运行过程当中,可使用这些数据。

二、步骤:

第一步:导包,在类声明的上面,import java.util.Scanner;

第二步:建立键盘录入对象,Scanner sc = new Scanner(System.in);

第三步:调用sc对象的nextInt方法,获取键盘录入的整数

int x = sc.nextInt();(next接着基本类型:如nextDouble()等)

第四步:使用x后续处理

代码示例java

 

//导包

import java.util.Scanner;

class Demo_1 {

//键盘录入

public static void main(String[] args) {

// 建立键盘录入对象

Scanner sca_12 = new Scanner(System.in);

//调用对象中的nextInt() 方法

int a = sca_12.nextInt();

int b = sca_12.nextInt();

System.out.println(a*b);

}

}

 

练习1spa

键盘录入两个整数,计算两个整数的和code

代码示例对象

练习2

键盘录入三个整数,输出三个整数的最大值blog

代码示例three

 

import java.util.Scanner;

class Demo_2 {

public static void main(String[] args) {

//键盘录入三个整数,输出三个整数的最大值

Scanner sc = new Scanner(System.in);

System.out.println("请输入第一个整数");

int a = sc.nextInt();

System.out.println("请输入第二个整数");

int b = sc.nextInt();

System.out.println("请输入第三个整数");

int c = sc.nextInt();

// int abMax = a > b ? a : b;

//  int max = abMax > c ? abMax : c;三目运算符的一种用法

int max = (a > b ? a : b) > c ? (a > b ? a : b) : c;

System.out.println("三个整数的最大值为:"+max);

}

}

 

 

 

 

练习3

键盘录入一个整数,判断该数字的奇偶游戏

例如,输出:该数字是25,是一个奇数内存

代码示例it

import java.util.Scanner;

class Demo_3 {

public static void main(String[] args) {

//键盘录入一个整数,判断该数字的奇偶

Scanner sc = new Scanner(System.in);

System.out.println("请输入一个数字");

int a = sc.nextInt();

//String str = a % 2 == 1 ? "奇数" : "偶数" ;

String str = a % 2 == 0 ? "偶数" : "奇数" ;

System.out.println(a+"是"+str);

}

}

 

分支结构

流程控制

一、在一个程序中,有不少的代码,代码的执行顺序,就是流程。class

二、用于控制代码流程的方式,就是流程控制 就是控制代码的执行顺序

三、流程控制的分类:

顺序结构:代码从上到下,从左到右依次执行(重点)

分支结构:到达某个状态时,可能会有多种状况,每种状况都须要提早准备好,因此多条路的路口就是一个分支。代码写得多,程序运行的少。(重点)

循环结构:某段代码相同或者类似,使用相同的逻辑。使用必定的格式,来完成相同代码的反复执行。代码写的少,程序运行次数多。(重点)

分支结构概述

一、到达某个状态时,可能会有多种状况,每种状况都须要提早准备好,因此多条路的路口就是一个分支。代码写得多,程序运行的少。

二、实现格式:

if语句:if是若是的意思,知足了这种条件,才能执行相应的代码,实现不一样的逻辑

if

if...else

if...else if...else if....else

switch语句:根据某个变量的值,判断符合哪一种执行条件

if语句的第一种格式

一、格式:

if (布尔表达式) {

语句体;

}

二、说明:

一、if语句后面跟着的小括号,里面必须是boolean类型的值;if语句后面的小括号中,只要是计算结果为boolean类型,就合法(合法不表明就有意义)

二、语句体,能够是任意操做

三、执行流程:

一、计算布尔表达式的值,要么为true、要么为false

二、若是计算结果为true,执行语句体

三、若是计算结果为false,就不执行语句体

 

说明只有布尔表达式结果为true才会执行判断语句{  }里面的代码

 

代码示例

import java.util.Scanner;

class Demo_5 {

public static void main(String[] args) {

//if语句的第一种格式

// if (布尔表达式){ 语句体; }

Scanner sc = new Scanner(System.in);

int aa = sc.nextInt();

if (aa> 10) {

System.out.println(4);

int a  = 1;

a++;

System.out.println(a);

if(false){

System.out.println("我是里面的if语句");

}

}

System.out.println("if语句管不到我");

}

}

 

If语句的注意事项

一、if后面跟着的小括号里面,必须是boolean的值

二、if后面跟着的小括号里面,只要计算结果为boolean类型,就算合法

三、在小括号后面不要加分号,通常来讲,有左大括号,就没有分号,有分号,就没有左大括号

四、语句体:能够是任意语句。若是语句体只有一句,那么大括号能够省略。可是建议全部状况都加上大括号,不要省略

代码示例

class Demo_6 {

public static void main(String[] args) {

//if语句的注意事项

if(true/*只能写true 或者false ,表达式的值的结果类型为boolean*/){

System.out.println(1);

}

boolean b = false;

if(b = true){

System.out.println(b);

}

if(b = false)/*;不能加分号*/{

System.out.println(";"+b);

}

//

System.out.println("---------");

if(b = true)

//if语句中若是只有一行代码,能够省略大括号,可是不建议你们省略

System.out.println(b);

System.out.println("if你能管到我吗");

}

}

 

if语句的第二种格式

一、格式:

if (条件表达式) {

语句体1;

} else {

语句体2;

}

二、说明:

一、是否有某种状况,能够语句体1和语句体2都不执行?不可能,else就已经包含了if不知足的全部状态

二、是否有某种状况,可让语句体1和语句体2都执行?不可能,由于只要语句体1执行了,if语句就直接结束了

三、只能执行其中的一句,而且必定会执行其中一句

三、执行流程:

一、计算条件表达式的值,要么是true、要么是false

二、若是条件表达式的值为true,执行语句体1

三、若是条件表达式的值为false,执行语句体2

代码示例

import java.util.Scanner;

class Demo_7 {

public static void main(String[] args) {

//if语句的第二种格式

/*if(布尔表达式){

语句体1

   }else {

语句体2

   }*/

System.out.println("请输入你的年龄");

Scanner sc = new Scanner(System.in);

int age = sc.nextInt();

//先判断表达式的结果,若是为true执行语句体1

//若是为false执行语句体2

//思考:有没有可能语句体1和语句体2.都执行,或都不执行?

if(age >= 18){

//语句体1;

System.out.println("能够观看此电影");

}else{ //else  其余的,已经包含了不知足if判断的其余的全部状况

//语句体2;

System.out.println("未成年人禁止观看");

}

//if ....else至少要执行一个语句体

}

}

 

if语句的第三种格式

一、格式:

if (条件表达式1) {

语句体1;

} else if (条件表达式2) {

语句体2;

} else if (条件表达式3) {

语句体3;

}

...

} else if (条件表达式n) {

语句体n;

} else {

语句体n+1;

}

二、执行流程:

一、计算条件表达式1,若是为true,就执行语句体1,if语句结束

二、若是条件表达式1为false,计算条件表达式2,若是为true,就执行语句体2,if语句结束

三、若是条件表达式2位false,就计算条件表达式3.......

四、若是条件表达式1~条件表达式n全都为false,那么就执行语句体n+1

三、说明:

一、若是条件表达式2计算结果为true,执行语句体2(其实这个条件的完整版本:条件表达式1不知足,而且条件表达式2知足)

二、最后的else语句能够有也能够没有,若是有,就必定有执行的内容,若是没有就可能什么都执行不了

三、语句体1~语句体n+1是否有可能执行两句或者两句以上?不可能,只要其中一条语句执行了,if语句就结束了

四、语句体1~语句体n+1是否有可能一句都不执行?两种状况,若是没有else语句,就可能一个语句体都不执行;若是有else语句,就必定会执行其中的一句。

代码示例

import java.util.Scanner;

class Demo_8 {

public static void main(String[] args) {

//if语句的第三种格式

/*if(布尔表达式1){

语句体1;

}else if(布尔表达式2){

语句体2;

}else if(布尔表达式3){

语句体3;

}else if(布尔表达式4){

语句体4;

}.......

else if(布尔表达式n){

语句体n;

}else{

语句体n+1;

}*/

Scanner sc = new Scanner(System.in);

System.out.println("选择你心仪的战队");

int a = sc.nextInt();

if(a == 1){

System.out.println("I like RNG");

}else if(a == 2){

System.out.println("I like IG");

}else if(a == 3){

System.out.println("I like FPX");

}else if(a == 4){

System.out.println("I like SKT");

}else if(a == 5){

System.out.println("I like DWG");

}else{//不加else有可能一个语句体都不执行,加上后至少要执行一个语句体

System.out.println("垃圾游戏,我谁都不喜欢");

}

}

}

 

switch语句

一、switch:表示英文中的开关,每一个条件都像一扇门,开着的,就能够执行,不然就到下一扇门判断。

二、格式:

switch (表达式) {

case 常量1:

语句体1;

break;

case 常量2:

语句体2;

break;

.........

case 常量n:

语句体n;

break;

default:

语句体n+1;

}

三、执行流程:

一、计算表达式的值,分别和各个常量匹配

二、若是和常量1匹配,那么久执行语句体1,break,switch语句就结束了

三、若是和常量1不匹配,那么就判断是否和常量2匹配,若是匹配就执行语句体2,break,switch语句就结束了

四、以此类推,若是常量1~常量n全都没有和表达式的值匹配,那么就执行default中的内容,switch语句结束。

代码示例

import java.util.Scanner;

class Demo_9 {

public static void main(String[] args) {

/*

switch (表达式) {

case 常量1:

语句体1;

break;

case 常量2:

语句体2;

break;

.........

case 常量n:

语句体n;

break;

default:

语句体n+1;

}

*/

Scanner sc = new Scanner(System.in);

System.out.println("请指定一个星期的数字");

int week = sc.nextInt();

switch(week){

case 1 :

System.out.println("星期一");

break;

case 2 :

System.out.println("星期二");

break;

case 3 :

System.out.println("星期三");

break;

case 4 :

System.out.println("星期四");

break;

case 5 :

System.out.println("星期五");

break;

case 6 :

System.out.println("星期六");

break;

case 7 :

System.out.println("星期日");

default ://能够有,也能够没有,和else功能相似

System.out.println("地球上没有你想要星期");

}

}

}

 

switch语句的注意事项

一、单词解释:

switch:开关;case:状况;break:破坏、退出;default:默认

二、表达式:

Jdk1.5以前:byte、short、char、int

Jdk1.5:枚举类型

Jdk7:String

三、case后面只能跟常量,不能跟变量

四、每一个case的语句体后面,必定要跟上一个break语句,不然就没法结束switch语句,而且发生case穿透。Case穿透的利用:多个状况若是是相同的执行逻辑,那么就可使用case穿透。

五、Default语句:能够写也能够不写。若是不写,就有可能一个语句都执行不到。建议把default语句加上。

六、Default语句能够写在任意位置,不管写在什么位置,都是最后去匹配,建议把default语句写在最后。

七、Switch语句结束的条件:碰到了break语句;碰到了右大括号

代码示例

import java.util.Scanner;

class Demo_10 {

public static void main(String[] args) {

//switch语句的注意事项

Scanner sc = new Scanner(System.in);

//System.out.println("请指定一个星期的数字");

//int week = sc.nextInt();

//char dou = 'c';

String dou = "ones";

switch( dou/*byte ,short ,char ,int ,String ,(枚举enum) */){

//case 1 :

//case 'a' :

default ://default语句能够放在任意的位置,不管放在那里都是最后去匹配的

System.out.println("地球上没有你想要星期");

//break;//default方法中间,break不要省,不然发生case穿透问题

case "one" : //case后面只能跟常量不能跟变量

System.out.println("星期一");

break;//break不能省,若是省掉就发生case穿透问题

//case 2 :

//case 'b' :

case "two" :

System.out.println("星期二");

break;

//case 3 :

//case 'c' :

case "three" :

System.out.println("星期三");

break;

//case 4 :

//case 'd' :

case "four" :

System.out.println("星期四");

break;

//case 5 :

//case 'e' :

case "five" :

System.out.println("星期五");

break;

//case 6 :

//case 'f' :

case "six" :

System.out.println("星期六");

break;

//case 7 :

//case 'g' :

case "seven" :

System.out.println("星期日");

}

}

}

//  3,4,5,   春天 ,6,7,8,夏天,9 , 10 ,11 秋天 12 ,1,2 冬天

 

If语句和switch语句的区别

一、相同点:if语句和switch语句均可以表达分支结构

二、不一样点:

一、if语句格式相对灵活,更增强大,switch语句相对弱小。全部的switch语句均可以被if语句替代。

二、if语句更多的是作一些连续性的判断,而switch语句更多的是作一些离散性的匹配

三、if语句每次都须要获取表达式的值,而switch只获取一次表达式的值,因此相对switch的效率高一些。

代码示例

class Demo_12 {

public static void main(String[] args) {

//if语句和switch语句区别

//if语句连续性的判断

int i  = 60;

if(i > 1 && i < 100){   // 1< i<100

System.out.println(i);

}

switch(j*j){//离散型的匹配

case 1:

case 2:

case 3:

}

if(j * j > 10){

}else if(j*j < 10){

}

}

}

 

练习

键盘录入一个学生的成绩,int类型的分数,根据录入的分数,输出分数等级

[90, 100],优秀   大于等于90小于等于100

[80,90),良好     大于等于80小于90

[60, 80),及格

[0, 60),不及格

使用两种方式完成:

一、使用if语句完成

二、使用switch语句完成

代码示例

import java.util.Scanner;

class Demo_13 {

public static void main(String[] args) {

/*

键盘录入一个学生的成绩,int类型的分数,根据录入的分数,输出分数等级

[90, 100],优秀 大于等于90小于等于100

[80,90),良好 大于等于80小于90

[60, 80),及格

[0, 60),不及格

*/

Scanner sc =  new Scanner(System.in);

System.out.println("请输入学生的成绩");

int score = sc.nextInt();

switch(score / 10){

case 0 :

case 1 :

case 2 :

case 3 :

case 4 :

case 5 :

System.out.println("不及格");

break;

case 6 :

case 7 :

System.out.println("及格");

break;

case 8 :

System.out.println("良好");

break;

case 9 :

case 10 :

System.out.println("优秀");

break;

default:

System.out.println("你输入的成绩不合法");

}

/* if(score >= 90 && score <= 100){

System.out.println("优秀");

}else if(score >= 80 && score < 90){

System.out.println("良好");

}else if(score >=60 && score < 80){

System.out.println("及格");

}else if(score >=0 && score < 60){

System.out.println("不及格");

}else{

System.out.println("你输入的不是成绩吧");

}*/

}

}
相关文章
相关标签/搜索