后端零+宁泽嵘🐕
Java 是一种面向对象的编程语言
-
除了注释,程序的其余部分是一个类(class)的定义。
-
所有的Java程序都有一个main方法,程序的执行由main方法开始。main方法中包含的语句按照顺序一条条地执行,直到这个方法结束为止。
-
注释的几种形式
//第一种//
/*第二种*/
还有吗?
数据与表达式
- println 方法定义在 System.out 对象中(对象名称是 out ,保存在 System类中),该对象属于 Java标准类库。
- println 与 print 方法的差别:println 方法会将发送给他的信息输出,然后将光标移到下一行的开始处。
转义序列
转义序列 | 意义 |
---|---|
\b | 退格符 |
\t | 制表符 |
\r | 换行符 |
\n | 回车符 |
\" | 双引号 |
\' | 单引号 |
\\ | 反斜线 |
变量(variable)
变量代表保存数据的内存单元,变量名是内存单元的符号地址。
变量如果没初始化,则该变量的值就是未定义的。
新数据替代老数据。
常量(final + 数据类型)
final int MAX_OCCUPANCY = 427;
(语法什么的好像和C++差不多)
我擦来不及了那我就直接把实验课作业粘上吧
- 十进制数转八进制
import java.util.Scanner;
public class zhuanhua {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int num,lef;
int shu = 0,i = 1;
num = scan.nextInt();
for (; num>0; )
{lef = num % 8;num/= 8;
shu = shu + lef*i;
i*= 10;}
System.out.println(shu);
}
}
我回想了一下这个解决问题的过程:
首先弄清楚问题的本质和逻辑(不就是除8取余然后每一步得到的余数倒序排列嘛),
然后代码实现的过程就是一步步来呗(上面这个就声明几个变量再用循环),
最后调试一下,必要时输出每一步的结果,看看哪里需要调整,或者看看有没有更优的算法...
好歹终于能搞点有用的东西了...
- 还有个解二次方程
public class jiefangcheng2 {
public static void main(String args[]){
Scanner scan = new Scanner();
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();
if(b*b-4*a*c>0) double_root(a,b,c);
if(b*b-4*a*c==0) single_root(a,b,c);
if(b*b-4*a*c<0) complex_root(a,b,c);
}
public static void double_root(int a,int b, int c){
double x1,x2;
x1 = (-b+Math.sqrt(b*b-4*a*c))/(2*a);
x2 = (-b-Math.sqrt(b*b-4*a*c))/(2*a);
System.out.print("x1 = "+x1+" "+"x2 = "+x2);
}
public static void single_root(int a,int b,int c){
double x;
x = -b/(2*a);
System.out.print("x = "+x);
}
public static void complex_root(int a,int b,int c){
double real = -b/(2*a);
double image = Math.sqrt(-(b*b-4*a*c))/(2*a);
System.out.print("x1 = "+real+"+");
System.out.print("%.3f",image);
System.out.print("i x2 = "+real+"-");
System.out.print("%.3f",image);
}
}
不知道为啥运行不了啊啊啊而且过了提交期限...
orz orz orz orz orz