java基础 程序练习题(1)

java 基础程序练习题

1.新建Java工程/项目

dianji
在这里插入图片描述

2.第一个Java程序

package day01;

public class lianxi {
    public static void main(String[] str) {
        System.out.println("hallo world!");
    }	
}

3.字符串相加输出

package day01;

public class lianxi {
public static void main(String[] str) {
	System.out.println("你"+"好");
	System.out.println("你好"+5+5);
	System.out.println(5+5+"你好"+5+5);
	System.out.println(5+5+"你好"+(5+5));
	System.out.println(0x100);//十六进制
	System.out.println(0100);//八进制
	System.out.println(0b1111);//二进制
	System.out.println(false);
	System.out.println(true);
}	
}

输出:

你好
你好55
10你好55
10你好10
256
64
15
false
true

4.数据类型转换

package day01;

public class lianxi {
public static void main(String[] args) {
	
	int b=2;
	int c=17;
	byte a=(byte)(b+c);
	System.out.println(a);
	 
	float x=17.7f;
	float y=34.87f;
	double z=x+y;
	String str = String.format("%.2f", z);//保留2位小数
	System.out.println(str);
}
}

5.演示ASCII码

package day01;

public class lianxi {
public static void main(String[] args) {
	char a='a';//a的ASCII码中对应的十进制数是97
	int b=a+1;
	System.out.println(b);
	char c='0';//这的‘0’不是数字0,char型的字符‘0’在ASCII对应的十进制是48.
	System.out.println(c);
	System.out.println(c+1);
}
}

输出:98
0
49

6.从键盘输入一个四位数,将该数字反转输出,再与原数相加后输出

package day01;

import java.util.Scanner;

public class hallo{
	public static void main(String[] st){
		Scanner s=new Scanner(System.in);
		int x=s.nextInt();
		int a=x/1000;  //取出X的千位
		int b=x/100%10;  //取出X的百位
		int c=x/10%10;   //取出X的十位
		int d=x%10;   //取出X的个位
		int y=d*1000+c*100+b*10+a;
        system.out.println("翻转以后的数为:")
        system.out.println(""+d+c+b+a);
        system.out.println("翻转以后的数与原来的数之和为:")
		System.out.println(y+x);
		
	}
}

7.&&(短路与)与||(短路或)的应用

package day01;

import java.util.Scanner;

public class hallo{
	public static void main(String[] st){
		int a=10;
		boolean b= a>100 && ++a>0; //因为a>100为假,所以++a就不会被执行,a的结果还是10
		boolean c= a<100 || ++a>0;  //因为a<100为真,所以++a就不会被执行,a的结果还是10
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		
	}
}

结果:10
false
true

8.三元运算符的应用 ( 数据类型 变量名 = 布尔类型表达式?值1:值2)

例题:获取三个数的最大值

package day01;


public class hallo{
	public static void main(String[] st){
		int a=1;
		int b=2;
		int c=3;
		int x=a>b?(a>c?a:c):(b>c?b:c);
		System.out.println("最大值为"+x);
	}
}

输出:最大值为3

9.交换两个变量的值

法一:

package day01;


public class hallo{
	public static void main(String[] st){
		int a=1;
		int b=2;
		int c;
		c=a;
		a=b;
		b=c;
		System.out.println(a);
		System.out.println(b);
	}
}

法二:

package day01;


public class hallo{
	public static void main(String[] st){
		int a=1;
		int b=2;
		a=a+b;
		b=a-b;
		a=a-b;
		System.out.println(a);
		System.out.println(b);
	}
}

法三:

package day01;


public class hallo{
	public static void main(String[] st){
		int a=1;
		int b=2;
	a=(a+b)-(b=a);
		System.out.println(a);
		System.out.println(b);
	}
}

法四:^ :逻辑运算符 异或(相同为假,不同为真)

package day01;


public class hallo{
	public static void main(String[] st){
		int a=1;
		int b=2;
		a=a^b;
		b=a^b;
		a=a^b;//比较二进制,如果相同则为0,不相同则为1。
		System.out.println(a);
		System.out.println(b);
	}
}

10.键盘录入Scanner类

10.1使用步骤:

1.定义变量,并相应类型的对象赋值给变量:

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

如:Scanner scanner = new Scanner(System.in);

2.导包:(快捷键:Ctrl+1)

使用import导包,告诉JVM从哪里去找Scanner类

3.调用Scanner对象方法:(快捷键Ctrl+1或Ctrl+shift+1)

变量名.方法名();

10.2例题

