java中控制流_java控制流

1、引用数据类型

Scanner类

Scanner类属于引用数据类型;

格式: 数据类型 变量名 = new 数据类型();

/*

引用数据类型,介绍一个类 Scanner,这是应存在的类

定义引用数据类型变量,和基本类型变量有区别

格式:

数据类型 变量名 = new 数据类型();

举例:

Scanner sc = new Scanner();

创建出Scanner类的变量;

每个引用类型都有自己的功能,使用功能方式:

变量.功能名字()

Scanner类,作用是在命令行中接收输入

使用Scanner类步骤:

1.导入包,指明类所在的文件夹,关键字import;

2.公式,创建出Scanner类型变量;

3.变量,使用Scanner类中的功能,完成键盘输入;

*/

import java.util.Scanner;

public class Scanner_Reference{

public static void main(String[] args){

// 创建出Scanner类变量

Scanner sc = new Scanner(System.in);

// 功能1:nextInt()接收键盘输入,保证输入的是整数;

// 功能接收的数据就是整数,功能运行后的结果就是整数类型

int i = sc.nextInt();

System.out.println(i);

// 功能2:next()接收键盘输入的字符串

String s = sc.next();

System.out.println(s);

}

}

Random类

/*

java中的引用类型 Random类作用是产生随机数

步骤:

1.导入包,Random类,也在java.util文件夹中

2.公式:创建出Random类型的变量

3.变量:调用Random类中的功能,产生随机数;

Random类中,nextInt()产生一个随机数,结果是int类型;

nextInt(写一个整数),产生的随机数在0 —— 指定的整数之间的随机数;

例如,nextInt(100),则范围在0-99

伪随机数:这种随机数是根据写好的算法生成的一个伪随机数;

*/

import java.util.Random;

public class Random_Reference{

public static void main(String[] args){

// 创建一个Random类型的变量

Random rand = new Random();

// 功能1:调用Random类中的功能,产生一个随机整数;

int i = rand.nextInt(100);

System.out.println(i);

// 功能2:调用Random类的功能,产生一个随机浮点数;

double d = rand.nextDouble();

System.out.println(d);

}

}

2、流程控制语句

2.1 条件控制语句if

if语句

if(条件语句){ 执行语句; ...}

/*

if语句:

编码格式

格式:

if(条件语句){

if语句的执行体,即执行语句;

}

条件语句:必须是布尔类型 1==1 true||false

执行体:当if中的条件为true时,执行这个执行体;

当if中的条件为false时,什么也不做;

*/

public class if_control{

public static void main(String[] args){

int i = 5;

if(i >= 5){

System.out.println("我是"+i+"号");

i++;

}

System.out.println("我号码增大: "+i);

// System.out.println(i);

}

}

if...else语句

格式:if(条件语句){执行语句1;}else{执行语句2;}

/*

if...else 语句格式

编写格式

if(条件){

if的执行体

}

else{

else的执行体

}

当if中的条件为true时,执行if的执行体;

当if中的条件为false时,执行else的执行体;

*/

public class ifelse_control{

public static void main(String[] args){

int i = 25;

if(i%2 == 0){

System.out.println(i+"是偶数");

}

else{

System.out.println(i+"是奇数");

}

}

}

if...(else if)...else语句

/*

if...elseif...if 语句

适合在程序中,实现多条件的判断,条件的个数没有限制;

编写格式:

if(条件){

执行体1;

}

else if(条件){

执行体2;

}

else{

执行体3;

}

*/

public class if_elseif_else{

public static void main(String[] args){

//典型案例,成绩分类

int i = 88;

if(i>=90){

System.out.println(i+"是优秀");

}

else if(i>+80){

System.out.println(i+"是良好");

}

else if(i>=70){

System.out.println(i+"是中等");

}

else if(i>=60){

System.out.println(i+"是及格");

}

else{

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

}

}

}

2.2 if语句与三元运算符的互换

/*

if语句和三元运算符的替换

要求:计算两个数的最大值

例如:两个整数比较大小

使用if和三元运算符的情况:

(1)判断条件多,则使用if;

(2)三元,必须是有结果的,if可以没有结果;

*/

public class if_Ternary_replace{

public static void main(String[] args){

int i = 5;

int j = 5;

// 使用if语句,判断出最大值

if(i>j){

System.out.println(i+"是最大值");

}

else{

System.out.println(j+"是最大值");

}

// 使用三元运算实现

int k = i>j?i:j;

System.out.println(k+"是最大值");

}

}

2.3 循环语句

while循环

/*

While循环:

编码格式:

while(条件){

循环体

}

条件:当条件是true,就执行循环体,执行完循环体后,程序再次判断条件是否为true,如果是则继续执行循环体,否则循环结束;

循环体:循环体和if执行体一样,都是语句;

*/

public class while_circle{

public static void main(String[] args){

int i = 1;

while(i<7){

System.out.println("互联网思维"+i);

i++;

}

}

}

for循环

/*

for循环

编码格式

for(初始化变量; 条件; 增量){

循环体

}

初始化变量:定义变量,作用,控制循环的次数;

条件:当条件是true,执行循环体,条件是false,结束循环

增量:变量自增情况,例如:i++,i=i+2

*/

