首页 >

实例详解Java基础的控制语句

Java|java教程实例详解Java基础的控制语句
java
Java-java教程
android 源码 书籍,vscode能显示函数列表,ubuntu下wgit,tomcat删除锁定账户,爬虫系统 违法,php修改html文件,seo咨询外包百度推广,清爽的网站lzw
《java视频教学》
动态网站开发投票源码,ubuntu归档镜像源,tomcat设置使用g1,idel爬虫教程,v显示不同版本的php,亚马逊seo站点lzw
实例详解Java基础的控制语句
asp.net销售订单审批系统源码,vscode小说插件,ubuntu虚拟机怎么扩容,tomcat 移植arm,sqlite3定时,html插件代码,PHP与移动前端框架,爬虫爬到秘密数据,php 函数使用,新手学习seo怎么用seo顾问,能否看到网站php 源代码,微信网页代码下载,美丽说网站模板,人人商城小程序分销路径丢失lzw
1.分类怎么接收用户键盘输入

控制语句分类

2.语句详解

选择语句if、switch

if语句

注意事项

实例分析

public class Test01{	public static void main(String[] args){//1.本身就是布尔类型		boolean sex  = true;		if(sex){//sex == true也可以			System.out.println('男');		}		else{			System.out.println('女');		}//2.也可以用三目运算符		char str = sex?'男':'女';		System.out.println(str);//3.一种特殊情况		if(sex = true){//赋值运算符,也可以编译通过,永远只执行if语句			System.out.println('男');		}		else{			System.out.println('女');		}	}}
//1.本身不是布尔类型		int i = 100;		if(i == 100){			System.out.println(true);		}		else{			System.out.println(false);		}//2.else缺少if		if(sex)			System.out.println('男');			System.out.println("Hello wprld");//合乎语法的		else //这一行报错,因为else缺少if			System.out.println('女');    //上面等价于        if(sex){			System.out.println('男');           }			System.out.println("Hello wprld");		else 			System.out.println('女');

例3

public class Test02{	public static void main(String[] args){		//从键盘接收数据		System.out.print("请输入你的年龄:");		java.util.Scanner s = new java.util.Scanner(System.in);		int age = s.nextInt();//1.方法1		if(age150){			System.out.println("年龄不合法");		}else if(age <= 5){			System.out.println("婴幼儿");		}else if(age <= 10){			System.out.println("少儿");		}else if(age <= 18){			System.out.println("少年");		}else if(age <= 35){			System.out.println("青年");		}else if(age <= 55){			System.out.println("中年");		}else{			System.out.println("老年");		}//2.方法2代码改良		String str = "老年";		if(age150){			System.out.println("年龄不合法");			return;//不合理就跳出循环,防止后面在打印		}else if(age <= 5){			str = "婴幼儿";		}else if(age <= 10){			str = "少儿";		}else if(age <= 18){			str = "少年";		}else if(age <= 35){			str = "青年";		}else if(age <= 55){			str = "中年";		}		System.out.println(str);//最后公用一个打印;因为每次只能打印一个	}}
public class Test03{	public static void main(String[] args){		java.util.Scanner s = new java.util.Scanner(System.in);		System.out.print("请输入你的成绩:");		double grade = s.nextDouble();		String str = "优";		if(grade 100){			System.out.println("分数不合法");			return; //不合理就跳出循环,防止后面在打印		}else if(grade<60){			str = "不及格";		}else if(grade < 70){			str = "及格";		}else if(grade < 80){			str = "中";		}else if(grade < 90){			str = "良";		}		System.out.println(str);//最后公用一个打印;因为每次只能打印一个	}}

例5

public class Test04{	public static void main(String[] args){		java.util.Scanner s = new java.util.Scanner(System.in);		System.out.print("请输入天气,1表示雨天,0表示晴天:");		int weather = s.nextInt();		System.out.print("请输入性别,1表示男,0表示女:");		int sex = s.nextInt();		if(weather == 1){			if(sex == 1){				System.out.println("打一把大黑伞");			}else{				System.out.println("打一把小花伞");			}				}else{			if(sex == 1){				System.out.println("直接走起,出去玩耍");			}else{				System.out.println("擦点防晒霜,出去玩耍");			}		}	}}

switch语句