package day01;

import java.util.Scanner;

public class hallo{
	public static void main(String[] st){
		Scanner a = new Scanner(System.in);
		System.out.println("请输入您的体重(kg)");
		double weight=a.nextDouble();
		System.out.println("请输入您的身高(m)");
		double hight=a.nextDouble();
		double BMI=weight/(hight*hight);
		System.out.println("您的体质指数BMI为"+BMI);
	String m= BMI<=23.9&BMI>=18.5?"体质指标正常":"体质指标不正常";
	System.out.println(m);
	}
}

输出:请输入您的体重(kg)
65
请输入您的身高(m)
1.65
您的体质指数BMI为23.875114784205696
体质指标正常

10.3next()与nextLine的区别

在这里插入图片描述

11.if循环的练习

package day03;

import java.util.Scanner;

public class lianxi02 {
	public static void main(String[] agr) {
		Scanner s = new Scanner(System.in);
		int a = s.nextInt();
		if (a == 1) {
			System.out.println("今天是星期一");
		} else if (a == 2) {
			System.out.println("今天是星期二");
		} else if (a == 3) {
			System.out.println("今天是星期三");
		} else if (a == 4) {
			System.out.println("今天是星期四");
		} else if (a == 5) {
			System.out.println("今天是星期五");
		} else if (a == 6) {
			System.out.println("今天是星期六");
		} else if (a == 7) {
			System.out.println("今天是星期天");
		} else {
			System.out.println("时间不合理");
		}

	}
}

输入:4

输出:今天是星期四

12. 根据用户输入的不同成绩(0~100),给出相应的提示:优秀,良好,及格,不及格(if…else)

package day03;

import java.util.Scanner;

//根据用户输入的不同成绩(0~100),给出相应的提示:优秀,良好,及格,不及格
//100-90为优秀  89-80为良好    79-60 为及格    <60为不及格
public class lianxi04 {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int cj=s.nextInt();
		if( cj<=100 && cj>=90) {
			System.out.println("优秀");}
			else if( cj<=89 && cj>=80) {
				System.out.println("良好");}
				else if( cj<=79 && cj>=60) {
					System.out.println("及格");}
					else if( cj<=60) {
						System.out.println("不及格");
		                       }
					else {
					System.out.println("成绩输入格式不正确");	
					}
	}
}

13.闰年的判断(if…else)

package day03;

import java.util.Scanner;

/**
 * 闰年的判断。
 *
 *
*/
public class lianxi05 {

	public static void main(String[] args) {
	Scanner s = new Scanner(System.in);
	int year=s.nextInt();
	if((year%4==0&&year%100!=0)||(year%400==0)) {
		System.out.println("这是一个闰年");
	}else {
		System.out.println("这不是一个闰年");
	}
	}
}

14.水仙花数的判断(if…else)

package day03;

import java.util.Scanner;

/*水仙花数的判断
 * 说明:所谓的水仙花数是指一个三位数,其各个位数字的立方和等于该数本身。
举例:153就是一个水仙花数。 153 = 1*1*1 + 5*5*5 + 3*3*3
*/
public class lianxi06 {

	public static void main(String[] age) {
		Scanner s = new Scanner(System.in);
		int num=s.nextInt();
		if(num>=100  &&  num<=999) {
		int a=num/100;
		int b=num/10%10;
		int c=num%10;
		if(num==a*a*a+b*b*b+c*c*c) {
			System.out.println("这个数是水仙花数");
		}
		else{System.out.println("这个数不是水仙花数");
		}
		}
	}
}

15.求1~10的和(for)

package day03;

public class lianxi07 {
public static void main(String[] agr) {
	
	int sum=1;
	for(int x=1;x<=10;x++) {
		sum*=x;
	}
	System.out.println(sum);
}
}

16.求出100----1000之间的水仙花数(for)

package day03;
// 求出100----1000之间的水仙花数
public class lianxi08 {

	public static void main(String[] args) {
		 
		for(int x=100;x<1000;x++) {
			int a=x/100;
			int b=x/10%10;
			int c=x%10;
			if(x==a*a*a+b*b*b+c*c*c) {
				System.out.println(x);
			}
		}
	}

}

17.输出1到100之间能被3整除的数(for)

package day03;
/*
 * 输出1到100之间能被3整除的数
 * 思路:
 * 1 产生 1到100之间的整数
 * 2 判断这个数能否被3整除
 * */
public class lianxi09 {
public static void main(String[] age) {
	
	for(int i=1;i<=100;i++) {
		if(i%3==0) {
			System.out.println(i);
		}
	}
}
}

