Java基础——2、基本语法(下)—程序流程控制

Java基础——2、基本语法(下)—程序流程控制,第1张

Java基础——2、基本语法(下)—程序流程控制

接上一章
类型转换、进制、运算符

目录
  • 5、if-else语法
    • 5.1 练习题
  • 6、Scanner键盘获取数据
  • 6、获取随机数——Math.random()
  • 7、switch-case语法
  • 8、for循环
  • 9、while循环
  • 10、do...while循环
  • 11、循环练习题
  • 12、嵌套循环
    • 例题一:打印*正方形
    • 例题二:打印*倒三角
    • 例题三:打印*正三角
    • 例题四:打印菱形的右边半个
    • 例题五:打印菱形的上半部分
    • 例题六:打印菱形的下半部分
    • 例题七:打印完整的菱形
    • 例题八:打印九九乘法表
    • 例题九:输出100以内的所有质数
  • 13、特殊关键字的使用:break、continue
    • 13.1、break关键字:
    • 13.2、continue关键字:

5、if-else语法

class StringTest {
	public static void main(String[] args) {
		//方法一:
		//输出结果:检查结束
		int a=80;
		if(a<60||a>100){
			System.out.println("血压不正常,进一步检查");
		}
		System.out.println("检查结束");
	}
}
//方法二:
//输出结果:已成年
		int age1=23;
		if(age1<18){
			System.out.println("未成年");
		}else{
			System.out.println("已成年");
		}
//方法三:
//输出结果:青壮年时期
		int age=23;
		if(age<0){
			System.out.println("数据不符合规范");
		}else if(age<18){
			System.out.println("青少年时期");
		}else if(age<35){
			System.out.println("青壮年时期");
		}else if(age<60){
			System.out.println("中年时期");
		}else{
			System.out.println("老年时期");
		}
5.1 练习题
练习题1
class Test {
	public static void main(String[] args) {
		//编写程序,声明2个int型变量并赋值。判断两数之和,
		//如果大于等于50,打印”hello world“
		int i1=18;
		int i2=20;
		if(i1+i2>=50){
			System.out.println("hello world");
		}else{
			System.out.println("两数之和不符合要求");
		}
	}
}

练习题2
class Test {
	public static void main(String[] args) {
		//编写程序,声明2个double型变量并赋值。判断第一个数大于10.0,
		//且第2个数小于20.0,打印两数之和。否则,打印两数的乘积。
		double d1=12.0;
		double d2=10.0;
		if(d1>10.0 && d2<20.0){
			System.out.println("两数之和:"+(d1+d2));//两数之和:22.0
		}else{
			System.out.println("两数乘积:"+d1*d2);
		}
	}
}
练习题3
import java.util.Scanner;
class Test {
	public static void main(String[] args) {
		
		System.out.println("请输入狗的年龄!");
		Scanner sc = new Scanner(System.in);
		int dogAge = sc.nextInt();
		double Age = 0;
		int Age1=0;
		if(dogAge<0){
			System.out.println("数据不合法");
		}else if(dogAge>0 && dogAge<=2){
			Age=dogAge*10.5;
			Age1=(int)Age;
			System.out.println("小狗的年龄为:"+dogAge+" 相当于人类:"+ Age1+"岁");
		}else{
			Age=(dogAge-2)*4+10.5*2;
			Age1=(int)Age;//强转一下,去掉double类型小数点
			System.out.println("小狗的年龄为:"+dogAge+" 相当于人类:"+ Age1+"岁");
		}
	}
}

6、Scanner键盘获取数据
class StringTest {
	public static void main(String[] args) {
		
		Scanner scan=new Scanner(System.in);
		//获取int类型的数据
		System.out.println("请输入int类型的数据");
		int num = scan.nextInt();
		System.out.println(num);
		//String类型的数据
		System.out.println("请输入String类型的数据");
		String name = scan.next();
		System.out.println(name);
	}
}
		//double类型
		double name = scan.nextDouble();
		//boolean
		boolean name = scan.nextBoolean();