 switch(值){            case 值1:java语句;java语句;...break;            case 值2:java语句;java语句;...break;            case 值3:java语句;java语句;...break;            default:java语句;            }

实例分析

public class Test05{	public static void main(String[] args){		java.util.Scanner s = new java.util.Scanner(System.in);		System.out.print("请输入[0-6]的天数:");		int day = s.nextInt();		switch(day){		case 0:			System.out.println("星期日");			break;		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;		default:			System.out.println("选择错误");			break;		}			}}
public class SwitchTest02{	public static void main(String[] args){		//提示用户输入学生成绩		java.util.Scanner s = new java.util.Scanner(System.in);		System.out.print("请输入学生成绩:");		double score = s.nextDouble();		//System.out.println(score);		if(score  100){			System.out.println("您输入的学生成绩不合法,再见!");			return; 		}		// 程序能够执行到这里说明成绩一定是合法的。		// grade的值可能是:0 1 2 3 4 5 6 7 8 9 10		// 0 1 2 3 4 5 不及格		// 6 及格		// 7 中		// 8 良		// 9 10 优				int grade = (int)(score / 10); // 95.5/10结果9.55,强转为int结果是9		String str = "不及格";		switch(grade){		case 10: case 9:			str = "优";			break;		case 8: 			str = "良";			break;		case 7:			str = "中";			break;		case 6:			str = "及格";		}		System.out.println("该学生的成绩等级为:" + str);	}}

循环语句while、do…while、for

for循环

例1

public class ForTest02{	public static void main(String[] args){//1. 最简练的for循环      //初始化表达式、条件表达式、更新表达式 其实都不是必须的!!!		for(;;){			System.out.println("死循环");		}//2.最常见的for循环		for(int i = 0;i < 10;i++){			System.out.println("i = " + i); // 0 1 2 3....9		} 		System.out.println(i);//错误: 找不到符号,i的范围只在for循环内//3.i变量的作用域就扩大了。		int i = 0;		for(;i  " + i); // 0 1 2 3....9		}		System.out.println("i = " + i); //10,这里的i就可以访问了//4.变形		for(int k = 1; k  " + k); 			k++;// 1 2 3 4 5 6 7 8 9 10 		}//5.变形		for(int k = 1; k  " + k); // 2 3 4 5 6 7 8 9 10 11		}	}}

例2

public class ForTest03{	public static void main(String[] args){//1. for的其它形式		for(int i = 10; i > 0; i--){			System.out.println("i = " + i); // 10 9 8 7 6 5 4 3 2 1		}//2. 变形		for(int i = 0; i  0; i %= 3){			System.out.println("value2 = " + i); // 100 1 1... 1		}	}}

例3:求1-100所得奇数和

public class Test07{	public static void main(String[] args){		int i = 0;		int sum = 0;		for(i=1;i<=100;i+=2){			sum+=i;		}		System.out.println("sum = "+sum);//2500	}}

例4:嵌套循环

public class Test08{	public static void main(String[] args){//1.注意初始化放里面	for(int i =0;i< 2;i++){		for(int j=0;j<10;j++){		   System.out.print(j+" ");	   }		System.out.println();	}//打印两行0-9的数字//2.初始化放外面    int n = 0;	for(int m = 0;m<2;m++){		for(;n<10;n++){			System.out.print(n+" ");		}		System.out.println();	}//打印一行0-9的数字 }	}

例5:九九乘法表

public class Test09{	public static void main(String[] args){		for(int i=1;i<=9;i++){			for(int j=1;j<=i;j++){				System.out.print(j+"*"+i + "=" +i*j+"  ");			}			System.out.println();		}	}}

while循环

例1

public class WhileTest01{	public static void main(String[] args){//1.死循环		while(true){			System.out.println("死循环");		}//2.本质上while循环和for循环原理是相同的。		for(初始化表达式; 布尔表达式; 更新表达式){				循环体;			}		初始化表达式;		while(布尔表达式){				循环体;				更新表达式;			}//3.例子对比		//----for	        for(int i = 0; i " + i);		 }        //----while		int i = 0;		while(i < 10){			System.out.println("i = " + i);			i++;		}//4.for和while完全可以互换,只不过就是语法格式不一样。		for(int i = 0; i " + i); // 1 2 3 .. 9 10		}		int i = 0;		while(i < 10){			i++;			System.out.println("i = " + i); // 1 2 3 .. 9 10		}	}}

do…while循环

例1

public class Test10{	public static void main(String[] args){		int i = 0;//1.		do{			//第一种方法			System.out.println(i);			i++;			//第二种方法			System.out.println(i++);		}while(i<10);//0...9//2.		i = 0;		do{					System.out.println(++i);		}while(i<10);//1...10			}}

转向语句:break、continue

break语句

例1

public class BreakTest01{	public static void main(String[] args){		for(int i = 0; i < 10; i++){			if(i == 5){//1.break;语句会让离它最近的循环终止结束掉。终止的不是if,不是针对if的,而是针对离它最近的循环。				break; 			}			System.out.println("i = " + i); // 0 1 2 3 4		}//2.这里的代码照常执行。break;的执行并不会影响这里。		System.out.println("Hello World!");//3.常用的终止内存的for		for(int k = 0; k < 2; k++){ // 外层for			for(int i = 0; i  " + i); 			}		}		System.out.println("------------------------------------------");//4.终止外层的for,起一个别名!		a:for(int k = 0; k < 2; k++){ 			b:for(int i = 0; i  " + i); 			}		}		System.out.println("呵呵");	}}

continue语句

例1

public class ContinueTest01{	public static void main(String[] args){//1.对于break直接跳出当前循环		for(int i = 0; i < 10; i++){			if(i == 5){				break;			}			System.out.println("i = " + i);//0、1、2、3、4		}		System.out.println("----------------------------");//2.对于continue是跳出当前的一次循环,继续下一次循环		for(int i = 0; i < 10; i++){			if(i == 5){				continue;			}			System.out.println("i = " + i); //输出结果是0-9没有5		}	}}

3.小试牛刀

例1:计算1000以内所有不能被7整除的整数之和

public class Test01{	public static void main(String[] args){		int sum = 0;		for(int i = 1;i<=1000;i++){			if(i%7 != 0){				sum +=i;			}		}	System.out.println("sum="+sum);	}}

例2:计算 1+2-3+4-5+6-7….+100的结果

//方法1:public class Test02{	public static void main(String[] args){		int sum = 1;		for(int i=2;i<=100;i++){			if(i%2 ==0){				sum+=i;			}			else{				sum-=i;			}		}	System.out.println(sum);	}}
//方法2:定义一个flag标记,用来控制正负,一个数一个数进行处理public class Test02{	public static void main(String[] args){		int sum = 1;		int flag = 1;		for(int i=2;i<=100;i++){			sum +=flag*i;			flag = -flag;		}	System.out.println(sum);	}}

例3:从控制台输入一个正整数,计算该数的阶乘。

public class Test03{	public static void main(String[] args){		java.util.Scanner s = new java.util.Scanner(System.in);		System.out.print("请输入一个整数:");		int num = s.nextInt();		int ret = 1;		//方法1		for(int i=1;i0;i--){			ret*=i;		}	System.out.println(ret);	}}

例4:判断一个数是不是质数

//方法1:public class Test04{	public static void main(String[] args){		java.util.Scanner s = new java.util.Scanner(System.in);		int num = s.nextInt();		int i = 0;		for(i = 2;i<num;i++){			if(num%i == 0){			 System.out.println(num+"不是质数");			 break;			}		}		if(i == num){			System.out.println(num+"是质数");	}}
//方法2:public class Test04{	public static void main(String[] args){		java.util.Scanner s = new java.util.Scanner(System.in);		int num = s.nextInt();		int i = 0;		boolean str = true;//也相当于一个标记		for(i = 2;i<num;i++){			if(num%i == 0){			 str = false;//不是更改标记			 break;			}		}		System.out.println(num+(str ? "是":"不是")+"质数");//根据标记输出值	}}

例5:打印金字塔

