Java HelloWorld与数据运算
2019-07-21 本文已影响0人
发家致富靠养猪
public class HelloWorld { // java固定格式,public--公开 , class--类 ,HelloWorld--类名
/* 所有内容写在这里面 */
int x=500; //全局变量
/* Java入口程序规定的方法必须是静态方法,方法名必须为main,括号内的参数必须是String数组。*/
public static void main(String[] args) { //定义方法 static--静态,void--返回值是void,表示无返回值,main--方法名称
System.out.println("Hello, world!"); // Hello, world!
System.out.println(62); //62
int x=11; // 局部变量
byte qq = 1; // 字节类型 占一个字节 -128~127
short qw = 32767; // 短整型类型 占2个字节 -32768~32767
long qe = 300L; // 长整型类型 占8个字节
System.out.println(x*11);
int n=100; // 整型 4个字节 -2147483648~2147483647
System.out.println("n = " + n);
float q=16.44f; // 浮点型 4个字节
double q2 = 4.9e-324; // 双精度 8个字节 取值范围更大
System.out.println(q+q2);
char a = 'A'; // 字符型 一个字符占用2个字节
boolean bool=true; //布尔类型 占用字节不确定
char zh = '中';
System.out.println("中国");
System.out.print("dashj\n");
System.out.print("dassadaas");
final double pi=3.14;
double r = 5.00;
double area = pi * r * r; // 78.5
System.out.println(area);
String sb = new String();
VariableOperation(); //调用其他方法
Operation();
Float();
};
public static void VariableOperation(){
/*Java的整数运算遵循四则运算规则,可以使用任意嵌套的小括号。四则运算规则和初等数学一致。*/
int x = (66-33)*10;
int y = 7 * (5 + (x - 60));
System.out.println(x);
System.out.println(y);
int z = 12345 / 12; //1028 两个整数相除只能得到结果的整数部分
System.out.println(z);
int q = 12345 % 12; // 9 取余
System.out.println(q);
/*特别注意,整数由于存在范围限制,如果计算结果超出了范围,就会产生溢出,而溢出不会出错,却会得到一个奇怪的结果 */
int w = 2147483640;
int e = 15;
int sum = w + e; // -2147483641
System.out.println(sum);
/*
要解释上述结果,我们把整数2147483640和15换成二进制做加法:
0111 1111 1111 1111 1111 1111 1000
+ 0000 0000 0000 0000 0000 0000 1111
------------------------------------
1000 0000 0000 0000 0000 0000 0111
由于最高位计算结果为1,因此,加法结果变成了一个负数。
要解决上面的问题,可以把int换成long类型,由于long可表示的整型范围更大,所以结果就不会溢出
* */
};
public static void Operation(){
/*计算前N个自然数的和,可以根据公式((1+N)×N)/2 计算*/
int n = 100;
int sum = ((1 + n) * n) / 2;
System.out.println(sum == 5050 ? "成功" : "失败"); // 成功
}
public static void Float(){
double x = 1.0 / 10;
double y = 1 - 9.0 / 10;
// 观察x和y是否相等:
System.out.println(x); //0.1
System.out.println(y); //0.09999999999999998
// 比较x和y是否相等,先计算其差的绝对值:
double r = Math.abs(x - y);
// 再判断绝对值是否足够小:
if (r < 0.00001) {
// 可以认为相等
System.out.println("x = y");
} else {
// 不相等
System.out.println("x != y");
}
/*根据一元二次方程ax^2+bx+c=0的求根公式
* x=[-b±√(b²-4ac)]/(2a)
*计算出一元二次方程的两个解
* */
double a = 1.0;
double b = 3.0;
double c = -4.0;
// 求平方根可用 Math.sqrt():
if ((b*b -4*a*c)<0){
System.out.println("该函数无实根");
}
else if ((b*b -4*a*c)==0){
double r1,r2 = (-b)/(a*a);
System.out.println("该函数有两个相等的实根");
}
else {
double r1 = (-b+Math.sqrt((b*b-4*a*c)))/(2*a);//1.0
double r2 = (-b-Math.sqrt((b*b-4*a*c)))/(2*a);//-4.0
System.out.println(r1 == 1 && r2 == -4 ? "成功" : "失败"); //成功
}
}
}