6、获取随机数——Math.random()
class StringTest {
	public static void main(String[] args) {
		//获取一个二位数的随机数
		//[0.0,1.0) ————>[0.0,90.0)————>[10.0,100.0)
		double value = Math.random()*90+10;
		//[10.0,100.0)————>[10,99]
		int v1=(int)value;
		System.out.println("产生的随机数:"+v1);
	}
}
7、switch-case语法

class StringTest {
	public static void main(String[] args) {
		int num = 2;
		switch(num){
		case 0:
			System.out.println("zero");
			break;
		case 1:
			System.out.println("one");
			break;
		case 2:
			System.out.println("two");
			break;
		case 3:
			System.out.println("three");
			break;
		default:
			System.out.println("other");
		
		}
	}
	//结果输出是two
}

8、for循环

语法

class StringTest {
	public static void main(String[] args) {
		for(int i=0;i<=5;i++){
			System.out.println(i);		
		}
		//结果:会依次从0输出到5
	}
}

例题一、

class StringTest {
	public static void main(String[] args) {
		//例题:遍历50以内的偶数,得到所有偶数的和、偶数的个数
		int sum=0;//和
		int count=0;//数量
		for(int i=0;i<=50;i++){
			if(i%2==0){
				System.out.println("偶数:"+i);
				sum+=i;
				count++;
			}		
		}
		System.out.println("50以内的偶数和为:"+sum+" 个数为:"+count);
		//输出结果:50以内的偶数和为:650 个数为:26
	}
}

例题二、

import java.util.Scanner;
class StringTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入第一个正整数");
		int m = sc.nextInt();
		System.out.println("请输入第二个正整数");
		int n = sc.nextInt();
		//获取两个数中的较小值
		int min = (m= 1;i--){
			if(m%i == 0 && n%i == 0){
				System.out.println("最大公约数为:" + i);
				break;
			}
		}
	}
	
}

例题三、

import java.util.Scanner;
class StringTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入第一个正整数");
		int m = sc.nextInt();
		System.out.println("请输入第二个正整数");
		int n = sc.nextInt();
		//获取两个数中的较大值
		int max = (m>n)? m : n;
		for(int i=max;i <= m*n;i++){
			if(i%m == 0 && i%n == 0){
				System.out.println("最大公倍数为:" + i);
				break;
			}
		}
	}
	
}
9、while循环
class whiletest1 {
	public static void main(String[] args) {
		System.out.println("Hello World!");
		//遍历100以内的所有偶数
		int i = 1;
		while(i<=100){
			if(i % 2 == 0){
				System.out.println("偶数:"+i);
			}
			i++;
		}
		System.out.println(i);//101
	}
}

10、do…while循环
class whiletest1 {
	public static void main(String[] args) {
		int num = 1;
		do{
			if(num%2==0){
				System.out.println("偶数:"+num);
			}

			num++;
		}while(num<=100);
		
	}
}

11、循环练习题

例题一:
从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,
输入为0时结束程序

import java.util.Scanner;
class whiletest1 {
	public static void main(String[] args) {
		int count=0;//正数
		int num=0;//负数
		while(true){
			Scanner sc= new Scanner(System.in);
			System.out.println("请输入一个整数:");
			int n = sc.nextInt();
			if(n>0){
				//正数
				count++;
			}else if(n<0){
				//负数
				num++;
			}else{
				System.out.println("输出为0结束程序");
				break;//结束程序
			}

			System.out.println("整数为:"+n);
		}
		System.out.println("正数个数为:"+count);
		System.out.println("负数个数为:"+num);
	}
}

12、嵌套循环 例题一:打印*正方形

输出结果是6*6的正方形

import java.util.Scanner;
class whiletest1 {
	public static void main(String[] args) {
		//输出结果是6*6的正方形*
		for(int j = 1;j<=6;j++){
			for(int i = 1;i<=6;i++){
				System.out.print('*');
			}
		System.out.println();
		}
	}
}

例题二:打印*倒三角

输出倒三角