    *   ***  ***** ****************
public class Test05{	public static void main(String[] args){		java.util.Scanner s = new java.util.Scanner(System.in);		int n = s.nextInt();		for(int i=0;i<n;i++){			for(int j=0;j<n-i-1;j++){					System.out.print(" ");			}			for(int j=0;j<2*i+1;j++){				System.out.print("*");			}		System.out.println();		}			}}

例6:

public class Test06{	public static void main(String[] args){		double money = 0;		int day = 0;		while(true){//这也可以写成while(money= 100){				break;			}		}	System.out.println("需要"+day+"天存到"+money+"元钱");	}}

例7:

public class Test07{	public static void main(String[] args){		for(int i=2;i<=1000;i++){//1不算完数,从2开始//注意sum的位置,写在内循环,因为每次都要重置sum为0			int sum = 0;//i取一半,最好的是取根号i,目前还没学习库函数,先取i/2			for(int j=1;j<= i/2;j++){				if(i%j == 0){					sum += j;				}			}			if(sum == i){				System.out.println(i);			}		}			}}

例8:求一个数是几位数,并逆序打印每一位

public class Test08{	public static void main(String[] args){		java.util.Scanner s = new java.util.Scanner(System.in);		int num = s.nextInt();		int count = 0;		int tmp = num;		//求位数		while(tmp != 0){				count++;				tmp /= 10;		}		System.out.println("位数是"+count+"位");		//逆序打印		tmp = num;		while(tmp != 0){			System.out.println(tmp%10);			tmp /= 10;		}	}}

例9

1 10 100 1000 2 20 200 2000 3 30 300 3000 4 40 400 4000
public class Test09{	public static void main(String[] args){		for(int i=1;i<=4;i++){			int tmp = i;			for(int j=1;j<=4;j++){				System.out.print(tmp+" ");				tmp *= 10;			}			System.out.println();		}	}}

10

    *   ***  ***** **************** *******  *****   ***    *
public class Test10{	public static void main(String[] args){		java.util.Scanner s = new java.util.Scanner(System.in);		int num = s.nextInt();		x(num);	}	public static void x(int n){//1.打印上半部分		for(int i=0;i<n;i++){			for(int j=0;j<n-i-1;j++){				System.out.print(" ");			}			for(int j=0;j<2*i+1;j++){				System.out.print("*");			}			System.out.println();		}//2.打印下半部分		for(int i=0;i<n-1;i++){			for(int j=0;j<=i;j++){				System.out.print(" ");			}			for(int j=0;j<2*(n-i-1)-1;j++){				System.out.print("*");			}			System.out.println();		}	}}

11

public class Test11{	public static void main(String[] args){		int count = 0;		double h = 5;		while(h >= 0.1){			h *= 0.3;			count++;	    }		 System.out.println(count);	}}

《java视频教学》


  • 暂无相关文章
  • Posted in 未分类