1运算符
①已知一元二次方程为:3x2=5x-1,求x的解。
注:sqrt(求平方根)、cos、sin等函数包含在Math中。具体函数用法查Java API。
示例:double result = Math.cos(Math.PI);//弧度制,等同于cos(180度)
public class Main {
public static void main(String[] args) {
// 1. 已知一元二次方程为:3x^2=5x-1,求x的解。
//注:sqrt(求平方根)、cos、sin等函数包含在Math中。具体函数用法查Java API。
//示例:double result = Math.cos(Math.PI);//弧度制,等同于cos(180度)
//求解一元二次方程用求根公式,一元二次方程的ax^2+bx+c=0
//所以次题是 3x^2-5^x+1=0,a=3,b=-5,c=1
//注意sqrt输出是double类型的
int a =3,b=-5,c=1;
double delta = b*b-4*a*c;
double x1 = (-b+Math.sqrt(delta))/2*a;
double x2 = (-b-Math.sqrt(delta))/2*a;
if(delta==0){
System.out.println("此方程有两个相同的解");
System.out.println("x1=x2="+x1);
}
else if (delta>0){
System.out.println("此方程有两个解");
System.out.println("x1="+ x1);
System.out.println("x2="+ x2);
}
else{
System.out.println("此方程无解");
}
}
}
②已知三角形的底和高,求出三角形的面积。
public class Main {
public static void main(String[] args) {
// 2. 已知三角形的底和高,求出三角形的面积。
Scanner sc = new Scanner(System.in);
System.out.println("请输入三角形的底");
double w = sc.nextDouble() ;
System.out.println("请输入三角形的高");
double h = sc.nextDouble() ;
double s = w*h/2;
System.out.println("面积位"+s);
}
}
③已知三角形的三边长,求出三角形的面积。(请自行查阅余弦定理)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 4. 已知三角形的三边长,求出三角形的面积。(请自行查阅余弦定理)
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();
if(a>(b+c)||(b>(a+c)||(c>a+b))){
System.out.println("这三条边不能构成三角形");
return;
}
//海伦公式
int p = (a+b+c)/2;
int area=p*(p-a)*(p-b)*(p-c);
area = (int)Math.sqrt(area);
System.out.println("面积位"+area);
}
}
2.问号操作符
①1. 用问号运算符完成下列功能,判断学生成绩的档次:
如果成绩为100分,输出“满分!”。
如果成绩大于等于85,小于100分,输出“该生成绩优秀!”。
如果成绩小于85,大于等于75输出“该生成绩良好!”。
如果成绩小于75,大于等于60,,输出“该生成绩及格!”。
如果成绩小于60,输出“该生成绩不及格!”。
如果成绩小于0分,输出“成绩输入错误!”。
public class Main {
public static void main(String[] args) {
// 问号操作符
// 1.用问号运算符完成下列功能,判断学生成绩的档次:
//如果成绩为100分,输出“满分!”。
//如果成绩大于等于85,小于100分,输出“该生成绩优秀!”。
//如果成绩小于85,大于等于75输出“该生成绩良好!”。
//如果成绩小于75,大于等于60,,输出“该生成绩及格!”。
//如果成绩小于60,输出“该生成绩不及格!”。
//如果成绩小于0分,输出“成绩输入错误!”
Scanner sc = new Scanner(System.in);
System.out.println("请输入成绩");
int a = sc.nextInt();
String s = new String();
s=(a==100?"满分":(a>=85?"优秀":(a>=75?"良好":(a>=60?"及格":(a<0?"错误":"不及格")))));
System.out.println(s);
}
}
② 从控制台输入4个变量:a、b、c、d,求最大值。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 2. 从控制台输入4个变量:a、b、c、d,求最大值。
Scanner sc = new Scanner(System.in);
System.out.println("请根据提示输入四个要比较的数字");
System.out.println("请输入第一个数字");
int a = sc.nextInt();
System.out.println("请输入第二个数字");
int b = sc.nextInt();
System.out.println("请输入第三个数字");
int c = sc.nextInt();
System.out.println("请输入第四个数字");
int d = sc.nextInt();
int max = ((a>b?a:b)>c?(a>b?a:b):c)>d?((a>b?a:b)>c?(a>b?a:b):c):d;
System.out.println("最大的数是"+max);
}
}
3.运算符的优先级
①计算 a^b << 2的值。
public class Main {
public static void main(String[] args) {
// 计算 a^b << 2的值。
int a = 3 ;//0011
int b = 2;
System.out.println(a^b<<2);//(9)1001->1100:(11)
}
}
②计算a+=a*=a/=a-6的值。
public class Main {
public static void main(String[] args) {
// 计算a+=a*=a/=a-6的值。
int a = 2;
System.out.println(a+=a*=a/a-6);
//-=、+=、*=、/=从右往左计算
//先算a/a=1,a-6=-5,a*-5=-10,a+=-10 得出结果为-8
}
}
4.if语句
①编写程序,从键盘上输入3个线段的长度(int整型),检查这三条线段能否构成一个三角形。然后将结果输出。“能够成一个三角形”“不能构成一个三角形”。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 编写程序,从键盘上输入3个线段的长度(int整型),
// 检查这三条线段能否构成一个三角形。然后将结果输出。
// “能够成一个三角形”“不能构成一个三角形”。
Scanner sc = new Scanner(System.in);
System.out.println("请按照提示输入三条线段的长度");
System.out.println("请输入第一条线段长度");
int a = sc.nextInt();
System.out.println("请输入第二条线段长度");
int b = sc.nextInt();
System.out.println("请输入第三条线段长度");
int c = sc.nextInt();
if(a>(b+c)||c>(a+b)||b>(a+c)){
System.out.println("不能构成三角形");
}
else{
System.out.println("可以构成三角形");
}
}
}
②从键盘输入三个整数,将这三个数按从大到小的顺序打印出来。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 从键盘输入三个整数,将这三个数按从大到小的顺序打印出来。。
Scanner sc = new Scanner(System.in);
System.out.println("请按照提示输入三个整数");
System.out.println("请输入第一个整数");
int a = sc.nextInt();
System.out.println("请输入第二个整数");
int b = sc.nextInt();
System.out.println("请输入第三个整数");
int c = sc.nextInt();
if(a>b){
if(b>c){
System.out.println(a+">"+b+">"+c);
}
else if(a>c){
System.out.println(a+">"+c+">"+b);
}
else{
System.out.println(c+">"+a+">"+b);
}
}
//b>a
else{
if(a>c){
System.out.println(b+">"+a+">"+c);
}
else if(b>c){
System.out.println(b+">"+c+">"+a);
}
else{
System.out.println(c+">"+b+">"+a);
}
}
}
}
③从键盘输入一个整数,判断这个数是奇数还是偶数。
public class Main {
public static void main(String[] args) {
// 从键盘输入三个整数,将这三个数按从大到小的顺序打印出来。。
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
int a = sc.nextInt();
if(a%2==0){
System.out.println("偶数");
}
else{System.out.println("奇数");}
}
}
5.switch语句
①从键盘输入三个数,放入a、b、c。再从键盘输入1个数放入i(i的值为1-5)。
用switch实现:
i为1时,进行三个数求和运算,并输出结果。
i为2时,进行三个数求积运算,并输出结果。
i为3时,求(a+b)c,并输出结果。
i为4时,求(a+b)(a-c),并输出结果。
i为5时,判断a、b、c能否构成一个三角形,并输出判断结果。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 从键盘输入三个数,放入a、b、c。再从键盘输入1个数放入i(i的值为1-5)。
//用switch实现:
//i为1时,进行三个数求和运算,并输出结果。
//i为2时,进行三个数求积运算,并输出结果。
//i为3时,求(a+b)*c,并输出结果。
//i为4时,求(a+b)*(a-c),并输出结果。
//i为5时,判断a、b、c能否构成一个三角形,并输出判断结果。
Scanner sc = new Scanner(System.in);
System.out.println("请按照提示输入三个整数");
System.out.println("请输入第一个整数");
int a = sc.nextInt();
System.out.println("请输入第二个整数");
int b = sc.nextInt();
System.out.println("请输入第三个整数");
int c = sc.nextInt();
System.out.println("请输入要做的操作序号:1求和、2求积、3(a+b)*c、4(a+b)*(a-c)、5判断能否构成三角形");
int i = sc.nextInt();
switch (i){
case 1:
System.out.println(a+b+c);
case 2:
System.out.println(a*b*c);
case 3:
System.out.println((a+b)*c);
case 4:
System.out.println((a+b)*(a-c));
case 5:
System.out.println(((a>(b+c))||(b>(a+c))||(c>(a+b)))?"不能构成三角形":"能构成三角形");
}
}
}