public class for_circle{

public static void main(String[] agrs){

// 定义变量,用于求阶乘

double factorial = 1;

int i,j=0;

// for循环

for(i=10; i>0; i--){

System.out.println(i);

factorial = factorial*i;

j++;

}

System.out.println('/n'+j+"的阶乘是"+factorial);

}

}

do...while循环

/*

do...while循环

编写格式:

do{

循环体;

}while(条件);

特点:无条件先执行一次;

*/

public class do_while_circle{

public static void main(String[] args){

int i = 1;

do{

System.out.println("x="+i);

i++;

}while(i<10);

}

}

死循环

while死循环;while(true){}

for死循环;for(;true;){}

2.4 循环嵌套

/*

循环嵌套:

for(){

for(){

循环体

}

(循环体)——可以不存在

}

总循环次数=外循环次数*内循环次数;

内循环是外循环的循环体;外循环控制行数,内循环控制每行个数;

*/

打印偏右三角形:

public class for_Nesting{

public static void main(String[] args){

// 打印由星星组成的三角形

for(int i=0; i<9; i++){

for(int j=0; j<5; j++){

if(i<=4){

if(j<=i)

System.out.print("* ");

}

else{

if(j>=i-4)

System.out.print("* ");

}

}

System.out.println();

}

}

}

输出结果为:

*

* *

* * *

* * * *

* * * * *

* * * *

* * *

* *

*

打印出菱形

public class for_Nesting{

public static void main(String[] args){

// 打印由星星组成的菱形

for(int i=0; i<9; i++){

if(i<5){

for(int k=4-i; k>0; k--)

System.out.print(" ");

}

else{

for(int k=i-4; k>0; k--)

System.out.print(" ");

}

for(int j=0; j<5; j++){

if(i<=4){

if(j<=i)

System.out.print("* ");

}

else{

if(j>=i-4)

System.out.print("* ");

}

}

System.out.println();

}

}

}

输出结果为:

*

* *

* * *

* * * *

* * * * *

* * * *

* * *

* *

*

2.5 跳转语句

Break语句

/*

break 关键字

作用于循环中,终止循环的作用;

但是,break终止的是所在位置的循环,但是不能终止以外的循环;

switch语句中的表达式的数据类型,是有要求的

JDK1.0 - 1.4 数据类型接收 byte short int char

JDK1.5 数据类型接收 byte short int char enum(枚举)

JDK1.7 数据类型接收 byte short int char enum(枚举) string

*/

public class break_jump{

public static void main(String[] args){

for(int i=0; i<10; i++){

for(int j=0; j<10; j++){

System.out.print("j="+j);

break;

}

System.out.println("i="+i);

}

}

}

有一种break能够终止指定循环位置:

public class break_jump{

public static void main(String[] args){

a:for(int i=0; i<10; i++){

for(int j=0; j<10; j++){

System.out.print("j="+j);

break a;

}

System.out.println("i="+i);

}

}

}

continue语句

/*

continue关键字

作用是终止本次循环,进入到下一个循环;

*/

public class continue_jump{

public static void main(String[] args){

for(int i=1; i<10; i++){

if(i%5!=0){

continue;

}

else{

System.out.println("5的倍数有:"+i);

}

}

}

}

2.6 选择结构switch

/*

选择结构 switch语句

编写格式

switch(表达式){

case 常量1:

要执行的语句;

break 常量2;

case 常量2:

要执行的语句;

break;

case 常量3:

要执行的语句;

break;

default:

要执行的语句;

break;

}

执行流程:表达式和case后面的常量进行比较

匹配到哪个case常量,就执行对应语句;遇到break后,就结束;

*/

public class switch_opt{

public static void main(String[] args){

// 定义变量,保存星期位

int week = 6;

// switch语句

switch(week){

case 1:

System.out.println("星期"+week);

break;

case 2:

System.out.println("星期"+week);

break;

case 3:

System.out.println("星期"+week);

break;

case 4:

System.out.println("星期"+week);

break;

case 5:

System.out.println("星期"+week);

break;

case 6:

System.out.println("星期"+week);

break;

default:

System.out.println("星期"+week);

break;

}

}

}

case语句

switch特性:case穿透性;(不管前面的case,直接往后执行,即不匹配case,就往下走)

如果多个case语句的执行语句是一样的,则该执行语句只需要书写一次即可。

case 1 case 2 ... case 5输出结果相同,则可以写成:

switch(week){

case 1:

case 2:

case 3:

case 4:

case 5:

System.out.println("工作日");

break;

case 6:

case 7:

System.out.println("休息日");

break;

}

3、猜数字案例

/*

在一定范围内猜数字

(1)随机数生成1-100的固定数,用Random;

键盘输入,用Scanner;

(2)作比较,和固定数做比较,用if结构;

(3)不断猜数字,直到猜正确,用while结构;

*/

import java.util.Random;

import java.util.Scanner;

public class guess_number{

public static void main(String[] args){

System.out.println("猜数字游戏开始了");

System.out.println("输入1-100的数字:");

// 创建Random类

Random rand = new Random();

int randNumber = rand.nextInt(100)+1; //使用功能nextInt()获取数字输入;

// 创建Scanner类变量

Scanner sc = new Scanner(System.in);

while(true){

int number = sc.nextInt();

if(number>randNumber){

System.out.println("猜大了");

}

else if(number

System.out.println("猜小了");

}

else{

System.out.println("恭喜你,猜中了");

break;

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值