Java常用运算的一些实践

数据类型和常用运算#

  • 基本语言元素

    • 关键字:程序中有特殊含义和通途的单词

    • 标识符:给变量、方法、类等起的名字

      • 字母、数字、下划线和$,数字不能开头
      • 大小写敏感(区分大小写)
      • 不能跟关键字相同,不能包含特殊字符
      • 见名知意,驼峰标识
    • 运算符:指定某种运算的特殊符号

      • 算术运算符:+、-、*、/、%
      • 赋值运算符:=、+=、-=、*=、/=、%=、……
      • 关系运算符:>、<、>=、<=、==、!=
      • 短路运算符:&&、||
      • 条件运算符:? :
      • 自增自减运算符:++、--
      • 类型转换运算符:()
      • 其他运算符:逻辑运算符、位运算符、移位运算符、下标运算符、成员运算符等
    • 字面量:程序中不变的部分

      • 引用型字面量:null
      • 布尔型字面量:true和false
      • 字符型字面量:‘q’,‘\n’,‘\t’,‘\ddd’[*]
      • 整型字面量:29,035,0x1d
      • 实型字面量:3.14,.25e2,5.5f
      • 字符串字面量:“Hello, world”
      • 类字面量:String.class,int.class
    • 分隔符:空格、花括号、方括号、圆括号、分号、逗号、冒号等

  • 数据类型

    • 基本类型(primitive type)

      • 整型:byte、short、int、long
      • 实型:float、double
      • 布尔型:boolean
      • 字符型:char
    • 枚举类型(enumeration type):用于定义符号常量。

    • 引用类型(reference type):除了基本数据类型和枚举类型,剩下的类型都是引用类型。

  • 变量和常量

    • 变量:计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量存储的值通常是可变的,因此称之为变量。
    • 常量:在程序运行时,不会被修改的量。Java中可以使用final关键字定义常量。

输入一个年份,判断是不是闰年。


import java.util.Scanner;

public class Year {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("输入年份:");
		int year=sc.nextInt();
		if ((year %4 ==0 && year %100 !=0) || year %400 ==0 )
		{
			System.out.println(year + "是闰年");
		}
		else {
			System.out.println(year + "不是闰年");
			sc.close();
		}
		}
	}

输入圆的半径,计算圆的周长和面积。


import java.util.Scanner;

public class Cl {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("输入圆的半径:");
		final double π=3.14;
		double r=sc.nextDouble();
		double s=π*r*r;
		double c=2*π*r;
		System.out.println("圆的面积是:"+s);
		System.out.println("圆的周长是:"+c);
		sc.close();
		
	}
}


分段函数求值。
$$
f(x)=\begin{cases}
3x+5 & \text (x \lt -1) \
x-1 & \text (-1 \le x \le 1) \
5x-3 & \text (x \gt 1)
\end{cases}
$$


import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("输入数字");
		double x=sc.nextDouble();
		double y;
		if (x<-1) {
		 y=3*x+5;
		}
		else if (x<=1) {
		 y=x-1;		
		}
		else {
		 y=5*x-3; 
		}
		sc.close();
		System.out.println("y="+y);
	}
}


个人所得税计算。在我国,个人所得税的起征点是3500元,计算公式是:
个人所得税 = (工资收入 - 五险一金 - 个税起征点) * 税率 - 速算扣除数
其中,税率和速算扣除数可以查下表得到:

级数 含税级距 税率 速算扣除数
1 不超过1500元的 3 0
2 超过1500元至4500元的部分 10 105
3 超过4500元至9000元的部分 20 555
4 超过9000元至35000元的部分 25 1005
5 超过35000元至55000元的部分 30 2755
6 超过55000元至80000元的部分 35 5505
7 超过80000元的部分 45 13505
import java.util.Scanner;

public class Money {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("输入你工资");
		double a=sc.nextDouble();  //输入的工资数;
		double b=a-a*0.08-3500; //扣除五险一金和个税起征点后的值;
		double c;    //指个人所得税
		double  d;  //指税率
		double e;   //指速算扣除数
		if (b<=0) {
			d=0; e=0;
		}
		else if (b<=1500) {
				d=0.03;e=0;
			}
		else if (b<=4500) {
			d=0.1;e=105;
		}
		else if (b<=9000) {
			d=0.2;e=555;	
			}
		else if (b<=35000) {
			d=0.25;e=1005;
		}
		else if (b<=55000) {
			d=0.3;e=2755;
		}
		else if (b<=80000) {
			d=0.35;e=5505;
		}
		else {
			d=0.45;e=13505;
		}	
			
		 c= b*d-e;
		System.out.println(c);
		//System.out.printf("需要缴纳的个人所得税: ¥%.2f元\n", c);	老师对结果的格式话
		sc.close();
	}
	
}

输入一个百分制的成绩,将其转换成对应的等级,规则如下表所示:

成绩 等级
90-100 A
80-89 B
60-79 C
<60 D
import java.util.Scanner;

public class ZhuanHuan {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("输入成绩;");
		double a=sc.nextDouble();
		if (a<60 && a>=0) {
			System.out.println("D");
		}
		else if (a<80) {
			System.out.println("C");
		}
		else if (a<90) {
			System.out.println("B");
		}
		else if (a<=100) {
			System.out.println("A");
		}
		else {
			System.out.println("检查是否输错");
		}
		sc.close();
	}
}



输入成绩等级输出对应的评语,规则如下表所示:

成绩等级 评语
A 该生成绩优异,学习踏实认真
B 该生积极上进,学习态度较好
C 该生学习努力,成绩有待提高
D 该生成绩稳定,动手能力很强

import java.util.Scanner;

public class ShuPingYu {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("输入等级:");
		char r=sc.next().charAt(0);
		switch(r){
		case 'a':
		case 'A':
			System.out.println("该生成绩优异,学习踏实认真");
			break;
		case 'b':
		case 'B':
			System.out.println("该生积极上进,学习态度较好");
			break;
		case 'c':
		case 'C':
			System.out.println("该生学习努力,成绩有待提高");
			break;
		case 'd':
		case 'D':
			System.out.println("该生成绩稳定,动手能力很强");
			break;
		default:
			System.out.println("小子,不要乱输");
		}
		
		
		sc.close();
	}
}

将一颗色子掷60000次,统计每一面出现的次数。

public abstract class TongJi {
	public static void main(String[] args) {
		int f1=0,f2=0,f3=0,f4=0,f5=0,f6=0;
		for (int i=1;i<=60000;i++){
		int a=(int)(Math.random()*6+1);	
		switch(a) {
		case 1: f1++; break;
		case 2: f2++; break;
		case 3: f3++; break;
		case 4: f4++; break;
		case 5: f5++; break;
		case 6: f6++; break;
		}
		}
	System.out.println("输出点数1的次数:"+f1);
	System.out.println("输出点数2的次数:"+f2);
	System.out.println("输出点数3的次数:"+f3);
	System.out.println("输出点数4的次数:"+f4);
	System.out.println("输出点数5的次数:"+f5);
	System.out.println("输出点数6的次数:"+f6);
	
	}
}

posted @ 2015-04-23 20:10  乜天  阅读(149)  评论(0编辑  收藏  举报