18.打印1到100中非4的倍数的数字(continue)

package day03;

// 打印1到100中非4的倍数的数字(使用continue)
public class lianxi14 {

	public static void main(String[] args) {

		for(int i=1;i<=100;i++) {
			if(i%4==0)continue;
			System.out.println(i);
		}
	}

}

19.输出 1 到 100 之间能被 3 整除的前 5个数(for)

package day03;

// 2.输出 1 到 100 之间能被 3 整除的前 5个数

public class lianxi11 {

	public static void main(String[] args) {

		int count=0;
		for(int i=1;i<100;i++) {
			if(i%3==0) {
				System.out.println(i);
				count++;
			}
			if( count==5)break;
		}
	}

}

20.打印1到10,遇到4的倍数程序自动退出 (for)

package day03;

/*打印1到10,遇到4的倍数程序自动退出
*/
public class lianxi12 {
	public static void main(String[] args) {

		for (int i = 1; i <= 10; i++) {
			if (i % 4 == 0) {
				break;
			}
			System.out.println(i);
		}
	}
}

21.打印1到10中的偶数(使用continue)

package day03;

// 打印1到10中的偶数(使用continue)
public class lianxi13 {

	public static void main(String[] args) {

		for(int i=1;i<=10;i++) {
			if(i%2==1) {
				continue;
			}
			System.out.println(i);
		}
	}

}

22.打印1到100中非4的倍数的数字(使用continue)

package day03;

// 打印1到100中非4的倍数的数字(使用continue)
public class lianxi14 {

	public static void main(String[] args) {

		for(int i=1;i<=100;i++) {
			if(i%4==0)continue;
			System.out.println(i);
		}
	}

}

23.找出n这个数以内的所有素数。(for)

package day03;

import java.util.Scanner;

//找出n这个数以内的所有素数。
/*说明:素数是只能被1和它本身整除的数,1不是素数。
*/
public class lianxi15 {

	public static void main(String[] args) {
	Scanner s = new Scanner(System.in);
	int n=s.nextInt();
		for(int i=2;i<=n;i++) {
	for(int x=2;x<=i;x++) {
		if(i%x==0) {
			if(i==x) {
				System.out.println(i);
			}else {break;}
		}
	}
		}
		}

	}

24.鸡兔同笼问题(for)

package day03;


/**
 * @author TaoTianye
 *鸡兔同笼问题:50个头,120个脚    多少鸡? 多少兔?
 */
public class lianxi16 {

	public static void main(String[] args) {
	for ( int a=1;a<=50;a++) {
		int b= 50-a;
		if(2*a+4*b==120) {
			System.out.println("鸡的数量为:"+a);
			System.out.println("兔的数量为:"+b);
			break;
		}
	}
	}	
	}

25.输入两个数,找出最大公约数(for)

package day03;

import java.util.Scanner;

/**
 * @author TaoTianye
 *
 *输入两个数,找出最大公约数
 *(最大公约数是指能够同时整除x与y的最大整数)
 */
public class lianxi17 {

public static void main(String[] args) {
	Scanner s = new Scanner(System.in);
	int x=s.nextInt();
	int y=s.nextInt();
	int min= x<y?x:y;
	for(int a=min;a>0;a--) {
		if(x%a==y%a) {
			System.out.println("最大公约数为:"+a);
			break;
		}
	}
	
}
}

26.输入两个数,找出最大公倍数

package day03;

import java.util.Scanner;

/**
 * @author TaoTianye
 *
 *输入两个数,找出最大公倍数
 *(最大公倍数是指能够同时被x与y整除的最大整数)
 */
public class lianxi17 {

public static void main(String[] args) {
	Scanner s = new Scanner(System.in);
	int x=s.nextInt();
	int y=s.nextInt();
	int min= x>y?x:y;
	for(int a=min;a>0;a--) {
		if(a%x==a%y) {
			System.out.println("最大公倍数为:"+a);
			break;
		}
	}
	}
}

输入:12
2
输出:最大公倍数为:12

27.输出1到100之间能被3整除的前5个数(while)

package day05;

/**
 * @author TaoTianye 
 * 输出1到100之间能被3整除的前5个数(while)
 */
public class lianxi01 {
	public static void main(String[] args) {
		int a = 1;
		int b=0;
		while (a <= 100) {
			if(a%3==0) {
				System.out.println(a);
				b++;
			}
			a++;
			if(b==5) {
				break;
			}
		}
	}
}
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值