class whiletest1 {
	public static void main(String[] args) {
		//输出结果是倒三角
		for(int j = 1;j<=6;j++){
			for(int i = 6;i>=j;i--){
				System.out.print('*');
			}
		System.out.println();
		}
	}
}
例题三:打印*正三角

输出正三角

class whiletest2 {
	public static void main(String[] args) {
		//输出结果是正三角
		for(int m = 1;m<=6;m++){
			for(int n = 1;n<=m;n++){
				System.out.print('*');
			}
			System.out.println();
		}

	}
}
例题四:打印菱形的右边半个

输出菱形的右边半个

class whiletest1 {
	public static void main(String[] args) {
		//输出结果是倒三角
		for(int m = 1;m<=6;m++){
			for(int n = 1;n<=m;n++){
				System.out.print('*');
			}
			System.out.println();
		}
		for(int j = 1;j<=5;j++){
			for(int i = 5;i>=j;i--){
				System.out.print('*');
			}
		System.out.println();
		}
	}
}
例题五:打印菱形的上半部分

输出菱形的上半部分

在这里插入代码片class whiletest1 {
	public static void main(String[] args) {
		//上半部分
		for(int i = 0; i < 5;i++){//5层
			//输出"_"
			for(int j = 0;j < 4-i;j++){
				System.out.print(" ");
			}
			//输出"* "
			for(int k = 0;k< i+1;k++){
				System.out.print("* ");
			}
			System.out.println();
		}
	}
}
例题六:打印菱形的下半部分

输出菱形的下半部分

for(int i = 0; i < 4;i++){
			for(int j = 0;j 
例题七:打印完整的菱形 
class whiletest1 {
	public static void main(String[] args) {
		//上半部分
		for(int i = 0; i < 5;i++){//5层
			//输出"_"
			for(int j = 0;j < 4-i;j++){
				System.out.print(" ");
			}
			//输出"* "
			for(int k = 0;k< i+1;k++){
				System.out.print("* ");
			}
			System.out.println();
		}
		System.out.println("*********************");
		//下半部分
		for(int i = 0; i < 4;i++){
			for(int j = 0;j 
例题八:打印九九乘法表 

效果图:

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

例题九:输出100以内的所有质数

100以内的所有质数的输出
质数:素数,只能被1和它本身整除的自然数。
从2开始,到这个数-1结束为止,都不能被这个数本身整除
最小的质数是:2

class test1{
	public static void main(String[] args){
		System.out.println("100以内的质数!");
		boolean flag = true;//表示i是否被j除尽,一旦除尽,修改其值
		for(int i = 2;i <= 100;i++){//遍历100以内的自然数
			for(int j = 2;j<=i-1;j++){//j:被i去除
				if(i%j==0){//i能被j除尽 说明不是质数  
					flag=false;
					break;
				}
			}
			if(flag == true){
				System.out.print(i+" ");
			}
			flag=true;//置为true,让后面的质数继续去遍历
		}

	}
}
13、特殊关键字的使用:break、continue

break 和 continue关键字的使用

	  				适用范围				循环中使用的作用
	break:    	    switch-case			结束当前循环
			 	    循环结构中
	continue:		循环结构中			结束当此循环

	相同点:	关键字后面不能声明执行语句
13.1、break关键字:

class test1{
	public static void main(String[] args){
		System.out.println("break用法");
		for(int i = 1;i <= 10;i++){
			if(i % 4 == 0){
			//直接暂停整个for循环
				break;//输出结果:1 2 3
			}
			System.out.print(i+" ");
		}
	}
}
13.2、continue关键字:

class test1{
	public static void main(String[] args){
		System.out.println("continue用法");
		for(int i = 1;i <= 10;i++){
			if(i % 4 == 0){
			//只是暂停了4和8这一次的循环
				continue;//输出结果:1 2 3 5 6 7 9 10
			}
			System.out.print(i+" ");
		}
	}
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4670636.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-06
下一篇2022-11-06

发表评论

登录后才能评论

评论列表(0条)

    保存